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 3 Guests are viewing this topic.

jimiz

question....  but there is not little confusion about what you can do with 700 D  , not same of 5D3 and viceversa , al all the another models, use, the same experimental file?
I'v read some set's on 700d not working on 5d3 with same results or for nothing... when experimental firmware file is update, is good think put all new togheter for any model ? like dual iso x no aliasing seem not work same of 700d on 5d3 or another model...  so, meaby better compile source firmwares only for 700d ,  for 5d3 and so x alother models?  or not problem to put all togheter on one?
5D3-123

Levas

The idea is to get one file (the crop_rec module) that runs on all cameras.
Simple said, most of the routines used for these new resolutions are the same for all cameras, with the exception that each camera has his own limits and starting values.
So there are pieces in the code where all limits and specific values for each cam are written down, and the rest of the code is basically routines for getting these new resolutions.
By doing it this way, all cameras are using the same routines, so if new development is done, you can do it at once for all camera's.


jimiz

thanks Levas for the explanation  ;)
so there 's  no risk that some rotines specific to a model x, can create malfunctions to another model y, maybe on things that instead in the previous version were fine? for example on the 5d3 with the latest version, and I wondered if this could also depend on insertions of things for the 700d , 100d ecc..
and of course also vice versa ..
just out of curiosity'.. 
5D3-123

Levas

There is always a small chance that in a new version things are broken for other camera(s) or even for all cameras  :P.
But that's what the forum and the user base is for, testing testing testing  ;)

The advantages of doing it this way in one module file, is that new cameras (maybe 5dIV in the future) or older ones like the 5dII, can be added to the code, without writing the whole thing from scratch again.
And other users who can't write code from scratch are sometimes still able to alter the code for other cameras, by entering the limits and starting values for their specific camera.


zalbnrum

Quote from: Litewolf on September 18, 2018, 10:44:21 AM

  • How can I turn on 4096x1440 @ 25p (1:1 crop) on my 5dMk3?
I've installed the latest experimental built magiclantern-crop_rec_4k.2018Jul22.5D3113.





While I've sucessfully recorded in 3.5K 1:1 centered x5, I can't figure out how to turn on 4096x1440 @ 25p (1:1 crop).

No combination of Crop mode and RAW video in the ML menu seemed to achieve that resolution.
Did I forget to make some settings in a certain module?

I was confused with that when I tried this experimental build at first too. There is no 4096x option in latest builds, even if it says so in the first post and in text next to DL options. Even if it was, you wouldn't get many frames. But I think it will be at some point if 11...8 bit lossless combined with CF overclocking works one day. There is so much developing going on, that it is almost impossible to even follow or fully understand what is going on.

So my question here: If I want to try 1X3 binning Dual ISO on 5DmkIII 113, where is it possible to download such crop_rec module and how to set it; did anybody try it on 5DIII?

theBilalFakhouri

@a1ex

I noticed flickering with new crop_rec it becomes stronger when using high shutter speeds such as 1/500 1/1000 etc and very visible in Full range shutter speeds 1/32K I thought it was from dual iso but it's look like from shutter speeds.

Is this also in 5D3?

a1ex


Levas

Are we talking daylight or artificial lighting (50Hz/60Hz electricity) ?


Levas

Weird.
Did a quick test with max shutterspeed on the 6d, 1/25000 of a second, no flicker.

Are you sure there's no light source in the frame, maybe computer monitor or something ?
And are you in full Manual mode, there's no chance autoexposure tries to compensate with iso or aperture ?

a1ex

On 700D, the registers used for shutter speed override, ADTG[805F/8061], are toggled back and forth between two values.

If you override the shutter speed from adtg_gui, do you get similar flicker?

If not -> it's a roundoff error that we should fix in crop_rec
If yes -> we may need to flip that register back and forth in crop_rec or figure out some other trickery.

theBilalFakhouri

Overriding from adtg_gui give similar flicker. Also I think the problem in the build not in crop_rec I chose from Canon menu 1080p24 then set the shutter speed to 1/4000 there is no flicker and I can see in ML menu the shutter speed swing between two values with really tiny distance 1/4328.80 and 1/4329 so nothing noticeable and this the normal from Canon.

