Bilal's crop_rec_4k experiments for 650D / 700D (T4i / T5i)

Started by theBilalFakhouri, September 18, 2020, 07:51:30 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

theBilalFakhouri

Quote from: Icaab on January 18, 2023, 09:34:42 PM
Yes, I know about the darkframe, but what's the point when I have a bright picture, shooting was with 200 iso and the exposure settings were not properly changed in mlvapp? I'll try it next time, but I've never seen such a problem with vivid frames

Just to make sure, you are not talking about "flickering" because of artificial lighting?

I mean by "flickering" is like this.
Because two of your MLV samples have flickering, "M30-0803.mlv" and "M30-0751.mlv" clips.

Also, could you share a rendered "vivid frame" which shows the artifacts clearly?

I don't have such problem on my 700D, and if you was talking about something like fixed-pattern noise, there is no magic setting can remove it, so I can't fix something like this.
Beside, every sensor has its own fixed-pattern noise . . the simplest way I know to get rid of it is to use a darkframe.

Quote from: Icaab on January 18, 2023, 09:34:42 PM
Bilal, what Walter Schulz meant when he said 
How do I do that?

He means to use uncompressed MLV RAW format, like 14-bit uncompressed, you can find the setting in "RAW video" submenu which is "Data format".
If the required write speed was too high, reduce the resolution until you have ~80 MB/s required write speed, to be able to do the test.

Also, you need to use hacks and pic quality trick to maximize write speed, these were coverd in first post in this thread.

theBilalFakhouri

Quote from: ML700D on January 19, 2023, 03:58:24 AM
just curious, is it possible to implement transfer function like in mlvapp to camera?
I think it would be great to have log recording in camera..

For H.264 recording?

I don't know if that possible also I don't know how transfer function works (even in MLVApp), but in general someone needs to understand Canon pipeline for image processing, if we are lucky enough it could be there some kind of "transfer function", but again . . someone needs to find from where the parameters could be controlled (assuming if there is a "transfer function").

If there isn't, I think it would hard, for processing speed there are hardware accelerators used for image processing in our cameras, and good luck with figuring out how to use them for our purposes.


ML700D

Quote from: theBilalFakhouri on January 20, 2023, 12:14:44 AM
For H.264 recording?
for mlv recording.. like other cam that use log to record video

Quote from: theBilalFakhouri on January 20, 2023, 12:14:44 AM
I don't know if that possible also I don't know how transfer function works (even in MLVApp), but in general someone needs to understand Canon pipeline for image processing, if we are lucky enough it could be there some kind of "transfer function", but again . . someone needs to find from where the parameters could be controlled (assuming if there is a "transfer function").

If there isn't, I think it would hard, for processing speed there are hardware accelerators used for image processing in our cameras, and good luck with figuring out how to use them for our purposes.
I see..

btw, I found this on Wikipedia Transfer Functions in Imaging



EOS 700D


azki

Hi. I'm sorry if this topic has already been discussed, but I have a question... First of all, thank you Bilal and all other users for the work you have been doing with these experimental builds. My question is with regards to the raw video live-view and the displayed aspect ratio (AR) using the latest 700D build. I like to use "Crop mode" (the normal version, not V2) and "RAW video"; the camera does not display the correct AR I selected and this happens with any crop preset I use. The only solution is to choose my settings and then restart the camera. It then will show the correct AR setting once booted, but it defaults to an incorrect view right after recording and I have to keep restarting inbetween every shoot. Is this a common "issue"? I have tried changing the Preview option to "Framing" but it always defaults to "Real-time".
Canon EOS 700D

theBilalFakhouri

Hello @azki , thanks!
I never had such an issue. Could you record a video shows the problem, what are you doing and ML settings, then upload it on Youtube?

In presets which have real-time correct previews like 1x3 presets, the preview will be always set to real-time automatically, because "Framing" preview doesn't make sense if real-time preview is correct.
I will change this behavior later this year in a new build.


theBilalFakhouri

Quote from: ML700D on January 20, 2023, 05:30:50 AM
for mlv recording.. like other cam that use log to record video

AFAIK, Transfer Function or "LOG" is only applciable to compressed lossy formats (like ProRes, H.264, H.265 ..etc), but not to RAW data.

ML700D

Quote from: theBilalFakhouri on January 23, 2023, 09:30:21 AM
AFAIK, Transfer Function or "LOG" is only applciable to compressed lossy formats (like ProRes, H.264, H.265 ..etc), but not to RAW data.

