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.

Danne

@timbytheriver
What happens if you set Kill global draw to ON under RAW video menu and turn off audio? I suspect you really need to downgrade your firmware version to 1.1.3. Not the same power horse with later firmware. Also try reducing resolutin to something like 1728x972.

timbytheriver

@Danne. Thanks for your help, but none of that works with 48fps / NTSC/60fps selected. Still get those code errors the instant I hit record. Interesting about v 1.1.3 ... But I use HDMI out ... :(
5D3 1.1.3
5D2 2.1.2

timbytheriver

Gone back to 'Experiments page' 4k crop_rec build 22Jul2018.

Can't dial in any vert resolution above 1320 in 3K, 3.5K, or UHD. Tried all sorts of combinations. I'm sure I had 3072 x 1728 working at one time...  :o

Any suggestions pls?

Is there a more stable build than 22Jul2018? I think I read somewhere on the forum that this build had problems.


Thanks.
5D3 1.1.3
5D2 2.1.2

miket

@timbytheriver, did you try setting a higher resolution crop mode then exit and return to live view before returing to your preferred crop mode?  Sometimes that works for me.  Also try a 24 fps mode in the canon menu if you don't already have that set.

timbytheriver

Thanks. Have tried that – and restored ML to defaults etc.

If I set say, UHD and set res to 2880x1536, it shows that, but when I record and playback, the info shows it has only recorded 2880x1320. It's like it's got itself locked to a max vert res of 1320!

Any help appreciated.

CF Card KB1066x (been fine...)
5D3 1.1.3
5D2 2.1.2

timbytheriver

To answer my own question and for anyone else having this problem:

I downgraded my firmware to 1.1.3 (from 1.2.3) and installed Danne's 4K crop_rec build from 2/4/19 https://bitbucket.org/Dannephoto/magic-lantern/downloads/

I can now get resolutions up to 1536 vert so far. Getting dialled in resolutions to 'stick' after setting still seems to need a bit of dial-voodoo – press Canon MENU button a couple of times, press zoom (x5, x10) exit, or restart.

An observation: Sometimes it's not crystal clear whether a 'Crop Mode' absolutely requires the Zoom (x3) button to be set. Sometimes there's a help text saying so, others not. I'm sometimes confused until I playback as to what mode I'm exactly recording in. Is there a way to make this clearer/automatic?

5D3 1.1.3
5D2 2.1.2

rob_6

***Is there a shutter speed limitation in x5 crop mode when shooting 3k? If I am at 1/1250th for example in HD non-crop mode and then I go into crop mode then the shutter speed will say 1/110 and it gets really bright. Is there a limit on how high the shutter speed can go in crop mode? I searched, but couldn't find the answer. Thanks!

***UPDATE: I was having this issue in the March 10th build. In the latest build I can use any shutter speed I want.

2blackbar

Before someone else will answer i can say that i suspect 3k is implemented as fullscale silent pictures modification and silent pictures are taken with very low shutter speeds only like 1/10 , you cant use 1/50 with them.You can read more about it in silent pics module thread.
Probably highest mode with free shutter speeds is 2.5k or anamorphic modes.

mothaibaphoto

Before anyone will believe it's true, need to say thanks god NO, x5 crop mode has nothing to do with FRSP and it's exposure limitations.
If so, that will be completely unusable for any realtime video, only for timelapses.
x5 mode originally intended to LCD only, so it 30 fps despite your actual settings and exposures are different too.
Need to play with FPS/Exposure override to mutch x5 to non-crop.

Dionisgr

Good day! Am I wrong or is this firmware in mlv recorded without sound? On my 650Д even have mlv sound menu although the module is included!
canon  650d EF-S 18-55 IS II, Industar-50-2, Industar-61 L/Z MC, Jupiter-37A

Walter Schulz

Do you mind telling us which "firmware" you are using? BTW: ML is not firmware ...
And which settings you use?
Modules you loaded?

http://www.catb.org/~esr/faqs/smart-questions.html#beprecise

Dionisgr

Magic Lantern crop_rec_4k.2018Jul22.650D104
Camera   : 650D
Firmware : 104
Changeset: c1e44b8e0183 (crop_rec_4k_mlv_snd) tip
Built on : 2018-07-22 13:12:39 by jenkins@nightly
___
Loaded modules:
adv_int
crop_rec
mlv_lite
mlv_play
mlv_rec
mlv_snd
pic_view
raw_twk
silent
____
When enabled RAW video (At use MLV_dump there is a blank audio file), And when RAW video (MLV) only the sequence DNG no audio file.
canon  650d EF-S 18-55 IS II, Industar-50-2, Industar-61 L/Z MC, Jupiter-37A

dfort

Don't load mlv_lite and mlv_rec at the same time. They will conflict with one another.

With the 650D and crop_rec_4k_mlv_snd try loading just mlv_lite and mlv_snd and report back.

Dionisgr

Unfortunately check it is not possible! Downloaded from the website of newly unpacked set.  when you turn on any modules after you restart the screen " failed to link modules "
updating Movie Tweaks -> Movie Loading
updating Movie Tweaks -> Time indicator
and tcc: error: undefined symbol 'lossless_decompress_raw'
canon  650d EF-S 18-55 IS II, Industar-50-2, Industar-61 L/Z MC, Jupiter-37A

Kharak

Ask for advice, when supplied with the solution, deny it ...
once you go raw you never go back

Danne

Been taking a dive into shutter blanking to understand how to fix an issue. Whenever selecting x5 zoom all is read and showing fine shutter readings. Until I change timer b for preset reasons. For instance, setting fps to 24 instead of keeping native (around)29.997 when going into x5 zoom is cruicial for higher resolutions. Changing timer b in this case will fool shutter readings still thinking I´m in 29.997? At least that´s how I understand this particular issue. Looking into shutter blanking routines in crop_rec.c and fps-engio.c it´s all very, very hard to find out what numbers to work on. I found out it all ends up in lens.c and then gets presented onto the display but under the hood. Very hard.
Issue example:
shutter showing 1/50 staying coherent to canon presentation which also shows 1/50. Going into adtg gui pushing timer b so now we have 24 fps instead of 29.997. Shutter suddenly lands on 1/35. Canon still in 1/50, hm.

A bit confused here. Is magic lantern presenting the correct shutter but canon is fooled here by the reg change? Would be great if I could get confirmation to wether this is a bug or not.
Thank you!

EDIT: The same shutter discrepancy seems to occur in x1 mode after changing timer b with different shutter readings.

EDIT2: Also tested to undefine shutter blanking code(also erase stuff in crop_rec.c) and run some older routines and that way all shutter stays coherent. On the other hand I get other problems with some presets giving med flickery output already at at shutter 1/100 or 1/200.

Levas

As far as I know, the ML reported shutter time is the right one.
Although I must say that the shutter blanking register stuff is a big black box to me  :P

Explanation how B timer affects shutter time.

You are in 29.997fps, 5x zoom and shutter time is 1/50th.
Now you mess with B timer to get 24 fps, as you know, this means literally that a smaller portion of the sensor is read out. Or to be more specific, less vertical lines.
Reading out less vertical lines is faster, so shutter speed changes, 24fps/29.997fps x 1/50 = 1/40th shutter speed.

Whooops :o
Edit:
Now you mess with B timer to get 24 fps, as you know, this means literally that a bigger portion of the sensor is read out. Or to be more specific, more vertical lines.
Reading out more vertical lines is slower, so shutter speed changes, 24fps/29.997fps x 1/50 = 1/40th shutter speed.

Canon is still reporting 1/50th, because it apparently doesn't know we are messing with B timer  :P

The Shutter blanking register stuff in crop_rec works with offsets, the code needs to know which mode we are coming from (5x zoom or non zoom etc.) to know what the standard values of the registers are. And when the code knows in which (Canon) mode it is, and it knows what you have done with the registers, it can calculate the offset.
At least, that's my understanding of this black box.

Danne

Here comes the next question on that topic. In crop_rec preset I choose the preset mv1080p 1736x976 46/46fps. In the preset I manipulated timer A and B to start in 46fps but this time we´re in x1 mode. Shutter readings stays the same both for canon and magic lantern. By this logic something is not right here?

Back to x5 mode. Selecting a preset with fps starting at 24fps, namely my 2.5k 1:1 centered. Readings now show the newly calculated shutter different from canon. So a test increasing shutter speed to 1/500 in canon results in 1/98 in ml shutter report. Is that a correct shutter too? Increasing shutter from 1/500 here seems to have no effect so I guess roof is around 1/100 for x5 zoom? I shutter number scaling when increasing to 1/500 correct here?

Levas

Quote from: Danne on May 08, 2019, 11:46:09 AM
Here comes the next question on that topic. In crop_rec preset I choose the preset mv1080p 1736x976 46/46fps. In the preset I manipulated timer A and B to start in 46fps but this time we´re in x1 mode. Shutter readings stays the same both for canon and magic lantern. By this logic something is not right here?
Have to think about that one  ???

Quote from: Danne on May 08, 2019, 11:46:09 AM
Back to x5 mode. Selecting a preset with fps starting at 24fps, namely my 2.5k 1:1 centered. Readings now show the newly calculated shutter different from canon. So a test increasing shutter speed to 1/500 in canon results in 1/98 in ml shutter report. Is that a correct shutter too? Increasing shutter from 1/500 here seems to have no effect so I guess roof is around 1/100 for x5 zoom? I shutter number scaling when increasing to 1/500 correct here?

This is happening with the 6d too when feeding wrong information to the shutter timing black box.
The build Dfort made, (merge in your build), doesn't have the fix for video mode.
The 6d behaves the same in that build, weird shutter time readings and not able to go higher then 1/200 1/500 or so.
Also, one of my presets didn't even came up in my build (no preview, all black), one of the higher full sensor width presets.

So, if you are able to feed the right information to the shutter blanking black box part of code, you are getting rewarded with normal shutter time behaviour, which is, ML and Canon are about the same and you can go up to 1/4000th( which ML reports as 1/4600th on the 6d if I remember correct).
When full shutter range option is activated, it can go as high as 1/15000th or so for shutter speed (that is exposure/shutter speed per horizontal line, you still get awful rolling shutter  :P )

Danne

Ok, so if I erase the newly set timer B which is set to 24 in 2.5k 1:1 centered I now have native 29.997 set and now I can modify shutter to whatever. So the bug is happening with x5 zoom and code expects 29.997 or else we get punished with the bug? Hopefully we get word from a1ex here if it´s really a sensor_timing_table issue or if it´s a safeguard or something else to look for.

Is the issue in fps-engio.c? Seems like it.

In crop_rec.c:
/* from SENSOR_TIMING_TABLE (fps-engio.c) or FPS override submenu */
static int fps_main_clock = 0;
static int default_timerA[11]; /* 1080p  1080p  1080p   720p   720p   zoom   crop   crop   crop   crop   crop */
static int default_timerB[11]; /*   24p    25p    30p    50p    60p     x5    24p    25p    30p    50p    60p */
static int default_fps_1k[11] = { 23976, 25000, 29970, 50000, 59940, 29970, 23976, 25000, 29970, 50000, 59940 };

hm...modifying these numbers have no effect.

Levas

Try altering the numbers in that table from 1080/30fps, the second column.
If I remember correct there was something wrong with the numbering of that table.
So put standard canon 5x zoom values in that table at the place where now numbers for 1080/30 are.

Danne

Testing:
/* from SENSOR_TIMING_TABLE (fps-engio.c) or FPS override submenu */
static int fps_main_clock = 0;
static int default_timerA[11]; /* 1080p  1080p  1080p   720p   720p   zoom   crop   crop   crop   crop   crop */
static int default_timerB[11] = { 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863, 1863 };
static int default_fps_1k[11] = { 23976, 25000, 29970, 50000, 59940, 29970, 23976, 25000, 29970, 50000, 59940 };

No effect.

Also trying:
/* from SENSOR_TIMING_TABLE (fps-engio.c) or FPS override submenu */
static int fps_main_clock = 0;
static int default_timerA[11]; /* 1080p  1080p  1080p   720p   720p   zoom   crop   crop   crop   crop   crop */
static int default_timerB[11] = { 0x727, 0x727, 0x727, 0x727, 0x727, 0x727, 0x727, 0x727, 0x727, 0x727, 0x727 };
static int default_fps_1k[11] = { 23976, 25000, 29970, 50000, 59940, 29970, 23976, 25000, 29970, 50000, 59940 };

No effect...

I guess something is reset somewhere else.

EDIT: I can modify fps from with crop_rec sub menu so lowering timer B so I get 30 fps shutter blanking routines start to work again so obviously some code break...

Levas

Looking closer at that table, looks weird :o
And mainclock = 0 ? Shouldn't that be 32000000 for eos-m ?
Try giving those variables one value each, the ones for 5x zoom.
Not near a computer right now, but Look in the 6d topic, I posted that table yesterday. I think this table is just not right.

Danne

Too many mysteries and assumptions for one day. A break.

Danne

Gottcha!
    /* some modes may need adjustments to maintain exposure */
    if (shutter_blanking)
    {
        /* FIXME: remove this kind of hardcoded conditions */
        if ((crop_preset == CROP_PRESET_CENTER_Z && lv_dispsize != 1) ||
            (crop_preset != CROP_PRESET_CENTER_Z && lv_dispsize == 1))
        {
            shutter_blanking = adjust_shutter_blanking(shutter_blanking);
        }
    }


For now I add all cams that is not a 5D3 as well in there:
    /* some modes may need adjustments to maintain exposure */
    if (shutter_blanking)
    {
        /* FIXME: remove this kind of hardcoded conditions */
        if ((crop_preset == CROP_PRESET_CENTER_Z && lv_dispsize != 1) ||
            (crop_preset != CROP_PRESET_CENTER_Z && lv_dispsize == 1) ||
    (!is_5D3))
        {
            shutter_blanking = adjust_shutter_blanking(shutter_blanking);
        }
    }

Problem solved. Shutter stays coherent.