But once you turn on FPS override and override FPS to 23.976 same as Canon menu the flicker appears and the distance increased between the values 1/4328.80 to 1/4040.20 and it causing the flicker without using or even loading crop_rec. I am using the build from crop_rec_4k branch which is support shutter blanking.

Edit: @Levas
No, everything is normal no flicker in all shutter speeds until using fps override or crop_rec :P

togg

Finally got to test the new MLV lite module with sound. JUL22, 5D3 113. Those are the first bug that I notice that impact my workflow:

1) Rec indicator works only on elapsed time.

2) Sync bip doesn't work.

3) Changing ISO provokes various anomalies on the liveview.


Also the silent picture modules doesn't seem to honour the exposure settings. And sometimes it recorded in the CF card and sometimes in the SD.

a1ex

1) H.264 only; same as previous builds
2) disable sound recording
3) ?!
4) - with plain full-res, known limitation; otherwise, the silent picture module won't alter exposure on its own
    - if using crop_rec or FPS override, double-check submenu settings (some options will change shutter speeds)
    - with full-res LV, exposure looks OK to me (matches LiveView brightness and metadata shows exposure values dialed in Canon menu).
5) it uses the card selected in Canon menu.

Quote from: zalbnrum on September 22, 2018, 01:19:30 PM
There is no 4096x option in latest builds

In the crop_rec menu, look for 4K instead of 4096. Just tested and it's still working.

togg

1-2) Right! I kind of remembered about it. Too bad.

3) When I tried to change ISO while recording the ISO overlay came up, then didn't want to disappear etc.

4) I need to spend more time in this. I didn't use plain full-res. I *think* I've used full-res LV, I mean I've selected it from the silent pic menu and then shoot in photo mode LV. Brightness didn't match and values neither. But I'll try to be more precise tomorrow.

5) Weird, I hadn't change it while testing. I'll try again.

zalbnrum

@Alex: @Litewolf asked about 4096x1440 @ 25p (1:1 crop); in my menu there is only 4K 1:1 half fps - 12.5fps. Am I missing something?

a1ex

Quote from: togg on September 29, 2018, 09:44:23 PM
I *think* I've used full-res LV, I mean I've selected it from the silent pic menu and then shoot in photo mode LV

Right, this might be the issue. In photo mode, Canon firmware selects exposure settings that are - most of the time - very different from the settings dialed in Canon menu; they are chosen to give the same overall brightness (that's called exposure simulation). Otherwise, photo mode LV on 5D3 is pretty much the same as 1080p30, but crop_rec only looks at video settings, so... to use this trick in photo mode, it looks like you need the video mode set to 1080p30 (that's a bug). Otherwise there will be some exposure mismatch.

Besides, Canon's exposure simulation choices are not always obvious. For example, for ISO 100 1/50 dialed in Canon menu, they picked ISO 100 1/120 for the LiveView exposure. No idea why. It might be appears to be their underexposure bug with manual lenses (I've used one during the test). Edit: re-tested with 50/1.8 STM; got 1/120 at f/2.8 (the setting when powering on) and 1/50 when opening the aperture to f/1.8.

Enabling exposure override in ML menu switches to our own ExpSim algorithm, which should be a little more predictable. In M mode, it tries to use dialed settings, unless it requires out-of-range exposure times; in this case, it switches the ISO. It doesn't touch aperture at all (at least at the time of writing).

togg

Quote from: a1ex on September 30, 2018, 08:26:25 AM
Right, this might be the issue. In photo mode, Canon firmware selects exposure settings that are - most of the time - very different from the settings dialed in Canon menu; they are chosen to give the same overall brightness (that's called exposure simulation). Otherwise, photo mode LV on 5D3 is pretty much the same as 1080p30, but crop_rec only looks at video settings, so... to use this trick in photo mode, it looks like you need the video mode set to 1080p30 (that's a bug). Otherwise there will be some exposure mismatch.

Besides, Canon's exposure simulation choices are not always obvious. For example, for ISO 100 1/50 dialed in Canon menu, they picked ISO 100 1/120 for the LiveView exposure. No idea why. It might be appears to be their underexposure bug with manual lenses (I've used one during the test). Edit: re-tested with 50/1.8 STM; got 1/120 at f/2.8 (the setting when powering on) and 1/50 when opening the aperture to f/1.8.

