crop_rec on steroids: 3K, 4K, 1080p48, full-resolution LiveView

Started by a1ex, April 01, 2017, 11:15:41 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


OMG I've been waiting this for looong time! mlv_lite + mlv_snd = great! You are magicians! But some issues:
1. mlv_dump (latest from crop_rec_4k) seems to miss numbers in frames' names, looks like no missing frames, all parts with no gaps stay synced with the sound, I've got 373-375, 753-755 and 1133-1135 (like even numbers are missing)
(plz ignore my fancy pants :D)

2. Sound starts recording before several frames and stops after.

*file deleted*

Same with crop 3K 1:1 2560x1440. I think it is still usable with clapper for syncing.

5D3 1.2.3, external stereo mic, ML build magiclantern-crop_rec_4k.2018Feb02.5D3123, SanDisk Extreme Pro 128GB


The same issue-missed numbers 375 and 755 (total 854), for 23,976 FPS override -on ExactFPS.. 1920x1080, mlv_lite + mlv_snd 5D3 1.1.3, mlv_dump (latest from crop_rec_4k)
Missed numbers 392,787,1183,1579 (Total 1658) for 25FPS FPS override -off.,1920x1080
Canon 5D3,1.1.3; Canon EOS M,202,  CF-SanDisk Extreme PRO,160MB/s, 256GB, SD-SanDisk Extreme Pro, 170MB/s, 128GB.


I had this issue before on both mlv dump & mlv dump on steroids (Canon 700d).
Yeah mlv dump jump (1) every many frames and caused missed frame but actually the problem only affect the numbering of frames.
The missing frame is not missed at all, only jumped (1) forward causing blink between frames.
Fast solution I used: Select all of frames and rename to any character like (A) now Windows will create the frame numbers correctly.  :D


Yet another boring test:

This time, odd nums missed too, 2560x1440 gives longer pieces without num jumping but longer delay between sound and video rec starting. Did not notice any frame drops so just a bit more time in post needed, maybe simple renaming script would be a temporary workaround.


Fix committed; if you can compile from source, please try. Still got a couple of things to fix for 100D etc.

hg up crop_rec_4k -C
hg merge crop_rec_4k_mlv_lite_snd
make 5D3.113_zip

(if you need help compiling, watch the vid)


Quote from: a1ex on February 03, 2018, 12:36:54 AM
...On 700D/M/100D, I assume that's an odd number. Maybe force it to be always even?

height = shamem_read(RAW_PHOTO_EDMAC + 4) + 1;     /* size N */
height &= ~1;

I tried that on the EOSM which has an odd number height and it is working but I've noticed some issues. First of all to make sure I'm doing this properly, that change needs to be done in raw.c, #ifdef CONFIG_RAW_PHOTO:

        /* autodetect image size from EDMAC */
        width  = shamem_read(RAW_PHOTO_EDMAC + 8) * 8 / 14; /* size B */
        height = shamem_read(RAW_PHOTO_EDMAC + 4) + 1;     /* size N */
        height &= ~1; /* force it to be always even */

The Good
One thing that I didn't expect was that a long press is no longer needed to bring Live View back. This has been one of my pet peeves with FRSP. I tired various Image review settings on the Canon menu and they all work as expected, going back to Live View when the review time is reached. That means that the "Long half-shutter will take another picture." message would no longer be needed.

The Bad and The Ugly
However, when shooting several FRSP and switching between compressed and uncompressed sometimes I'm getting corrupted DNG's. This is only happening with the uncompressed ones, the compressed DNG's are always fine. Not sure what is causing it but it seems that switching from lossless to regular triggers the issue. Starting in uncompressed mode works fine.


Indeed, that's ugly. Does it happen with your approach?


Unfortunately, yes.

Fortunately this can be reproduced with the latest crop_rec_4k from the Experimental downloads page on every camera I tried -- EOSM, 700D and 5D3. (Noticed that the latest experimental was built off the crop_rec_4k_mlv_lite_snd branch.)

Shoot a DNG FRSP, switch to Lossless DNG and shoot then switch back to regular DNG and shoot once again. An uncompressed DNG shot after a lossless DNG will be no good.

Regressed to my pull request version and it was there too--before and after merging in the latest changes and fixing the conflicts. Also present in commit a9c8ad4 which I based my pull request off of and commit 600b490 which was the merge that introduced lossless compression into the crop_rec_4k branch has it. I would have gone further back but it was getting late.



Ha ha!

Thanks for the fix. My EOSM, 700D and 5D3 are happy campers.



... more than 1 year ago (hg blame src/chdk-dng.c -r crop_rec_4k | grep dng_compression)

That was a subtle bug; you don't see these reported often ;)


