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.

Levas

Full res silent pictures can't do fast shuttertime.
Not sure, but I believe fastest shuttertime it can do is about 0.3 seconds.

So not ideal for everyday shooting, works perfect for timelapses with long exposure times like 0.5 seconds to 15 seconds.
So bring iso to 100, aperture to 11 or 16 and maybe use Neutral density filter ?


Oleg_K


Milk and Coffee

On the 6D, Is full width 1824x1026 recording continuous with uhs module and 12bit recording? Is full width continuous with 10bit and uhs module?
Canon 5D Mark II, Mac/OSX

Levas

Plain 12 bit recording is not continuous it's about ~70Mb/s for 25 fps
Plain 10 bit recording is probably continuous, it's about ~58.5Mb/s for 25 fps (This is about the same as the max write speed possible with SD-UHS hack module)

BUT, you're better of with lossless raw recording options, depending on the brightness of the scene you get about 30% compression.
Now with lossless raw recording in 14 bit, the datarate is about ~57Mb/s (Slightly less then plain 10 bit recording)
Since the lossless compression is variable and depends on the brightness of the scene, it's not 100% sure you have continous recording.
I can imagine that if you want to record people snowboarding and you expose perfectly good to the right, you're not gonna have continous.
But in my experience, 14 bit lossless raw recording is continous (in combination with the SD-UHS hack module)

So if you really want to be sure you get continous recording, select 12 bit lossless recording. (~50Mb/s for 25fps)

Milk and Coffee

Thanks so much Levas! I think 12bit lossless will do it for me! I will be relying pretty heavily on that UHS module to get continuous recording (24.00fps) for interviews. Is there any risks when using the UHS module? Is there any risks with damage to the card/camera? Corrupted frames?
Canon 5D Mark II, Mac/OSX

Levas

I'm using the SD-UHS module for more then a year, never had any issues with it.
The same module is alos used on the more experimental eos-m builds from Danne, never seen issues about the SD-UHS module in that topic.

You're going to use it for interviews, does that mean that you or nobody is behind the camera and it's on a tripod ?
If that's the case, your biggest risk is that the camera suddenly stops recording during the interview.
So you need to be sure your camera keeps recording.
During recording the sd card slot led is blinking, so as long as you have sight on that led, you're good...

Milk and Coffee

Yes, probably on a tripod, and no one behind the camera. I can set the camera to auto restart recording again though right? That works for MLV?
Canon 5D Mark II, Mac/OSX

Levas

Yep the auto restart function should work.

Milk and Coffee

Canon 5D Mark II, Mac/OSX

Levas

Ok, took some more time then I first thought, and it isn't finished/polished yet.
But it is very usable, so I'll upload it, complete build with new and improved crop_rec module.
Contains all you need, SD-UHS hack module, crop_rec module etc.
Even contains the "ML-SETUP.FIR" file for enabling bootflag on your 6d for first time users of Magic lantern.

Link to complete build
http://drive.google.com/file/d/1u7KA_UahTabHP2VridmjXtOAgaB1oMJt/view?usp=sharing

For users already experienced with running magic-lantern:
Copy the files to your SD card and put camera on:
Enable at least the following modules on the module tab:


After that, restart camera so the modules are loaded.
Crop_rec menu now contains the following presets:


I culled it down to a few presets. The 1:3 readout presets (this means, horizontal 3x binned resolution and vertical every line is read.)
These 1:3 presets are for stretching 3x in post to get normal image. If loaded in MLVApp, this is done automatically.

Now you might think, where are all the lovely presets ?
They are now in submenu of crop_rec. (Q button on camera)

Select your desired recording mode 1:3 (horizontal binning, vertical every line read)
Or 1:1 pixel readout (a selected crop of the sensor, where the resolution is readout on 1:1 pixel level)
Here's the new submenu (a little messy, will try to clean it up later, but it works for now  :P )


At the top you can select your desired preset, the one used, depends on what you selected in the normal crop menu (so 1:1 or 1:3)
The 1:1 now contains all these presets and even some more, also 30fps, if you scroll down:


EDIT: forgot to mention, the 1:1 presets must be used in 5xzoom mode

