Canon EOS M

Started by jordancolburn, December 30, 2013, 10:21:20 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

ArcziPL

Hi, just doing first steps ever with video recording using EOS M and magiclantern-crop_rec_4k.2018Jul04.EOSM202.zip from official experimental builds.

I load:
- sd_uhs (my custom build, fixed to 160MHz, D1 D1, found to work best with my SD card)
- mlv_lite
- mlv_snd
- dual_iso
- ettr

Recording videos using Manual Exposure mode, 5x zoom, RAW 1920x1080, FPS override to 25fps, preview: framing

In Canon menu selected: 1920/25, Servo AF in videos: off, AF on half-shutter during recording: on/off (tried both)

Have noticed a problem with AF:

After starting recording in 5x zoom with ML overlays the focusing on half-shutter stops working. I doesn't work even after stopping the recording. Preview changes to 5x, full color for the time when I hold half-shutter but if does not focus. To use AF I need to: click INFO to exit ML overlays and have magnifier icon visible, unzoom completely. Then it works until I press INFO again to enable ML overlays and start recording.

There is also an unexpected behaviour with the exposure time. To change exposure parameters I close ML overlays and enable the Canon overlays using INFO (otherwise I don't see which parameter is actually selected). Exposure time box shows 1/50s and is not modifiable. If I change the value it reverts to 1/50s immediately afterwards. But it seems, that the recording was not made with 1/50s but rather 1/38s, which was also the time shown in ML overlays. But as I now see, this can be adjusted in ML menu. Actually not to exactly 1/50s but 1/53s which is close enough. Also ISO setting is there and I believe the ML histogram shows the exposure which will be really applied during recording. Is this, how you work at the moment or is there a simpler way to set everything up?
M50.110 [main cam] | G7X III [pocket cam] | 70D.112 [gathers dust] | M.202 [gathers dust] | waiting for M5II

a1ex

Quote from: ArcziPL on July 08, 2018, 12:01:31 AM
After starting recording in 5x zoom with ML overlays the focusing on half-shutter stops working. I doesn't work even after stopping the recording. Preview changes to 5x, full color for the time when I hold half-shutter but if does not focus. To use AF I need to: click INFO to exit ML overlays and have magnifier icon visible, unzoom completely. Then it works until I press INFO again to enable ML overlays and start recording.

This is unexpected. Questions:
- do you need to start recording in order to break the AF, or it's enough to enable the overlays?
- if yes (you need to start recording): can you get a screenshot with all EDMAC channels (edmac.mo) in x5, before and after AF?
- if no (enabling overlays is enough to break AF): can you narrow down to some particular overlay?

Possibly related: issue #2254

Quote from: ArcziPL on July 08, 2018, 12:01:31 AMExposure time box shows 1/50s and is not modifiable. If I change the value it reverts to 1/50s immediately afterwards. But it seems, that the recording was not made with 1/50s but rather 1/38s, which was also the time shown in ML overlays. But as I now see, this can be adjusted in ML menu. Actually not to exactly 1/50s but 1/53s which is close enough.

I might have a fix for that, but I'm not sure what to do with the UI. On other models you just dial the desired shutter speed from scrollwheel.

Quote from: EstaDive on July 06, 2018, 06:52:33 PM
I have a 90EX speedlite that powers off automatically when the camera turns off. Is it possible to disable this feature via ML?

Does the flash have its own power source (batteries)? Assuming yes; otherwise you wouldn't ask this question.

The communication between camera and flash is likely done by the MPU; however, we are not exactly familiar with its CPU architecture. To figure this out, one may also need to log the communication through the hot shoe. I use neither a flash, nor an EOS M, so can't help much other than some advice.

EstaDive

Quote from: a1ex on July 08, 2018, 09:29:17 AM

I might have a fix for that, but I'm not sure what to do with the UI. On other models you just dial the desired shutter speed from scrollwheel.

Does the flash have its own power source (batteries)? Assuming yes; otherwise you wouldn't ask this question.

The communication between camera and flash is likely done by the MPU; however, we are not exactly familiar with its CPU architecture. To figure this out, one may also need to log the communication through the hot shoe. I use neither a flash, nor an EOS M, so can't help much other than some advice.

The flash has its own batteries. Is there a way to log the MPU messages sent during shutdown? From the link you sent, there are instructions to log the startup, but not shutdown. I haven't figured out how to reproduce this behavior without turning the camera off. 

--edit--
I've noticed that the flash only powers off if the camera has communicated with the flash, either through the flash settings, taking a picture, focusing, or pressing the AE lock button. If I just turn the camera on and off the flash stays on. So I think if I can log the shutdown sequence, it should be possible to find what signal is being sent by comparing shutdowns with the flash attached and flash unattached.
-------

Moderators - feel free to move this to reverse engineering or feature request if that is a more appropriate location.

a1ex

With this build, simply turn off the camera before the 20-second timeout expires. That would log the MPU messages during shutdown. However, these only cover the communication between MPU and main CPU; they won't include whatever the MPU decides to do on its own. From previous experiments, it seems like the MPU handles the flash side and only reports some status messages to the main CPU.

Here's an experiment you could try:
- turn on the camera with the battery door open (close the microswitch with something)
- take a picture
- remove the camera battery

That way, the camera won't be able to tell the flash that it turned off. Hopefully the flash will stay on.

Then, try an emergency shutdown: turn off the camera by opening the battery door. That way, I'd expect the MPU to perform its shutdown procedure, and tell the main CPU to perform a rushed shutdown. I'd expect the flash to turn off in this case, but who knows.

Some notes on different shutdown methods.

ArcziPL

Quote from: a1ex on July 08, 2018, 09:29:17 AM
This is unexpected. Questions:
- do you need to start recording in order to break the AF, or it's enough to enable the overlays?
- if yes (you need to start recording): can you get a screenshot with all EDMAC channels (edmac.mo) in x5, before and after AF?
- if no (enabling overlays is enough to break AF): can you narrow down to some particular overlay?
Yes, recording is needed to crash AF.

When trying to do screenshots, I wanted to use the feature from DEBUG menu first but... doing a screenshot causes an out of memory error.


Then I have noticed, that after recording a movie the status also shows memory error. Can it kill the AF?

Anyway, what method of documenting EDMAC channels status do you consider as best in this case? Just making photos of the screen with another camera? BTW: several values on several pages are alternating between different values (addresses, flags).
M50.110 [main cam] | G7X III [pocket cam] | 70D.112 [gathers dust] | M.202 [gathers dust] | waiting for M5II

EstaDive

If I remove the battery without powering down, the flash stays on. However, if I turn it off by opening the battery compartment the flash turns off. 

I think the AE lock was a bit of a red herring. If I press any button on the camera, the flash will power off when the camera turns off. This is true even if the flash is not attached when the button is pressed.

Here are a collection of logs:

Odd numbered logs, I do not do AE and the flash stays on. Even number logs, I do AE/Lock (4,6,8) or enter the flash menu (10,12) and the flash turns off.

https://anonfile.com/Q809l0fbb8/magiclantern_flash_logs.tar.gz

There is no single log line that is present in all of the "off" cases that is not present in any of the "non-off" cases. So it must be more complicated than a single mpu message. Perhaps part of a large MPU message? Or handled entirely within the MPU, in which case it sounds like disabling the auto-off would not be possible.

a1ex

@ArcziPL:

You can turn off raw video, as it's preallocating the entire memory (so there may not be enough RAM for a screenshot once you enable it). Memory errors reported in the Debug tabs are all from ML; when Canon code cannot allocate its stuff, it usually throws ERR70. Still, a memory error during video recording is unexpected; I just doubt it has anything to do with AF.

Got another idea: disable Small Hacks from the raw video menu. Maybe it's one of those.

For the EDMAC screen, just the two summary pages showing all channels should be enough. Only wanted to check if AF uses the channel reserved for our DMA memcpy operations. However, there's another way you can test that - load bench.mo and run the memory benchmark. That includes a similar memcpy. If the memory benchmark also breaks AF, it's likely that; otherwise, it's likely something else.

@EstaDive: what if you just disable Auto Power Off in Canon menu? Does the EOS M has some standby mode where it turns off just the display? (other models do this if you press INFO a few times, outside LiveView)

EstaDive

Quote from: a1ex on July 08, 2018, 11:55:40 PM
@EstaDive: what if you just disable Auto Power Off in Canon menu? Does the EOS M has some standby mode where it turns off just the display? (other models do this if you press INFO a few times, outside LiveView)

Yeah, the EOS-M has a standby mode where it can power down the display, but leave the power on. The flash stays on in this case. I was worried that I will accidentally turn off the camera power during the dive, since I use pretty thick gloves and don't always hit the button that I intend to.

darthvim

Quote from: Danne on July 03, 2018, 02:32:11 PM
Here is test version:
mv1080p for eosm
https://bitbucket.org/Dannephoto/magic-lantern/downloads/magiclantern-Nightly.2018Jul03.EOSM202_mv1080p.zip

Select 3x3_mv1080p_EOSM from Crop mode menu.

You will be able to get good footage in 14bit lossless. You can select 24fps and also global draw on for full frame preview. Preview is a bit wonky atm but thereĀ“s some serious skill out there(in here) so maybe that will be better with time. Probably continous with sd_uhs hack on(seems continuous without at 24fps).
Other modes might be broken since I modified exception code in raw.c.


Hi all,

thanks for the great effort you're putting in. I wanted to try out Dannes build. But the 3x3 raw recording 1080p does not work. I use Sandisk Extreme Pro 64Gb with 95mb/s write speed. The sd uhs overclocking module works and i could record 2.5k with another build before, in 5x zoom mode. In the 1080p 3x3 mode  my max resolution i could choose was something around 1700x600. I tried with lossless 14 bit and lossless 12 bit but my footage was corrupt. Can you maybe tell me which modules/files i need to activate? Are all needed files in this build?
And what values i need to modify after a fresh install?

Thanks in advance

Danne

This build only works when crop_rec.mo is enabled. Then selecting the mv1080p setting should get you into 1736x586 or something like that. Enter raw video and change setting for max vertical resolution.

ArcziPL

Quote from: a1ex on July 08, 2018, 11:55:40 PM
For the EDMAC screen, just the two summary pages showing all channels should be enough. Only wanted to check if AF uses the channel reserved for our DMA memcpy operations.
That's the 5x mode with ML overlays, so my starting point:


EDMAC registers before recording (AF still works)
Red marks show channels, where Address field alternates between several values


And below are EDMAC registers after recording, when AF not works anymore. Actually, after recording it works ONCE and then not anymore, i.e. pressing the half-shutter second time after recording changes only the preview to Canon's normal 5x zoom preview but without triggering AF anymore. The status below is from a moment when AF does not work already.


Quote from: a1ex on July 08, 2018, 11:55:40 PMHowever, there's another way you can test that - load bench.mo and run the memory benchmark. That includes a similar memcpy. If the memory benchmark also breaks AF, it's likely that; otherwise, it's likely something else.
Loaded, went to Video Mode, 5x, ML overlays, then started Memory Benchmark. It stops at this stage:

even some minutes later no progress. Camera still responds to user's input but very slow.

Tried it also in photo mode. It stopped at this stage, looks like finished (?)

but I didn't find a way to quit it. Only battery pull let me break it. I waited about 2 minutes, tried several buttons, starting with the half-shutter. How long is it supposed to run? I selected the "1 min" version.

Quote from: a1ex on July 08, 2018, 11:55:40 PM
Got another idea: disable Small Hacks from the raw video menu. Maybe it's one of those.
Unfortunately it doesn't help.


Quote from: a1ex on July 08, 2018, 11:55:40 PMYou can turn off raw video, as it's preallocating the entire memory (so there may not be enough RAM for a screenshot once you enable it).
This I don't get. If I disable mlv_lite, I can indeed make screenshots. But it doesn't make sense in this case, a I won't be able to enter the 5x with ML overlays and record RAW to break the AF, so there will be no point of making any screenshot.


EDIT:
And just be sure that I don't have some strange conflicting settings of ML:
1) removed ML from the card
2) unpacked plain vanilla magiclantern-crop_rec_4k.2018Jul04.EOSM202.zip
3) booted up, enabled mlv_lite and mlv_snd only
4) reboot
5) entered movie mode, entered 5x zoom, enabled "RAW video" option in ML menu (it defaults to 1920x1080, 14 bit), half-shutter to exit ML menu, enabled ML overlays by pressing INFO
6) started recording, stopped recording, AF doesn't work.