Enabling exposure override in ML menu switches to our own ExpSim algorithm, which should be a little more predictable. In M mode, it tries to use dialed settings, unless it requires out-of-range exposure times; in this case, it switches the ISO. It doesn't touch aperture at all (at least at the time of writing).


Ok thanks, this is clear now.

- Use video mode for fullres LV.

- Use exposure override for manual lenses.

It makes sense, my mistake was that I remembered from the past that you should be in photo mode for silent pic. Probably a text when selecting it would help.

This is one of my favourite new features honestly, 48fps is nice but silent shooting on a dslr is so important for so many situations. The only problem now is the strong lag in order to take the picture. Wouldn't be possible to have some kind of pre recording working in the module? A burst mode would help as well.


Looking at the 14lossless option I've noticed that it says ISO <100. Why this advice? Does it change anything if I shoot ISO 1600 in 14bit uncompressed or lossless?

Walter Schulz

High ISO will produce more noise affected pixel. Those random pixels will not work well with compression. Worst case: "Compressioned" pic will be bigger in size than uncompressed.

a1ex

Yeah, video mode is the best option for full-res LV right now.

Pre-recording: there are a few options, but none of them is what I'd call user friendly. That's mostly because I didn't use the camera too much since introducing this feature (unfortunately), so I didn't really feel their shortcomings.

I might add one more:

- crop_rec.mo, silent.mo
- crop mode: full-res LV; silent mode: burst, end trigger, lossless DNG
- press and hold half-shutter; release to save the last frame (fixme: should be able to save 3 frames...)
- mlv_rec.mo for preview (not very nice, but...)

I did try to implement a full-shutter trigger, with only partial success; still triggered a shutter actuation every now and then. Managed to save a CR2 as well, but decided not to publish it, as it was too much of a hack. Also managed, to some extent, to change the video resolution on the fly, but required a few seconds to recalibrate the vertical stripe corrections, so... it wasn't exactly usable for a real-time preview with small shutter lag in full-res mode. These happened somewhere before April 1st (I had a bunch of pretty interesting proof of concepts, but none of them was exactly ground-breaking, and only the SD hack worked reasonably well...)

