Levas' crop_rec_4k experiments for 6D

Started by Levas, December 01, 2019, 03:52:51 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

names_are_hard

There are lots of good cameras.  Porting to any cam takes a lot of work.  I'd like to see ML on the 6D too, but I don't own one.

Since you want the 6D to get more attention, you could consider learning to code, you'd want to learn C and some Arm assembly.  After that, get some experience with common reverse engineering tools, definitely including Ghidra.  We can help you at any stage.

If that sounds difficult or time consuming to you, now you should understand why not every camera has a port, and why not all cameras have the same features.



HugoMouteira

It seems interesting. I can try learning that.

theBilalFakhouri

Quote from: HugoMouteira on August 21, 2023, 01:52:14 PM
I noticed is that 6D lacks a 5k mode, unlike eos M or even 5dIII. Could you explain me why?

5.2K 1x3 2.35:1 on EOS M / 700D has 1736x2214 RAW resolution (1736 is Binned from 5208), then in post it must be stretched by e.g. up-scaling it to 5208x2214 to get corret aspect ratio, so the camera doesn't record the full native 5208 width resolution in 1x3 modes, it records Binned 5208 width resolution which become 5208 / 3 = 1736 (we are capturing the light from all 5208 horizontal pixels).

6D has one 1x3 mode which is 1640x2156 @ 24 FPS, it become 4920x2156 after stretching, if we follow the same naming for 1x3 presets from 5D3 and 700D, this 1x3 mode on 6D will be 4.9K.

falcon

ML works really well on 6D. For 3x3 it does 1832x1222 with liveview and hdmi out. I don't use 1x3 but there are several high res alternatives, it's not correctly streched however. And for 1x1 it has 2560x1440 and my favourite 2,4:1 in 2880x1200. Everything with unlimited recording. The only thing I'd want is a maxed 4:3 preset. One issue with the 6D is the bad moire, but that's on the camera.

Levas

Quote from: HugoMouteira on August 21, 2023, 01:52:14 PM
one think I noticed is that 6D lacks a 5k mode, unlike eos M or even 5dIII. Could you explain me why? It has even more 2MP than eos M, why it lacks that?

The reason for this is, the sensor readout speeds is too slow on the 6d.
The APS-C camera's have faster readout speed (smaller physical size gives them probably faster readout speed with the same design)

The 6D is the cheap full-frame from Canon, readout speed is rather slow compared to the APS-C Canon's.
Sensor of the 5dIII is a different design, readout speed is almost 2x as fast compared to the 6D. 
That's why the 5DIII has all the cool high resolution options like 3.5K crop mode and such.
The 2880x1200 crop mode is the highest resolution possible in 24/25 FPS in 1x1 mode, resolutions beyond this gives corrupted frames or camera lockups, because the sensor can't keep up.
Same goes for the 1x3 mode 1640x2156@24fps, giving 4920x2156 after stretching.
Readout speed is about 85 megapixel per second on the 6d.
2880x1200x25fps = 86400000 pixels per second (86MP).
1640x2156x24fps = 84860160 pixels per second.(85MP).

So it's a limitation of the hardware.



iaburn

Quote from: swordsmasterxii on August 23, 2021, 01:03:55 PM
A short film we made. Shot entirely with ML Raw Eos M and 6D

Love it! I was having a hard time, so happy that it was just a dream  :D

iaburn

Quote from: Levas on March 13, 2022, 07:35:52 PM
The preview is indeed very slow, unfortunately I don't have the knowledge to fiddle with the preview options in source code.
I made the custom resolutions for crop recording on the 6d, so learned a lot about the crop_rec module, but the rest of magic lantern source is like magic to me  :P

Canon liveview is broken in 4896x2160 crop rec option.
You could however use the 5496/3x1960 at 24 fps option in crop_rec menu.
5496/3x1960 has canon liveview working (although a bit squeezed and zoomed in)
Depending on your 'preview' setting in the submenu of raw recording, you could switch from Canon liveview to slow correct preview with half shutter (works while recording)