The 1:3 contains these 4 presets:


for example, 5496/3 x 1960  means, 5496 horizontal pixels are binned by 3 to 1832 pixels horizontal resolution and 1960 is the vertical resolution.
So you're actually recording 1832x1960 resolution, but in post, it must be stretched back to 1832x3=5496 resolution. MLVApp does this automatically.
It's sort of 3x anamorphic mode, although without an anamorphic lens, this time the sensor does the squeezing for you  :P

EDIT: forgot to mention, the 1:3 presets must be used in normal view mode (not 5xzoom)
And the 5496/3 presets have working Canon live view (although squeezed :P)

The above build is made from the following source:
http://bitbucket.org/Dannephoto/magic-lantern/commits/?search=6c6f37e9adfc

And exchanged the crop_rec.c file for this one:
http://drive.google.com/file/d/1DXL5ExJHjRhXqicMNXEcZ2GAv4ejrcEq/view?usp=sharing

And the dual-iso.c for this one (only address fix for 6d, without it isoless error message)
https://drive.google.com/file/d/1hWdfBQ9k4B_AU2KCagXPZMD_fyz90DSc/view?usp=sharing

Sorry for the messy source references, I'll try better my life, once new ML source setup is clear  ;)

David_Hugh

Hey! First of all, thank you Levas for keeping the 6D alive and kicking - good stuff still happening here!

I just wanted to post something here that perhaps others have asked themselves and I couldn't quite find a definite answer on the forum so I just tested it:

With the current Version of ML for the 6D you can use the HDMI out (while recording raw) and connect to a monitor and have perfect liveview on a bigger monitor. It works with overlays for both the "normal" 1080p lossless mode and also for the 50fps setting. Didn't test the crop_rec settings yet, but I figured that probably not too many people know that this works absolutely fine for "normal" recording situations. To me, that makes a world of a difference in terms of real world usability. So there you go. ML is awesome.

Cheers,
David

Levas

Some new improvements on the sd_uhs module.
Thanks to user theBilalFakhouri we are getting higher write speeds now with sd_uhs module.

Not sure what you people get with the current sd_uhs module, but I got around 60Mb/s write speed with it.

Now with the new settings I get around 80Mb/s write speed  ;D

Compiled build of the improved sd_uhs module in this post:
https://www.magiclantern.fm/forum/index.php?topic=12862.msg228576#msg228576

Let me know if it works or not.

Contra8bit

Hi, Levas!
Is crop mode 1824x818 50fps for 720p mode works well in last build? I used ML earlier and it works fine, but I cannot enable this mode in last build. It is said, that video needs stretch by 1.67 to get right resolution. Video mode in camera 1280x720 60fps. I tried to power camera off/on, pressed ML button, video mode off/on and so on. There is no difference if I enable crop mode or not. Other modes works fine.  Previously I used "ML_6d_116_Lazy_all_in_one" (sorry, forget exact name, can check later) build and 1824x818 50fps there works fine.

BTW new sd_uhs module didnt work with my microSD Sony SR-32MX2 32 GB. Next few days I'll got original Sandisk ultra 64 Gb, so check with it later.

update

Actually it records without stretching, but if you chose 2.20:1, it records in 1824x498 instead of 1824x818. MLVapp automatically stretch video to 1824x830 in post, but proportions in this video is not normal :)

Levas

Quote from: Contra8bit on July 04, 2020, 04:54:26 PM
Actually it records without stretching, but if you chose 2.20:1, it records in 1824x498 instead of 1824x818. MLVapp automatically stretch video to 1824x830 in post, but proportions in this video is not normal :)

You're right, I didn't fix aspect ratio for this preset (so raw video menu is confused and MLVapp too).
Shouldn't be too hard to fix, will see if I can fix it tonight.

Levas

New Magic Lantern build for 6d:

https://drive.google.com/file/d/1ofhKNUteHywg5Jc0aGLPgJSF6nMVOdpU/view?usp=sharing