I see..
can ml build add more format beside RAW maybe prores or something else better than just 8 bit canon recording?
so the log can be applied, I think it will be more versatile..

I hope.. 😅
EOS 700D

Walter Schulz

Thread "Features that are NOT possible -  please don't request them"
Quote from: a1ex on May 24, 2012, 02:02:23 PM
Custom codecs
Codecs are not implemented on the general-purpose ARM processor. We can only use what Canon has already included in hardware (H.264, JPEG, LJ92) and fine-tuned their parameters (such as the H.264 bit rate).

The lossless compression used for raw video is the same "codec" Canon uses for CR2. The same processing path (codenamed JPCORE) might be able to handle (M)JPEG. However, we cannot implement additional codecs (such as H.265, JPEG2000 or ProRes). Even if these might be able to run on Canon's image processing hardware, we simply don't know where to start.


ML700D

ah.. I see..
thanks Walter for the explanation..

No more wild thoughts, I accept ML as it is..

📸
EOS 700D

ML700D

is it save just to copy from already installed ML and paste to new card?
or I have to fresh install again in new card?

thanks.
EOS 700D



azki

Quote from: theBilalFakhouri on January 23, 2023, 09:22:40 AM
I never had such an issue. Could you record a video shows the problem, what are you doing and ML settings, then upload it on Youtube?

Hi Bilal, thank you for your response.

I am sorry, I was testing a little bit more and while I was recording a short video of my settings to show you, I just realised I might have misuderstood how these 1x3 crops were supposed to be used. I was using the 4.3K 1x3 setting in crop_rec and seems like this preset is meant to record 4.3K in 2.35:1 aspect ratio (AR) only, giving me a "final" un-stretched resolution of 4320x1836, right? I was incorrectly trying to use this preset to record in different "less wide" ARs, like 1.85:1 or 2.00:1 (and of course you can't get more vertical pixels in there, but I was expecting it would crop it somehow repesctively to the AR I selected in the RAW video option). Since it is not possible it then reverts the live-view to the correct 2.35:1 AR for use with that preset. When I said that if I reboot the camera the correct AR would then display (1.85:1 for example), it actually is displaying the resolution as it would with crop_rec turned off and using mlv_lite only (3x3 with max height resolution of 1736 px in any AR). I guess what I should do is use your 4K 1x3 preset for 2.00:1 videos and UHD 1x3 with a bit of cropping for 1.85:1. If I want to record with a custom AR (lets say 1.70:1), in a resolution higher than ~2K, is best to play around with crop_new and try out different settings, right?

Thank you once again, I don't know if this made any sense xD
Canon EOS 700D

theBilalFakhouri

Yes, maximum AR and resolution should be used in 1x3 presets in crop_rec, these how presets work currently. reducing resolution or changing AR from RAW video while using these presets will result in wrong cropped RAW data and wrong real-time preview.

That's why I wrote the following, in first post in this thread :):

Quote from: theBilalFakhouri on September 18, 2020, 07:51:30 PM
General notes:
-Use maximum aspect ratio and and resolution from mlv_lite when using crop_rec presets with real-time correct preview, otherwise mlv_lite won't crop the RAW data correctly.

Unfortunately, tweaking or making new 1x3 presets with correct preview and with different aspect ratios isn't a simple task currently.

Quote from: azki on January 25, 2023, 02:57:58 AM
If I want to record with a custom AR (lets say 1.70:1), in a resolution higher than ~2K, is best to play around with crop_new and try out different settings, right?

Correct, but you will lose the real-time correct preview, LiveView will be stretched. However "Framing" preview will be still an option to use with crop_new.

Quote from: azki on January 25, 2023, 02:57:58 AM
Thank you once again, I don't know if this made any sense xD

Yes, everything you wrote made sense and seems correct, no problem :)

Icaab

Quote from: theBilalFakhouri on January 19, 2023, 11:50:24 PM
Just to make sure, you are not talking about "flickering" because of artificial lighting?

I mean by "flickering" is like this.
Because two of your MLV samples have flickering, "M30-0803.mlv" and "M30-0751.mlv" clips.

Also, could you share a rendered "vivid frame" which shows the artifacts clearly?

I don't have such problem on my 700D, and if you was talking about something like fixed-pattern noise, there is no magic setting can remove it, so I can't fix something like this.
Beside, every sensor has its own fixed-pattern noise . . the simplest way I know to get rid of it is to use a darkframe.

He means to use uncompressed MLV RAW format, like 14-bit uncompressed, you can find the setting in "RAW video" submenu which is "Data format".
If the required write speed was too high, reduce the resolution until you have ~80 MB/s required write speed, to be able to do the test.

