Danne's crop_rec_4k experiments for EOS M

Started by Danne, December 03, 2018, 06:10:17 PM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

2blackbar

Did anyone tried to stay in mcm 1080p crop but record 1920x1080 like its recording in 2.5k mode with 1920x1080?
Im setting up cygwin/ mingw, but as usual some issues
$ make zip
../../Makefile.inc:86: remove /home/T902/magic-lantern/platform/magic-lantern_jip-hop/magic-lantern/platform/eosm.202/zip
[ RM dir ]  /home/T902/magic-lantern/platform/magic-lantern_jip-hop/magic-lantern/platform/eosm.202/zip/
mkdir -p /home/T902/magic-lantern/platform/magic-lantern_jip-hop/magic-lantern/platform/eosm.202/zip
[ CPP      ]   magiclantern.lds
[ AS       ]   entry.o
[ AS       ]   ../../platform/EOSM.202/stubs.o
[ VERSION  ]   ../../platform/EOSM.202/version.c
[ CC       ]   version.o
[ CC       ]   boot-hack.o
[ CC       ]   fio-ml.o
[ CC       ]   mem.o
[ CC       ]   ico.o
[ CC       ]   edmac.o
[ CC       ]   menu.o
[ CC       ]   debug.o
[ CC       ]   rand.o
[ CC       ]   posix.o
[ CC       ]   util.o
[ CC       ]   imath.o
[ CC       ]   electronic_level.o
[ CC       ]   cfn.o
[ CC       ]   gui.o
[ CC       ]   picstyle.o
[ CC       ]   exmem.o
[ CC       ]   bmp.o
[ CC       ]   rbf_font.o
[ CC       ]   config.o
[ CC       ]   stdio.o
[ CC       ]   bitrate.o
In file included from ../../src/bitrate.c:5:0:
../../src/bitrate.c: In function 'time_indicator_show':
../../src/bitrate.c:400:81: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         int fnts = FONT(FONT_SMALL, COLOR_WHITE, mvr_config.actual_qscale_maybe == -16 ? COLOR_RED : COLOR_BLACK);
                                                                                 ^
../../src/bmp.h:174:13: note: in definition of macro 'FONT'
         | ((bg) & 0xFF) << 8 \
             ^
../../src/bitrate.c:405:23: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
             mvr_config.actual_qscale_maybe < 0 ? "-" : "+",
                       ^
[ CC       ]   lcdsensor.o
[ CC       ]   tweaks.o
[ CC       ]   tweaks-eyefi.o
[ CC       ]   lens.o
[ CC       ]   property.o
[ CC       ]   propvalues.o
[ CC       ]   gui-common.o
[ CC       ]   chdk-gui_draw.o
[ CC       ]   movtweaks.o
[ CC       ]   menuhelp.o
[ MENU IDX ]   ../../src/menuindexentries.h

No menuindex.txt! The "Complete user guide" menu is empty!
Run make docq to update menuindex.txt.

[ CC       ]   menuindex.o
[ CC       ]   focus.o
[ CC       ]   notify_box.o
[ CC       ]   bootflags.o
[ CC       ]   dialog_test.o
[ CC       ]   vram.o
[ CC       ]   greenscreen.o
[ CC       ]   fps-engio.o
../../src/fps-engio.c:296:12: warning: 'fps_timer_b_method' defined but not used [-Wunused-variable]
static int fps_timer_b_method = 0;
            ^