Some weeks ago I had magiclantern-crop_rec_4k.2018Mar10.EOSM202.zip on my SD card and it behaved the same.
M50.110 [main cam] | G7X III [pocket cam] | 70D.112 [gathers dust] | M.202 [gathers dust] | waiting for M5II

a1ex

Unable to tell what's going on, but you should be able to narrow down by commenting stuff from mlv_lite.c, raw_video_rec_task. For example, start by commenting out the main recording loop and replace it with a delay, so it will buffer a few frames. You could also try to disable the vsync hook (a function called once every LiveView frame), e.g. by commenting out the MODULE_CBR line for raw_rec_vsync_cbr. Without knowing the outcome of this tweak, it's hard to give advice on what to do next; maybe try asking me on IRC if you get stuck.

Reproduced the memory benchmark issue in QEMU. It works fine in main builds, but it's broken in crop_rec_4k. Looking into it.

Edit: seems fixed if you build from source (changeset 5684ac8 and later).

darthvim

Quote from: Danne on July 09, 2018, 04:54:42 PM
This build only works when crop_rec.mo is enabled. Then selecting the mv1080p setting should get you into 1736x586 or something like that. Enter raw video and change setting for max vertical resolution.

hey its very strange, did what you said. enabled crop_rec and also mlv_lite and sound and tried. but with no luck. the raw recording settings give me just the same resolution. even when i try higher resolution like around 2500x1000, it stays on 1736x586 .