Also, you need to use hacks and pic quality trick to maximize write speed, these were coverd in first post in this thread.

Hello
Yes, I was wrong: my homemade LED light starts banding when I reduce its luminosity with a dimmer. I will redo it.
Vivid frame - this is the source of M30-_, where banding is visible

Bilal, tell me: I correctly understand that with firmware correctly shooting with minimal ISO? I always lack light and I for the video include ISO 200 because of the fear that there will be a lot of color noise if there is ISO higher.
However, MLVApp has a feature to remove color noise and then with 400 ISO footage looks not so bad. Although the same scene varies between 200 and 400 ISO...are they a little different in their sharpness...
https://mega.nz/folder/a1ojlbwK#ZFBsusu_4owrUakcbfvXUw

ML700D

hi bilal,
I got dual ISO flicker issue using 1440p 1x1 100/800 pressed record in 10x view
and one with standard raw 3x3 recorded in 5x view

here: Sample Files

btw, when using preset the shutter is changing now.. not 180° or 1/50?


thanks.
EOS 700D

theBilalFakhouri

Quote from: Icaab on February 01, 2023, 10:33:12 AM
Bilal, tell me: I correctly understand that with firmware correctly shooting with minimal ISO?

ISO 100 is the minimal on 650D/700D and probably the native ISO. You can already shoot at it.

Quote from: Icaab on February 01, 2023, 10:33:12 AM
I always lack light and I for the video include ISO 200 because of the fear that there will be a lot of color noise if there is ISO higher.

Add more light or use a video denoiser in post. Neat Video does a great job, also Davinci Resolve. If there is no much movement on your scene you will want to use temporal denoising.

Quote from: Icaab on February 01, 2023, 10:33:12 AM
However, MLVApp has a feature to remove color noise and then with 400 ISO footage looks not so bad. Although the same scene varies between 200 and 400 ISO...are they a little different in their sharpness...
https://mega.nz/folder/a1ojlbwK#ZFBsusu_4owrUakcbfvXUw

Higher noise = lower sharpness/details

In 650D/700D usable ISO range is 100-1600, I mean by "usable" that when switching to higher ISO . . the shadows become cleaner in cost of dynamic range (in highlights).
e.g. Going from 100 ISO to 200 ISO you get 0.9 stops cleaner in shadows, but you lose 1 stop in highlights (if there is clipping), other ISOs (this applies to video mode, in photo mode shadows might be better):

-Going from 100 ISO to 200     (+0.9 stop cleaner in shadows, -1 stop  in highlights)
-Going from 200 ISO to 400     (+0.8 stop cleaner in shadows, -2 stops in highlights)
-Going from 400 ISO to 800     (+0.3 stop cleaner in shadows, -3 stops in highlights)
-Going from 800 ISO to 1600   (+0.3 stop cleaner in shadows, -4 stops in highlights)
-Going from 1600 ISO to 3200 (+0.1 stop cleaner in shadows, -5 stops in highlights)

So:
-Going from 100 ISO to 400   (+1.7 stop cleaner in shadows, -2 stops in highlights)
-Going from 100 ISO to 800   (+2.0 stop cleaner in shadows, -3 stops in highlights)

So using higher ISO in low light and as long as there is no highlights clipping (because of higher ISO) you should use higest usable ISO from 100 to 1600.

If we matched exposure in MLVApp for your clips:

-M31-1541, 200 ISO, pushed +1 stop in MLVApp:


-M31-1540, 400 ISO:


400 ISO clip is apparently cleaner (view images in full size), and you didn't lose highlights (you didn't reach clipping point).


Same frames +3 stops:

-M31-1541, 200 ISO:


-M31-1540, 400 ISO:


-M31-1540, 400 ISO, with neat video:


Results will be better if you used dark-frame too (e.g. before de-noising).

theBilalFakhouri

Quote from: ML700D on February 18, 2023, 05:36:23 AM
hi bilal,
I got dual ISO flicker issue using 1440p 1x1 100/800 pressed record in 10x view
and one with standard raw 3x3 recorded in 5x view

here: Sample Files

Hello!

Good samples, unfortunately the issue is coming from Dual ISO processing algorithm, not from my builds. I only tested MLVApp and there is flickering. Didn't test cr2hdr, may work better.
More likely it's something related with black level in Dual ISO processing algorithm.

-But why you are uisng 12-bit uncompressed?