For magiclantern-crop_rec_4k.2018Feb04.5D3123:
-straight to resolve the sound is still a bit unsynced like 0.5 sec.
-more serious bug - sound ignores prerec and records since first press.

Second audio track is the same from clip but inserted separately and synced manually.

Good news - mlv_dump does not jump frame nums anymore.


1920x1080 25FPS
For magiclantern-crop_rec_4k.2018Feb04.5D3113:
-mlv_dump to AE - the sound is still a bit unsynced, about 2 frames (2/25 sec.) for FPS override -on, ExactFPS and Lowlight. The sound is  unsynced, about 3 frames for FPS override - off

- mlv_dump does not jump frame nums anymore.
Canon 5D3,1.1.3; Canon EOS M,202,  CF-SanDisk Extreme PRO,160MB/s, 256GB, SD-SanDisk Extreme Pro, 170MB/s, 128GB.


Sorry, I don't edit video, and I have no plans to learn this overnight; will leave it to the community for now. By design, all video and audio frames are timestamped at microsecond level. However, whether your workflows use this metadata or not, I have no idea.

Adding pre-recording support will require implementing the same logic in mlv_snd; with the vanilla version from g3gg0, the easiest thing to do was to simply record all the sound (including the paused sections from the video clip) and let the postprocessing tools figure it out later (from timestamps). The only side effect is a bit of storage space wasted, and a bit of extra burden on the postprocessing tools.

What I can try would be to add an option to mlv_dump to discard the extra audio data (not matched by any video frames), but I'd be surprised if there aren't any post workflows that can already handle this.

Lars Steenhoff

having a preview in MlRawViewer with the right sound is also nice,
and being able to do a quick export with sync sound can be very nice for the workflow.

Not all post tools have this option to sync or offset audio.  Like the MlRawViewer for example.

Kyle Kearns

I have a couple questions....

Is it true that live preview works when using an external monitor?

Also are there any risks using this? Has anyone actually bricked a camera and not revived it?


Switch, MLVFS, Mlv app, mlvp match the audio file(shortens too long audio) already.


Switch is by far perhaps the safest route you can pretty much take without getting a DUI.

Now pour me down some fine wine and let's get the party started, guys...
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109


Thank you very much for your replies. Somehow i missed the fact that AS7sII is 8 bit... My favorite time to shoot is twilight, so A7sII is very tempting. But bit depth is more important for me. There are option to use some external Ninja device to be able to shoot in 10 bit, i haven't figured out it yet.

You are obviously more or less pros in comparison with me, but i honestly don't understand why you think 4k is overrated. I have Macbook 13.3-inch (2560 x 1600), and it's not the biggest. I easily see the tremendous difference in resolution when i watch youtube in 1080 or 1440 or vimeo 2k and 4k. More details is better, it's just more natural for eyes to see more details like we do in life. How can you argue with this? Even Iphone videos are 4k, we just got use to them. I shoot all videos in 4k on iphone because they look so much better and more real than 1080p. Worse scenario - when i shoot something from a moving car, i can't even see what i'm shooting in 1080p, iphone has wide lens. 4k is much better.

Besides, downscale from 4k to 2k will be better than originally 2k (they say, i didn't try myself, but quite obvious to me).

It's quite impossible for me to choose between bit depth and resolution, both equally important for me.

If today we still don't mind watching 1080p videos, then in a couple of years or say in 10-20 years it will be the same as with 480p today - unbearable to watch. It's only my amateur opinion. I'm curious why you think otherwise.

BTW, i love to extract frames from videos and use it as photos. Higher resolution obviously makes a huge difference. (there is a video in youtube where a photographer compares Red camera (75 fps 8k video) to Hasselblad (photo) and gets impressed with the variety of moments (75 photos/sec) that he misses on Hasselblad. So i'm not the only one freak who does it:)

So i use ML 12 bit, 3k crop with framing live view and suffer)) I second to the mentioned question - will external monitor via HDMI give normal live view?

Thank you and have a great day!


Hello again everybody,

I'm sorry for these stupid questions, i hate to interrupt your development and bug fixing process with this, but i've been wanting to know for a while:
In 4k experimental version:

1) When i choose data format between
14-bit lossless
12-bit lossless
11...8-bit lossless

Is "14-bit lossless" worse quality (less data in video) than "10-bit"?
Is "12-bit lossless" worse quality than "12-bit"?

If in 12-bit lossless format my camera is already pushing the limits (close to be automatically stopped), then i should not try anything above this in this list, such as 10-bit, correct?

2) Is 1080p48 a 14 bit or less bit? Should i use this 4k experimental version to shoot 48 fps or 48 fps is available in stable version as well?