any idea?

Danne

You have to change vertical resolution, doesn't matter if you set 2500 or more, it's the wrong place.

darthvim

So you mean I have to change the aspect ratio? Which one do you use, somehow it's puzzling me...

Danne

16:9  5:3 etc. Don't have my cam here. Below resolution settings. Roll dial to the right...

bakersdozen

To get full sensor recording of 1736x1120 on EOSM, you need to have the aspect ratio set to 1:2 in Danne's current 2018Jul03.EOSM202_mv1080p build. Ensure that crop mode is set to 3x3_mv1080_EOSM

All other crop modes and other features are not working (in this build) as he has already advised.

@ArcziPL as far as i can remember (and I could be wrong) I've never been able to enter 5xCrop or 10xCrop mode having AF turned on in the Canon Menu. As soon as I turn it off, the option for zoom comes up.
EOS M + 5D3

dfort

Some interesting action going on with this pull request:

EOS M: enabled FRAME_SHUTTER_BLANKING_WRITE. Does it work?

Never knew how the Low Light mode in FPS override is supposed to work because it was broken on the EOSM. It is working now, though with some issues. It would be great if some other EOSM users who can compile the latest crop_rec_4k (not the sound branch) try it out.


the associate

Have tried the July 3 nightly build, but when I try mv1080, LiveView goes nuts and the video always stops recording immediately (showing a list of corrupt frames). Danne: Could you please list the exact settings you used to pull off mv1080? I turn AF off, crop mode on (set to mv1080), and then I set CBR to 0.1x, bit rate to 14, ratio to 1:2, and h.264 proxy on as you mention in a previous post. Still...nada. Also turned "small tweaks" off. Q: Does the SD card hack need to be on? Do I also need to turn off RAW sound?