AFAIK, Dual ISO works better in 14-bit (either uncompressed or lossless), but for lower bit-depths and for Dual ISO, always use lossless, it works better than uncompressed lower bit-depths.
And that's probably because black level there is same as 14-bit lossless (maybe that's why Dual ISO works better at lower bit-depths in lossless).

Quote from: ML700D on February 18, 2023, 05:36:23 AM
btw, when using preset the shutter is changing now.. not 180° or 1/50?


Correct, it seems you are using Full "Shutter range" in "Crop mode" submenu. This way you will need to read shutter speed from ML menu to get the correct shutter speed, and not from Canon overlay which would be incorrect.

ML700D

Quote from: theBilalFakhouri on February 19, 2023, 07:32:50 AM
Hello!

Good samples, unfortunately the issue is coming from Dual ISO processing algorithm, not from my builds. I only tested MLVApp and there is flickering. Didn't test cr2hdr, may work better.
More likely it's something related with black level in Dual ISO processing algorithm.

Oh.. I see, thanks for explanation.

Quote from: theBilalFakhouri on February 19, 2023, 07:32:50 AM
-But why you are uisng 12-bit uncompressed?

AFAIK, Dual ISO works better in 14-bit (either uncompressed or lossless), but for lower bit-depths and for Dual ISO, always use lossless, it works better than uncompressed lower bit-depths.
And that's probably because black level there is same as 14-bit lossless (maybe that's why Dual ISO works better at lower bit-depths in lossless).

I use 12-bit just for experiment only, because I saw in ML note that 14-bit lossless recommended iso < 100 that's why I tried 12-bit uncompressed lol.
so, is it better to use just 14-bit lossless for all other recording too?

Quote from: theBilalFakhouri on February 19, 2023, 07:32:50 AM
Correct, it seems you are using Full "Shutter range" in "Crop mode" submenu. This way you will need to read shutter speed from ML menu to get the correct shutter speed, and not from Canon overlay which would be incorrect.
ah.. I see, thanks bilal.. problem solved
EOS 700D

theBilalFakhouri

Quote from: ML700D on February 19, 2023, 03:22:04 PM
I use 12-bit just for experiment only, because I saw in ML note that 14-bit lossless recommended iso < 100 that's why I tried 12-bit uncompressed lol.

You get the best compression at 100 ISO yes (in term of file sizes), that's what that mean. But the quality is identical among uncompressed vs lossless, you don't loss any data.
Also, you always get small file sizes if you used lossless compared to uncompressed (50-60% compression in lossless). There is no real point to use uncompressed.

Quote from: ML700D on February 19, 2023, 03:22:04 PM
so, is it better to use just 14-bit lossless for all other recording too?

Yes, always select 14-bit lossess under RAW video submenu.
If you are using crop modes and you want to use lossless at lower bit-depths, there is another bit-depth in "Crop mode" submenu, you can select lower bit-depths from there.

ML700D

EOS 700D

iaburn

Quote from: ML700D on February 18, 2023, 05:36:23 AM
hi bilal,
I got dual ISO flicker issue using 1440p 1x1 100/800 pressed record in 10x view
and one with standard raw 3x3 recorded in 5x view

here: Sample Files

btw, when using preset the shutter is changing now.. not 180° or 1/50?


thanks.

Hi, if you are using windows, can you please try this build and see if there is less flickering?: https://mega.nz/file/A1tiTASK#OK46h1pPjzsJDILuHyoGQNbLWM6VVm0u7lUfm41CE1A
If you use mac, you can try compiling this fork: https://github.com/anibarro/MLV-App


sriver_fx

Hi Bilal and everyone on this thread. Reading all your messages inspired me to get a 650d and try magic lantern for the first time.
Its amazing to see a great discussion and an amazing support from you Bilal. Thank you for that.

I haven't installed your ML version yet as I want to check with you and the members on the thread first about the SD card. I've read all the pages and I could find that you recommend the Sandisk Extreme PRO 64GB 170MB/s that works well in 240hz. Can I also get an even faster SD card that support higher writing speeds? Will it be also stable?
Maybe the camera wont be able to achieve higher writing speed but I am thinking that I will be able to use it in a newer model in the future.

Thank you again for your amazing firmware and the support on this channel.

Walter Schulz

Quote from: sriver_fx on March 04, 2023, 12:17:04 PM
Can I also get an even faster SD card that support higher writing speeds? Will it be also stable?

Here is a small list of recommended cards:
https://www.magiclantern.fm/forum/index.php?topic=25841.0

And there is no way to predict card type's reaction to overclocking. It is trial and error.