3) Is 1080p24/30 14 bit available in stable version?

4) Will buying a faster card than my Komputer bay 64Gb 1000x CF UDMA7 (advertised record speed 130MB/sec) let me achieve better quality? I know there's a limitation in bus.

5) Are there any external devices exist for 5dM3, like those for other cameras, that may help achieve better quality? I don't mind any extra devices on camera, ugliness of camera or extra expenses.

6) Will external monitor via HDMI give normal live view (not framing)?

7 ) I use settings 3k crop x5, 3072x1308, 2.35:1, 12 bit lossless with framing live view from this tutorial
Is this the best what can be squeezed out of 5dM3 and ML, providing that i wouldn't like to go less than 2:35:1 and 3k or about that?

Or i would appreciate any links to some info...

Thank you a lot for your time.


To answer "whysodifficult"'s question about 10bit,12bit,14bit.

14-bit - No edit to the original Canon 14bit Raw File
12-bit - Is 4 LSB Trimmed (nearly lossless - Almost identical to 14bit visually)
10-bit - Is 8 LSB Trimmed (Small loss of detail in shadows - Still Visually similar to 12bit Overall)
14-bit / 12 / 10 lossless - Bitdepth changes with each type but is Losslessly compressed. This Means there is almost no difference between compressed and not compressed, this is because the compression is Lossless. Lossless compression tries to eliminate data that is not visually useful, therefore visually it is the same.
But because Higher ISO's generate more noise this makes it more difficult for the lossless compression method to work.

14bit Losssless Compression - Only works with 100iso or lower. Works well with LiveView but the only limitation is its pretty much locked at ISO100 but you get 14bit RAW :)

12bit lossless Compression - 100iso to 1600iso - This is my preferred Shooting mode as i almost never go above 1600iso, and at lower ISO's 100-800 Compression is usually always more than 50% which is great for longer shoots.

11bit / 10bit / 8bit - This is variable based on the ISO you are using. 11bit up to 1600iso, 10bit up to 6400iso (i think?).

So all in all this latest branch of Compressed RAW is great for reducing file sizes (in camera) without any visual loss.
Or if your keen to try, (14-12bit-10bit lossless) enables higher resolutions at 24p-30p such as 2.5k 3k 4k.

I think pretty soon a close to 3k 16:9 option should be included as a easy setting for continous shooting :)


Quote from: Kyle Kearns on February 05, 2018, 04:53:52 PM
I have a couple questions....

Is it true that live preview works when using an external monitor?

Also are there any risks using this? Has anyone actually bricked a camera and not revived it?

time ago (few release ago) I try the ninja 2  , on hdmi output, like a 2' monitor on 5d3 , and you have same preview of 5d3  not better !

I think you have only a little vantage, with monitor outside 5d3, and lcd in that closed....more long life battery, and 50% low temperature...



Quote from: kizza1234 on February 08, 2018, 03:10:13 AM
To answer "whysodifficult"'s question about 10bit,12bit,14bit.
14bit Losssless Compression - Only works with 100iso or lower. Works well with LiveView but the only limitation is its pretty much locked at ISO100 but you get 14bit RAW :)

This is completely false.

You can shoot from 100-6400, but the compression struggles more the higher your ISO just like 12 bit lossless will struggle more the higher the ISO.

And there is no ISO lower than 100, unless you go and manually lower the Analog gain or ISO Registries or however it is done.
once you go raw you never go back


There might be some confusion over how to use "Full-res LV" on cameras other than the 5D3 and @OlRivrRat pointed out a bug in the 100D topic so I thought I'd run it on the 700D and came up with yet another issue.

Here are the steps, first of all just activate the crop_rec and silent modules to keep the variables down to a minimum.

Make sure you have the Canon movie settings on 1280/60 (or 50 for PAL) -- Keep the camera in movie mode don't switch to photo mode or it won't work at all.

Turn on crop_rec -- there is only one option on cameras other than the 5D3 and that's the 3x3 720p setting.

Set the silent options to "Full-res LV" and either DNG or DNG Lossless. Because the issue was found with the intervalometer I'm turning it on though that isn't really the issue.

The first DNG will look like crop_rec 3x3 720p should look like:

But after the first shot the crop_rec module will be deactivated and the shots will come out with the regular 720p 3x5 sampling:

The bug reported on the 100D topic is that DNG's aren't being saved at all when the silent options are set to "Full-res LV" but I'm finding that the 700D and EOSM are saving DNG, DNG Lossless and MLV files fine. The crop_rec module being deactivated by the silent module is something I just now discovered. Not sure where to look for a fix for that, much less the issue that OlRivrRat reported on the 100D.