-Fixed aspect ratio for 50fps preset (reported by Contra8bit)
-Added new sd_uhs module with menu system (in raw video tab), you can choose different speed settings: Off/160Mhz/192Mhz/240Mhz.
-Some fixes on crop_rec to prevent recording in wrong video mode (1x zoom or 5x zoom)
-Disabled compression error message in MLV_lite module.
         This because, some presets are on the edge of what 6d can do (2560x1440@24fps and 2496x1404@25fps)
         Sometimes, it starts with one or two corrupted frames, giving the compression error and showing console on screen
         In these cases, only one or two frames at the beginning of the video file are corrupt, the rest of the video file is good without corrupted frames.
         So to stop console window to show up, I disabled this error message in MLV_lite.
-In debug menu, you will find an option to select LV raw type, which is 0x10 by default, better leave it this way. Always starts at 0x10 at camera startup.
Reason I enabled this option is for use with low_light, high iso recording, LV raw type value 0x12 is far cleaner for this.
But LV raw type value 0x12 value can't be used in combination with crop_rec module recording. So only works for plain vanilla raw recording options.
(LV raw type 0x12 is cleaner, looks like Canon does darkframe substraction in this stream, no vertical lines with high iso, but at the cost of about 0.5 stop dynamic range.)

And that's about it, happy testing  :D

And please report if it works, what works and if things need to be fixed.


Edit:
Not sure if this was in earlier builds, but there is now a crop_rec presets that let's you record in 1832x1030 resolution instead of 1824x1026.
Seems that there were a few more pixels to be used on the 6d  ;D

Contra8bit

None of settings (160Mhz/192Mhz/240Mhz) in new crop_rec  still didnt work with my microSD Sony SR-32MX2 32 GB. It even worse than without crop_rec. I use old crop_rec from "Lazy_all_in_one" build. It gives about 58 mb/s (25-30sec in 1792x814 50fps, stable in 48fps and slightly lower resolution). Without crop_rec about 8 sec. Still waiting sandisk ultra to check with it.

update:
with sandisk extreme pro (170/90)  64Gb new crop_rec works fine.

mineralof

Interesting observation. My camera was shooting at 50fps 1824x634. There are no such settings in the module. Perhaps this is a module failure. MLVApp automatically stretched this video to 1824x1056. almost perfect 16: 9. How to add this preset?

Levas

Sometimes the selected crop_rec settings is not fully loaded at camera startup(or switching presets), in that case, pressing the menu button twice, will load the full preset.

So now the fun thing comes, what you did is entirely possible whithout crop_rec module.
To repeat, turn off crop_rec module and you'll see that in 720p mode, you can select 1824x616 (which stretches to 1824x1026 in 16:9) if you want to select 634 as vertical resolution, you must set a taller aspect ratio in raw video menu, like for example 3:2.

As you know this standard 720p raw recording needs to be stretched, as Canon is skipping extra lines in this mode.
The 50fps preset in crop_rec works without stretching, as it doesn't skip the extra lines. But unfortunately is not 16:9 aspect ratio.
I could make it 16:9 ratio, without stretching in post needed, but framerate ends up at 40fps or something.
Still, could be a good preset, no stretching in post, 16:9 aspect ratio, but 'just' 40fps.





Levas

Quote from: Contra8bit on July 06, 2020, 11:12:58 AM
None of settings (160Mhz/192Mhz/240Mhz) in new crop_rec  still didnt work with my microSD Sony SR-32MX2 32 GB. It even worse than without crop_rec. I use old crop_rec from "Lazy_all_in_one" build. It gives about 58 mb/s
Strange, lazy all in one build should give the same results as 160Mhz in the new build. Are you sure you did a camera restart after you changed settings, for example from 240Mhz to 192Mhz?
If you change settings in new sd_uhs menu, you have to restart camera.

Contra8bit

Quote from: Levas on July 06, 2020, 09:14:35 PM
Strange, lazy all in one build should give the same results as 160Mhz in the new build. Are you sure you did a camera restart after you changed settings, for example from 240Mhz to 192Mhz?
If you change settings in new sd_uhs menu, you have to restart camera.
Yes, I restarted camera after all changes. Checked again and there are same results. When flushing buffer (after recording stops) it clearly visible - frames recording slower than without sd_uhs. But again, it happens only  with my old good Sony microSD. With new Sandisk extreme pro works fine.