The way I would use it:
Use 5496/3x1960 at 24 fps in crop_rec menu.
Go to RAW video submenu (use Q button on RAW video in the MOVIE tab in ML menu.
Set resolution lower to get desired resolution/aspect ratio, you can use scroll wheel on top of your DSLR to set it (for example) from 1824x1960 to 1568x1960 to get 4704x1960 at 24 fps (2.4:1 aspect ratio).
Now go to preview option and set it to 'real-time'.
Now exit menu and you will see some distorted canon liveview which is as fast as Canon liveview, although not correctly framed, but if you do half press the shutter button, the correct framing preview shows up  :D
So use half shutter to get framing right, release half shutter to set focus right and keep track of your subject. While recording, you can check framing by using half shutter press.
So that's the most usable way I found, using real-time preview and occasionally using half shutter press to check framing.

Probably someone mentioned that already, but adding to that, by enabling the "Anamorphic 2:1" display option the view is much less distorted (we would need a 3:1 to get it right). The chunk from the bottom is still missing and might be better having a distorted but bigger view for focusing, but I prefer it.



The quality of the videos from the 6D is truly amazing, but every time I use it I value more the jump that "crop mood" made in actual usability :o

iaburn

Hi, do anyone know what is the "3x3 1832x1030-fix for max width" meaning by "fix"? Is it something broken when crop mode is OFF?
I tend to leave it OFF when using external monitor, because the zoomed view is broken

Levas

Nothing is broken when crop mode is off, the naming is confusing.
I made this to so 1832 width was working again (was available in some older builds, without crop mode it goes to 1824 as maximum width).
Another thing I liked is that in the crop mode menu, you can set the shutter range option to 'full range'.
So when shooting 25 fps, you could use 1/25th shutter time in lowlight.
So I used the 3x3 1832x1030 crop mode for low light situations giving me 1/25th shutter time option.

For low light situations:
Not sure if you have the build with 'LV raw type' option in the debug menu ?B
By default it is set to 0x10, giving maximum dynamic range, but also gives vertical line noise in low light situations. 0x10 also makes it possible to use the high resolutions crop modes.
If you set LV raw type to 0x12 you get much more cleaner (noise wise) video.
But you can't use the high resolutions crop modes (giving corrupted frames with 0x12), but you can use the 3x3 1832x1030 crop mode.
So for ultimate low light situation use:
Crop mode 3x3 1832x1030 with shutter range option set to 'full range'. (And use 1/25th as shutter time)
In debug menu set LV raw type to 0x12.



iaburn

Quote from: Levas on April 12, 2024, 05:30:23 PMNothing is broken when crop mode is off, the naming is confusing.
I made this to so 1832 width was working again (was available in some older builds, without crop mode it goes to 1824 as maximum width).
Another thing I liked is that in the crop mode menu, you can set the shutter range option to 'full range'.
So when shooting 25 fps, you could use 1/25th shutter time in lowlight.
So I used the 3x3 1832x1030 crop mode for low light situations giving me 1/25th shutter time option.

For low light situations:
Not sure if you have the build with 'LV raw type' option in the debug menu ?B
By default it is set to 0x10, giving maximum dynamic range, but also gives vertical line noise in low light situations. 0x10 also makes it possible to use the high resolutions crop modes.
If you set LV raw type to 0x12 you get much more cleaner (noise wise) video.
But you can't use the high resolutions crop modes (giving corrupted frames with 0x12), but you can use the 3x3 1832x1030 crop mode.
So for ultimate low light situation use:
Crop mode 3x3 1832x1030 with shutter range option set to 'full range'. (And use 1/25th as shutter time)
In debug menu set LV raw type to 0x12.


Thanks a lot for the tips!! I didn't even notice that there was a difference in width... :o

I was testing a lot of thing for low light, I will test now this 0x12 value, maybe it also helps with other issues I'm having. Didn't notice the vertical lines noise but I have multicolor sparkles when using 6400 ISO and also thin vertical lines when recovering the highlights.

iaburn

I did a quick test of the 6400 ISO "sparkles" and they are almost gone with 0x12  :D
What is the magic of this parameter? Are there any other useful values? It's a pity that the value cannot be saved, it seems to be back to 0x10 after turning off the camera

Example below, 0x10 top, 0x12 bottom:

iaburn

I tested it further and the vertical pink lines that I was getting when recovering highlights seem to be also gone when this value is set to 0x12.
I cannot see a decreased dynamic range either, quite the oposite, given that shadows are cleaner and I can more easily recover highlights, so at least on my tests, the only reason to have 0x10 are the crop modes.
I don't use crop modes because they don't look good with the antialiasing filter installed, so is there a way to set this value permanently to 0x12? It's not part of the settings that can be saved u_u

Levas

The LV raw type parameter is which live view stream is recorded.
There are mutliple raw streams.
0x10 seems to be the only one we're able to change to the resolutions necessary for most of the crop modes.
0x12 gives the cleanest result (on 6D at least, not sure how it is on other cameras).
I assume with 0x12 the camera does some internal darkframe subtraction, or extracts an internal hot pixel map or something. It's definitely cleaner.

There are many other values possible for LV raw type, but 0x10 and 0x12 are the ones you want to use. Other values include stuck pink pixels and stuck white pixels and other weird shit.

I will see if I can make a custom build where the value is saved.
Didn't add it because most people are wanting the high resolutions crop modes, if you have 0x12 selected, you can still use high resolutions crop modes without warning, but you'll get corrupted frames. So I made it reset to 0x10 at every startup of the camera.


SpasatelMalibu

Glad too see 6D topic is still alive, i'm also interested in highest possible SNR for raw video in VERY low light situations.

Not tried 0x12 mode yet.

Also it will be perfect to go even further with fps_override with low_light option, to make like 12fps with 1/12sec shutter, or 6fps or 4fps and so on, but im struggling with this situation:
https://www.magiclantern.fm/forum/index.php?topic=26131.0

names_are_hard

Did you try Levas's advice in the linked thread?  You should do that and report results.  In that thread, not this one :)

iaburn

Thanks a lot for the info, Levas  :)
It would be great to have a build where this value is saved!  :D