Just wondering if someone can share screenshots of their relevant movie settings. Mine are attached.

Thanks much. Be blessed today.








the associate

Also, wondering if the brand of SD card matters. I'm using this card.
<br /

AF-OFF

Helo
maybe this may help You.
First, let's ensure You have something similar like the following -

eosM
Firmware v202
Camera in Videomode
64GB W50 R55 , Exfat
nonAF lens
a full battery

canon settings
PAL & 1920x1080@24

ML Version
magicklantern-Nightly.2018Jul03.EOSM202_mv1080p.zip
 
Put Your card in a card reader and Save Your data.
Start the cam and go to ML Menu -> Prefs -> Config files -> Restore ML defaults, then leave the ML menu.
Turn Your cam off and back on again.

Go to ML menu -> Overlay and turn GD off
Go to ML menu -> Modules and activate
                     crop_rec
                     lua
                     mlv_lite
                     mlv_snd
                     sd_uhs , then leave the ML menu.                     
Turn Your cam off and back on again.

Go to ML menu -> Movie -> Crop mode and select 3x3_mv1080_EOSM
Wait few seconds then leave ML menu and enter it back again.
Go to ML menu -> Debug and check Memory patches entry - it should be active (red) and show "1 ROM, 2 RAM" entry.
Go to ML menu -> Scripts and select one of the mv1080p_12bit scripts.
Press SET to load/run this script. Wait until it completes, then leave the ML menu.   Turn Your cam off and back on again.