BTW is there chance to change exposure in crop_rec mode 50fps? In Image fine-tuning > Shutter fine-tuning. I cannot set 1/96 for 48 fps or 1/100 for 50fps.

Levas

I'm not very familiar with that function, never use it. But I expect that it alters the sensor read out timing registers (A and B timers)  And if that's the case, it doesn't work in combination with crop_rec module, because those registers are fixed in the presets.
Will take a look at it.

mineralof

Quote from: Levas on July 06, 2020, 04:37:51 PM
Still, could be a good preset, no stretching in post, 16:9 aspect ratio, but 'just' 40fps.
if possible without skipping lines, this will be an interesting and very high-quality video :)

Levas

Quote from: Contra8bit on July 06, 2020, 10:43:20 PM
BTW is there chance to change exposure in crop_rec mode 50fps? In Image fine-tuning > Shutter fine-tuning. I cannot set 1/96 for 48 fps or 1/100 for 50fps.

Image fine-tuning > Shutter fine-tuning won't work when crop_rec module preset is used.
Both make use of overriding A and B timer registers, where crop_rec module preset seems to be the one overruling the other.

But tested with the latest uploaded build, I can get the following shutter times in 50fps preset.
With shutter value set to 'original' (option in crop_rec submenu, q button when you're in crop_rec menu) I can get these values:
1/64 - 1/84 - 1/100
With shutter value set to 'full range' I can get these shutter values.
1/50 - 1/65 - 1/78 - 1/100

Are you sure, you can't get 1/100th ?

Oh wait, to my amazemend, I see the FPS override option does really override FPS, even when crop_rec module preset is used.
There I couldn't get 1/48 or 1/96 shutter speed when overriding to 48fps.
But it's not a good idea to use FPS override in combination with crop_rec module, probably works for slowing down (from 50 to lower fps).
I expect no problems when lowering fps, but I'm not 100% sure though  ???
I expect overriding it to faster fps, will result in corrupted frames, because most presets have very little headroom for highering fps/resolution.


Levas

Quote from: mineralof on July 07, 2020, 11:20:10 PM
if possible without skipping lines, this will be an interesting and very high-quality video :)

There will still be skipping lines, but the mode is the same as normal 1824x1026 raw recording. (3x3 (horizontal binning, vertical lineskipping, no stretching needed)
For absolutely no lineskipping and pixelbinning, you should try the 48fps preset that is in the 1:1 pixel readout crop preset.
There is a preset in there 1840x908 @ 48 fps (no need to switch camera to 720p mode) only caveat, crop factor is about 3x.
So your 35 mm lens will become about 100 mm  :P

I'm working at a new structure for high fps modes.
The same like I did for 1:1 and 3:1 readout presets.
I want to have all fast fps under one preset, with resolution and fps options in a submenu.
This way I could easily add more fast fps presets, like 48/50/60 fps options and also max resolution in 40fps etc.

Levas

Ok, cleaned up the menu system.
Now there's a preset for use in Canon 720p video mode.
Be sure to use these new 720P presets with the camera in 720p video mode (tested in PAL mode, might work in NTSC).
If tried to use in 1080p mode, your camera might lockup, mirror goes down and camera doesn't respond to buttons, in that case, pull out the battery and retry again in the correct video mode  :P
In the submenu, there can be selected these presets:


Some presets have some sort of working Canon liveview, others have scrambled live view and the 72 and 75 fps have frozen Canon liveview.
So you might want to use these with the option in raw video menu, 'preview' set to 'framing' instead of 'real-time'.
So you have ML framing preview visible.
Sometimes the presets don't load on the first time(you gets scrambled or not working ML framing preview), in that case, pressing the 'menu' button on camera twice, might help.
Be sure you have a working ML preview before hitting the record button, to be sure you're getting good raw recording.

Here's the complete build, if already using one of my previous versions, you might swap only the crop_rec module file.
https://drive.google.com/file/d/1B2W3RW1xoDVXj5fPehp-FcTlmya6Rd6H/view?usp=sharing

Enjoy testing  :D