SpasatelMalibu

Quote from: Levas on April 12, 2024, 05:30:23 PMCrop mode 3x3 1832x1030 with shutter range option set to 'full range'. (And use 1/25th as shutter time)
found this. will use.

Quote from: Levas on April 12, 2024, 05:30:23 PMIn debug menu set LV raw type to 0x12.
can't find this one. What build should i use? currently on crop_rec_4k.2018Jul22.6D116 + overwritten crop-rec module.

Quote from: names_are_hard on April 17, 2024, 10:25:16 PMDid you try Levas's advice in the linked thread?  You should do that and report results.  In that thread, not this one
Completely understand you, but someone closed that topic. I think i tried almost everything, on/off crop_rec, reset all settings, manually playing with timers, standart nightly build. Pink pattern is always there.

iaburn

Quote from: SpasatelMalibu on April 18, 2024, 04:26:19 PMcan't find this one. What build should i use? currently on crop_rec_4k.2018Jul22.6D116 + overwritten crop-rec module.

It looks old, you can try the on on this post:
magiclantern-Nightly.2020Jul16.6D116.zip

SpasatelMalibu

Quote from: iaburn on April 18, 2024, 05:54:41 PMIt looks old, you can try the on on this post:
magiclantern-Nightly.2020Jul16.6D116.zip


thank you, got it, LV raw type field is there, i will test it.

SpasatelMalibu

For now tested 8 options, all in same low light conditions, iso6400, 24fps, 1/25sec shutter:
1)"regular" raw 1824x1222 14bit 0x10 - ok, starting point;
2)"regular" raw 1824x1222 14bit 0x12 - it's different, but visually I can't see improvements;
3)crop_rec 3x3 1832x1030, full range (12bit?), 0x10 - visually worse
4)crop_rec 3x3 1832x1030, full range (12bit?), 0x12 - worst, heavy vertical banding

and 4 more, same as above but with dark substraction:
5)"regular" raw 1824x1222 14bit 0x10 (+ dark substraction) - ok, starting point;
6)"regular" raw 1824x1222 14bit 0x12 (+ dark substraction) - it's different, but visually I can't see improvements;
7)crop_rec 3x3 1832x1030, full range (12bit?), 0x10 (+ dark substraction) - visually darker, maybe less details in shadows
8)crop_rec 3x3 1832x1030, full range (12bit?), 0x12 (+ dark substraction) - visually darker, maybe less details in shadows

am i doing something wrong? for 0x10/0x12 mode, i'm just changing the value in menu every time. for crop_rec 3x3 1832x1030 mode, i don't understand why it called 1832x1030, because i recorded 1824x1222, maybe it's not activated somehow, but i see it's 12bits in MLVapp