ISO < 100: that means 14 bits may be a little overkill even for ISO 100 (12-bit should be nearly just as good in theory, although I didn't test much). The message also anticipates the reduced ISOs from the CMOS/ADTG research thread, where the additional dynamic range may require a higher bit depth when recording. First post has a colored matrix which links to some more details.

togg

Quote from: Walter Schulz on September 30, 2018, 03:01:09 PM
High ISO will produce more noise affected pixel. Those random pixels will not work well with compression. Worst case: "Compressioned" pic will be bigger in size than uncompressed.

Daamn. But what about the quality? Is it exactly the same according to your test? I'll try to test how much bigger does it get...

togg

Quote from: a1ex on September 30, 2018, 03:15:18 PM
Yeah, video mode is the best option for full-res LV right now.

Pre-recording: there are a few options, but none of them is what I'd call user friendly. That's mostly because I didn't use the camera too much since introducing this feature (unfortunately), so I didn't really feel their shortcomings.

I might add one more:

- crop_rec.mo, silent.mo
- crop mode: full-res LV; silent mode: burst, end trigger, lossless DNG
- press and hold half-shutter; release to save the last frame (fixme: should be able to save 3 frames...)
- mlv_rec.mo for preview (not very nice, but...)

I did try to implement a full-shutter trigger, with only partial success; still triggered a shutter actuation every now and then. Managed to save a CR2 as well, but decided not to publish it, as it was too much of a hack. Also managed, to some extent, to change the video resolution on the fly, but required a few seconds to recalibrate the vertical stripe corrections, so... it wasn't exactly usable for a real-time preview with small shutter lag in full-res mode. These happened somewhere before April 1st (I had a bunch of pretty interesting proof of concepts, but none of them was exactly ground-breaking, and only the SD hack worked reasonably well...)

ISO < 100: that means 14 bits may be a little overkill even for ISO 100 (12-bit should be nearly just as good in theory, although I didn't test much). The message also anticipates the reduced ISOs from the CMOS/ADTG research thread, where the additional dynamic range may require a higher bit depth when recording. First post has a colored matrix which links to some more details.


I can see how complex it is to balance the feature between multiple modules. But seems like the capability is there at least! I've read again your first post, looks like you wanted to makes this a feature used mostly for stills, which makes sense to me.

"Fast half-shutter trigger (with negative shutter lag)" is a decent solution that I should try to set up and test. The new one you propose looks maybe even better.



Quote(That means, 14-bit lossless will give raw data identical to uncompressed 14-bit (100% identical, not one single bit different, contrary to some earlier report)
"=> there's nothing to gain by using a lower bit depth at a higher ISO + underexposure."



Oooh, ok! Of course. Now I get it. Why should anybody do that? Clearly noisier images are more difficult to compress. My concern was about a change in quality, if there's none I don't care if sometime compression change expected size, I'll work under the assumption that recording time isn't fixed.
I don't trust 12bit enough, I had see some difference in other people testing.

mothaibaphoto

Hello, guys, I want to participate in "full-res LV in video mode" discussion.
My ultimate goal is to solve 2 main (for me) silent timelapse shortcomings:
1. No aperture control on USM/STM lenses.
2. Long exposure limitation.
And "full-res LV in video mode" looks as the best solution for rise the timelapse capabilities of ML: Video mode brings control for aperture on its own. And full-res LV adds exposure control. That was my idea.
Spoiler: After spending all day i come to conclusion, that full-res LV is very interesting proof of concept, but barely usable in it's current stage. It need correct exposure readings, integration with intervalometer and Auto ETTR.
Details. I loaded crop_rec, ettr, silent and start experimenting in manual video mode. crop_rec_4k.2018Jul22.5D3113, EF 35mm f/2 IS USM
1. Auto ETTR disabled due "This feature requires you shooting raw". So no Auto ETTR.
2.I dial to shortest exposure - 1/33 and press half shutter - and got brighter image with 1/7 on preview. Preview has no histogram, no way to estimate exposure.
1/50 corresponds to 1/11, 1/130-1/29, 1/1000-1/310.
3. I started intervalometer. It takes pictures, but if canon's image review is "hold" you need to press half shutter yourself every time, and if you make image review "Off" intervalometer gets disabled  - "Auto ETTR: enable image review". But keeps working, even with preview.
4. Ok, exposure is wrong, but controllable, is it possible to get longer than 1/7 exposures? I started to activate crop mode "Full res LiveView" and FPS override in various combinations. Crop mode always makes preview distorted. FPS override affects only on preview, but not actual image taken with full-res LV.
5. Finally, I unloaded crop_rec and changed silent mode on full-res. Yes, it warns that works only on photo mode and not works with half shutter. But, works via intervalometer. Surprisingly, Auto ETTR with intervalometer works too, and histogram on preview. Sadly, it looks like silent full-res in video mode suffer from all the shortcomings: no long exposures due to video mode and no short exposures due to silent full-res limitations.

a1ex

Yeah, this is precisely what I meant by "not what I'd call user friendly".

Long exposure: FPS override works to some extent, but it triggers after the video mode change, so it won't work with the relatively quick trigger from the silent module. Using mlv_lite + half-shutter trigger might be a better option; you get some sort of preview, too. Use a Lua script to generate periodic half-shutter triggers, something like this (not tested):


-- Half-shutter intervalometer

interval = 2000 -- ms
t_next = dryos.ms_clock  -- will add "interval" later in the loop

while true do
    key.press(KEY.HALFSHUTTER)
    msleep(500) -- time to hold half-shutter pressed
    key.press(KEY.UNPRESS_HALFSHUTTER)

    -- wait for next interval
    t_next = t_next + interval
    while dryos.ms_clock < t_next do
        msleep(10)
    end
end


ETTR doesn't work while recording because... it's known to cause large jumps until it settles. It's not aware of recording triggers and other recent stuff. Canon's auto exposure might work; didn't try.

mothaibaphoto

Ok, Thank you, finally, if ETTR lost anyway, I found simple working variant: Av, autoISO, mlv_lite, crop_rec, Full-res LiveView, FPS override. Works pretty well, except everything gets slow(and autoISO) the less FPS you choose.