Message visible after startup should be "FPS override : 24.002" *)
Go to ML menu ->  Movie -> Raw video and tap the screen . Inside it change the Aspect ratio value to 1:2 and the resolution should change to 1736x1120. Change the value of Data format to 14-bit lossless. Change the "Preview" to "Real-time".
Leave the ML menu.   Turn Your cam off and back on again.

Now Your cam is set up. The following step is necessary to allow higher speeds of the SD card. This step has to be repeated after each start of the cam.
Go to ML menu -> Scripts and select the "enable SD overclocking" script and hit "Run Script". Wait until it's done. Don't use the "Autorun" feature to start this script automatically at startup.
Activate GD if You like.
You should see an upper portion of an image. Press&hold Half-shutter for framing. 

My recording speed is around 50,8 MB/sec

So this works for me and I can record non cropped 3x3 mv1080 type video. The cam is responsive and the green recording sign jumps in right from start on. Disable GD, then record to check the actual speed, reenable GD after again.

The first picture is 50mm lens, the second a 28mm and the third a c-mount 12.5mm lens.   

Many Thanks to user "the associate" who motivated me and of course to Danne for this build and all other Devs and ML folks

Af-off   







 
                     
   *) Even thou this message is shown at startup, the frame rate shown under ML menu -> Movie -> FPS override is shown as 23,980                  





tupp

@AF-OFF
Thank you for the instructions on getting "full sensor" 1736x1120 raw working on the EOSM!  Very helpful!

Unsure on this bit:
QuoteGo to ML menu -> Scripts and select one of the mv1080p_12bit scripts.

There is a selection?  Which one is best?

Now I just have to figure out the easiest post "workflow" in Linux.

Thanks!

Chanw11

Is there a reason to use mv1080 over say the 2.5k RAW with the sd_uhs module?
A6300/EOSM

AF-OFF

@ tupp - I think the only difference between the two is the ISO - 100 - 800. So choose which one fits Your needs. You don't have to use the script every time you power the cam on. if you wish to change the iso, please do it in the ML menu, not in the canon one.
the script "enable SD overclocking" has to be used every time the cam is powered on.
( Sometimes I forget about it. )
af-off


Danne

Set it to auto and it starts on start up.