[ CC       ]   shoot.o
[ CC       ]   hdr.o
[ CC       ]   lv-img-engio.o
[ CC       ]   state-object.o
[ CC       ]   tasks.o
[ CC       ]   vsync-lite.o
[ CC       ]   tskmon.o
../../src/tskmon.c: In function 'tskmon_task_dispatch':
../../src/tskmon.c:316:1: error: number of arguments doesn't match prototype
{
^
In file included from ../../src/tskmon.c:3:0:
../../src/tskmon.h:49:6: error: prototype declaration
void tskmon_task_dispatch(struct task * next_task);
      ^
make: *** [../../Makefile.filerules:23: tskmon.o] Błąd 1



----
T902@LenovoX230Table ~/magic-lantern_jip-hop/magic-lantern/platform/EOSM.202
$ make zip
../../Makefile.inc:86: remove /home/T902/magic-lantern_jip-hop/magic-lantern/platform/EOSM.202/zip
[ RM dir ]  /home/T902/magic-lantern_jip-hop/magic-lantern/platform/EOSM.202/zip/
mkdir -p /home/T902/magic-lantern_jip-hop/magic-lantern/platform/EOSM.202/zip
[ VERSION  ]   ../../platform/EOSM.202/version.c
[ CC       ]   version.o
[ CC       ]   tskmon.o
../../src/tskmon.c: In function 'tskmon_task_dispatch':
../../src/tskmon.c:316:1: error: number of arguments doesn't match prototype
{
^
In file included from ../../src/tskmon.c:3:0:
../../src/tskmon.h:49:6: error: prototype declaration
void tskmon_task_dispatch(struct task * next_task);
      ^
make: *** [../../Makefile.filerules:23: tskmon.o] Błąd 1


Danne

Tried increasing resolution but not acting the same in movie crop mode. Not raw_slurp enabled? Not really sure what limits this mode. Maybe need a revisit.

rinski

Hello, can someone help me run a samyang 35mm f1.2 I can not shoot or record with the eos m even if I have it in manual?
Thank you.

Walter Schulz


rinski

there is a horizontal line in the center of the video

papkee

Is there a good "summary post" of where RAW video is currently on the EOS-M? It's very difficult to sort through 150 pages of info to figure out the full view of where the project's at.

Seriously considering grabbing one for travel/run-and-gun videography because they're so cheap, but I haven't been able to find definitive info on what the camera can & can't do in terms of RAW right now. From reading back to around page 90 of this thread, so far I think I understand that:

  • classic MLV recording works fine but only up to liveview resolution like all other cameras
  • new cropped RAW recording works up to 5k but with a giant 3x crop factor
  • (I think) the MCM rewire builds allow for RAW recording at higher resolutions without the huge crop factor but aren't super stable

Let me know if I'm dead wrong with any of those assumptions. I'm seriously amazed by the amount of work that's been put in to this camera and (assuming I can grab a camera for a good deal) I can't wait to get started playing with it.
EOS 650D, a bunch of random lenses & adapters

Wushuliu

    Quote from: papkee on November 21, 2019, 06:41:07 PM
    From reading back to around page 90 of this thread, so far I think I understand that:
    • (I think) the MCM rewire builds allow for RAW recording at higher resolutions without the huge crop factor but aren't super stable

    I'm not aware of this. As far as I can tell with the recent builds, MCM stops at 1763x976.

    yokashin

    Quote from: papkee on November 21, 2019, 06:41:07 PM
    Is there a good "summary post" of where RAW video is currently on the EOS-M? It's very difficult to sort through 150 pages of info to figure out the full view of where the project's at.

    Take a look here:
    https://www.magiclantern.fm/forum/index.php?topic=9741.msg208959#msg208959
    70D.112 [main cam] | M.202 | S110 [CHDK]

    2blackbar

    papkee just download lastest build and check it out, nobody will list all features for You but i can say there is mcm rewire 1080p where you can record full sensor mode or any aspect ratio you like, then theres 2.5k mode which is a bit cropped(16mm film area) , then there is anamorphic mode with highest resolution after unstretching and highest detail, about 5k.
    ML on M Is getting better and better.

    Walter Schulz

    Quote from: papkee on November 21, 2019, 06:41:07 PM
    classic MLV recording works fine but only up to liveview resolution like all other cameras

    MLV (as long I can think of) was always able to use crop modes with resolutions beyond liveview.

    EOS M nightly (without some serious work done by danne and dfort) had and has a serious video limit: It does mv720 and is the only ML supported cam doing so. All other cams will do mv1080. Mv720 has a major issue because it does 5x3 sampling instead of 3x3 in mv1080. Short: RAW/MLV in native liveview resolution for all other cams samples only every third line (bad enough) but EOS M does skip 4 line instead of 2. Therefore EOS M video IQ in uncropped mode was offen hampered by heavy aliasing (moire).

    Walter Schulz

    Quote from: rinski on November 21, 2019, 05:55:38 PM
    there is a horizontal line in the center of the video

    And you want two?


    Help us to help you. Ask your questions in a way giving enough information for other people (without mind reading capabilities)  to understand your problem, giving some sample of what your actual problem is, what build and settings you are using and if the problem happens with *and* without ML (if applicable), ....

    papkee

    Thanks for the info everyone. Can't actually install it yet because I don't own an EOS M yet (hence why I was asking for some more info - to help me in my purchasing)

    I think I was blending together the anamorphic and mcm rewire modes when I said higher-resolution recording with no crop. I still can't pin down exactly what either of these modes actually do and don't do, but I'll keep reading the thread.
    EOS 650D, a bunch of random lenses & adapters

    Wushuliu

    Quote from: papkee on November 21, 2019, 08:44:55 PM
    Thanks for the info everyone. Can't actually install it yet because I don't own an EOS M yet (hence why I was asking for some more info - to help me in my purchasing)

    I think I was blending together the anamorphic and mcm rewire modes when I said higher-resolution recording with no crop. I still can't pin down exactly what either of these modes actually do and don't do, but I'll keep reading the thread.

    My Key takeaway is:

    Only Mv1080 MCMRewire can be used with an external monitor and does not involve additional cropping.

    2.5k has x3 crop so lens choice must be adjusted accordingly. x5 zoomed in liveview means careful consideration of framing (maybe by using another preset first with full liveview, then switch back over the 2.5k)

    5K Anamorphic requires (I think) at least 16:9 ratio setting in addition to the 'raw video' resolution and ratio setting to meet card speed requirements (so two ratio settings to adjust). Anamorphic preview is squeezed but you do get the entire image, so framing is easier.

    yokashin

    Quote from: papkee on November 21, 2019, 08:44:55 PM
    I still can't pin down exactly what either of these modes actually do and don't do

    I also recommend the Zeek channel
    https://m.youtube.com/channel/UCCn0RQHYheA41EudwmLnYKA
    70D.112 [main cam] | M.202 | S110 [CHDK]

    Janke

    Just curious, a question to all you people wanting RAW video: What's the reason, if it's going to be used with CCTV lenses? The optical quality of those  :( isn't on par with the quality you can get with Canon's own lenses.  :D

    OTOH, if it's the joy of experimentation that's driving you, then go for it!  :D

    I'm very happy with what I can get with Canon's own video format, enhanced with ML's cropped video, regrdless of what lenses I use.

    2blackbar

    For photographs yes theyre not on par , for hd video theyre perfect, of course depends what shape theyre in, if glass is clean, i have new one so im happy with it, actually best multicoating i have  of all my lenses
    ---
    SUCCESS !  :D :D :D :D :D :D :D :D :D :D :D :D :D
    AFter almost 2 days of searching on internets how to solve cygwin issues with docutils being slimmed down and missing files, i won the battle  and managed to setup eveyrthing for magic lantern development.
    I also in the same time with a bit of help from user cmh compiled MLVApp and changed medium quality x264 export so its a bit more data than it was = better video quality and less macroblocks visible in shadows.

    I have ML build and can compile my own builds now , but i have a question, my modules that were compiled are different ones from the ones delivered by Danne, is it because its unified branch instead of crop_rec_4k_mlv_snd_raw_only ?
    Is this ok?
    hg clone https://bitbucket.org/Dannephoto/magic-lantern_jip-hop
    cd magic-lantern_jip-hop
    hg update crop_rec_4k_mlv_snd_raw_only
    cd platform
    cd eosm.202
    make zip

    So, it looks like it, now i have crop_rec
    first thing id like to change is to have 12 bit modes in jip-hop menu for all settings instead of 14 and 10
    bitdepth = 0x0  is 14 bits ? and bitdepth = 0x1 is 10 ? bitdepth = 0x2 is 12 bits ?
    --
    ok i did the changes... compiling
    :D

    I did it because i dont see meaningful difference between 14 and 12, and 10 is not looking that great like it used to( too much banding in shadows kinda like old 8-11bit mode) also i noticed that performance is not much different between 10 and 12bits.
    --
    Is this whre i can change ratio to 16:9( changed to 3) in mcm rewire deault reset ?
    static CONFIG_INT("crop.shutter_range", shutter_range, 0);
    static CONFIG_INT("crop.bitdepth", bitdepth, 0);
    static CONFIG_INT("crop.ratios", ratios, 3);
    static CONFIG_INT("crop.x3crop", x3crop, 0);
    static CONFIG_INT("crop.zoomaid", zoomaid, 2);

    I also want to change drodown menu so its starts already under info button

    Danne

    Great! Yes, you are in the right places for doing changes you mention so just keep going. I actually like the idea of having the same bitdepth but 12bit will be borderline for a few of the presets.

    Danne

    New version:
    https://www.magiclantern.fm/forum/index.php?topic=9741.msg208959#msg208959

    - iso averaging helper(more like iso bracket but still...)


    Some friday fun. To get good use of the tiff averaging workflow in Mlv App using ffmpeg tmix filter I added a function which records iso brackets containing three isos. Select a preset set exposure at lowest iso then hit record and It will record until reaching 17 or 29 files depending on what iso average preset chosen:


    Import your bracketed mlv file into Mlv App first file will look as follows but there are two more isos included in the mlv file:


    Now select the proper setting in Mlv App:



    Out comes one averaged tiff file clean as a bean:



    The nice part here is that you can record this 17/29 frame bunch in any preset. Still I recommend the anamorphic full sensor readout setting as you will get a really nice and big full res tiff file. Needless to say you will need a tripod as it need s to be static for the averaging part.




    2blackbar

    Its exactly what i was going to ask You to maybe create cause averaging is like magic ! Great work !
    Where i can find default white balance setting? I want it 4800k.
    I need to read up on whats where in ML sourcecode

    Danne

    Quote from: 2blackbar on November 22, 2019, 11:22:01 PM
    Its exactly what i was going to ask You to maybe create cause averaging is like magic ! Great work !
    Where i can find default white balance setting? I want it 4800k.
    I need to read up on whats where in ML sourcecode
    Tell me when you find wb settings. Also want know :).

    2blackbar

    I found some in shoot.c but i want to change default WB FLASH to my own 4800 custom
    #ifdef FEATURE_WHITE_BALANCE

    void kelvin_toggle( void* priv, int sign )
    {
        int k;
        switch (lens_info.wb_mode)
        {
            case WB_SUNNY: k = 5200; break;
            case WB_SHADE: k = 7000; break;
            case WB_CLOUDY: k = 6000; break;
            case WB_TUNGSTEN: k = 3200; break;
            case WB_FLUORESCENT: k = 4000; break;
            case WB_FLASH: k = 6500; break; // maybe?
            default: k = lens_info.kelvin;
        }
       
        int step = KELVIN_STEP;

    I changed it, compiling to see if its even change at startup
    --
    No thats not it, i need to find wbshift  in source, is there any tool to go thorugh all files in source searching for "wbshift" string ? Or some kind of documentation of whats where ?
    I see its also in shoot.c but cant find other 6500 thats set by default or maybe wb flash is default , just need to find where to change it to sunny ot other at least
    --
    so its lens_info.kelvin, but its obtained somewhere else, not sure how yet

    ZEEK

    Awesome stuff guys @Danne & 2Blackbar. The Tiff stuff is interesting for sure, footage looks clean 📽👍
    EOS M

    2blackbar

    Hey ZEEK i installed RAW after seeing Your vids ! Great work !My favourite is The Country Side !
    Danne maybe it would be better to let ML menu disappear when were changing CMOS values, so we could see how its changing in realtime , without having to exit menu and reenter again to change values.Kinda like how expo menu works , it dosappears when you change iso from ML menu and only iso value stays onscreen.

    Luther

    Question: why not just use HDRMerge? Don't know if the averaging results are the same, but HDRMerge gives great results already... and not only it does averaging, but also gives you a extreme dynamic range output.
    I like the idea of having more open source photo editing tools with new features, and you folks know that me and many others appreciate your work, but sometimes it feels a bit like "reinventing the wheel" or "NIH syndrome".
    Big words from someone that doesn't contribute with code, I know. I mean no offense here. I should just shut up.

    2blackbar

    Because im loving how MLVApp outputs image, looks like film straight away , theres something to tonemapped function that made me stop using other software for CR2's when i compared, plain and simple.
    Danne i just merged Your recent changes with my own by using compare in Notepad++ , averaging settings work great with fullres mlv.
    btw found this
    https://bitbucket.org/hudson/magic-lantern/commits/5c46a328e50c4e837e48835d5e0d42f66e6d8933

    I think this is our suspect

    // WB in LiveView (and movie) mode
    #define PROP_WB_MODE_LV        0x80050018  // 0=AWB, 1=sun, 8=shade, 2=clouds, 3=tungsten, 4=fluorescent, 5=flash, 6=custom, 9 = kelvin
    #define PROP_WB_KELVIN_LV      0x80050019

    I think i founf it :
    // WB workaround (not saved in movie mode)
    //**********************************************************************
    //~ CONFIG_INT( "white.balance.workaround", white_balance_workaround, 1);

    static CONFIG_INT( "wb.kelvin", workaround_wb_kelvin, 6500);
    static CONFIG_INT( "wbs.gm", workaround_wbs_gm, 100);
    static CONFIG_INT( "wbs.ba", workaround_wbs_ba, 100);
    static int kelvin_wb_dirty = 1;

    in movtweaks.c
    ----
    That was it !  :D :D :D :D Works, its 4800 at startup( i dont like 5000 or 5200 too warm)
    --
    Now im after histogram, i want it on when camera starts

    #if defined(FEATURE_HISTOGRAM)

    extern int FAST get_y_skip_offset_for_overlays();
    extern int nondigic_zoom_overlay_enabled();

    /* starting point OFF */
    CONFIG_INT( "hist.draw", hist_draw,  1 );
    #ifdef FEATURE_RAW_HISTOGRAM
    CONFIG_INT( "hist.type", hist_type,  2 );
    #else
    CONFIG_INT( "hist.type", hist_type,  1 );
    #endif

    Worked   :D