ML on EOS-M2

Started by Palpatine, September 22, 2015, 02:48:23 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Danne

Well. I can upload a build that would work with anamorphic and mcm rewired mode similar to the 100D. A bit buggy bit without freezes.
But later. Not at home yet...

Danne

Posting a test build here:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/crop_rec_4k_mlv_snd_isogain_1x3_presets_EOSM2_2019Jul04.EOSM2103.zip

Branch:
https://bitbucket.org/Dannephoto/magic-lantern/branch/crop_rec_4k_mlv_snd_isogain_1x3_presets_EOSM2

Don´t have the camera atm but these two presets should work (after some menu pressing) without freezes:
    "mv1080p_rewired"
    "4K anamorphic rewired"


Enable:
crop_rec.mo
mlv_lite.mo
mlv_snd.mo
mlv_play.mo
sd_uhs.mo

Also added the direct patch for sd_uhs.mo which should patch your sd card upon start up. Files will have focus pixels very much like 100D. Use these pixel maps and put them inside Mlv App. Also set chroma smooth to 3x3 will help:
https://bitbucket.org/daniel_fort/ml-focus-pixels/downloads/

Todo:
Pretty much go through the whole code and fix bugs. Biggest one the "freeze" issue. a1ex is trying to figuring that one out, well when there will be time for doing it. Raw buffer related.

Happy testing, please report what´s working or not.


PitbulZil

Danne I installed the camera firmware, then I installed your firmware, how to start ML, it was flashed, but it does not start.  >:(

PitbulZil

Then I downloaded your files by reference, pasted in the ML folder on the card, tried to start. The camera does not turn on, the black screen continuously flashes the power icon, I waited a bit, turned off the power icon, took down the ML card and installation files from the card. Camera works.

BlueDoo

Hey PitbulZil, have you tried the previous build ?

dfort

@PitbulZil - Danne took down his EOSM2 builds. Maybe you have been trying to run an EOSM build on your M2? It is a bit confusing. The EOSM have EOSM202 in the file name while the M2 has EOSM2103.

I've got test builds on my downloads page. I have been trying to keep up with Danne's changes but have fallen behind lately because he is so productive and each merge requires working out conflicts. Not between Danne and me personally but because of the way 'hg merge' is working on our crop_rec.c source code.

Danne

Quote from: dfort on June 24, 2019, 01:39:05 PM
each merge requires working out conflicts. Not between Danne and me personally but because of the way 'hg merge' is working on our crop_rec.c source code.
haha  :P

PitbulZil

I've downloaded version 2103, take her here https://bitbucket.org/daniel_fort/ml-focus-pixels/downloads/ the problem is that no software start ML and loaded with the standard Canon. I understand this: you do not need to press additional buttons to enter the interface . If I have downloaded ML, is the login done automatically?
Or after booting I need to press ?
(as on canon 650D)

dfort

@PitbulZil - Not sure what you are doing. What do you mean by login? ML works the same on the M2 as it does on all other cameras. It is still in the early porting stages and there are some features that aren't working. Basically unzip the archive, put the files on the root directory of the SD card, run firmware update to turn on the card and camera bootflags, restart camera, press the trash button and you should see the ML menus. If you don't see the ML menu when pressing the trash button then ML wasn't installed properly.

critix

@PitbulZil - At the indicated address you can not find the archive.
Download at https://bitbucket.org/daniel_fort/magic-lantern/downloads/
Canon 1300D, 500D, EOS M, EOS M2

Danne


ZEEK

EOS M2 test thoughts:
Build July 04:
- Frozen Live View, actually unusable, (Live View is working in June 11 Build, sometimes a white bar appears on the bottom half, and that build is really nice, just lower resolution and more aliasing than the original EOS M, all focus pixels are all removed in MLV App with 3x3 chroma smooth, the build just needs more resolution @16:9 aspect ratio in RAW Video and playback is stretched like anamorphic with visible focus pixels across the whole frame). Testing out the others now...
EOS M

Danne

Only thing expected to "work" are the crop_rec presets.

ZEEK

Tested July 05 Build EOSM2103:

I enabled the following:
crop_rec.mo
mlv_lite.mo
mlv_snd.mo
mlv_play.mo
sd_uhs.mo

*There is still the frozen frame issue, maybe I'm not enabling something important. I went into preview and set preview to frozen LV and the LV was back to normal for about 10 seconds. Not sure what can un-freeze the LV. 
EOS M

Danne

And what preset did you select? Anamorphic modes? Pressed canon menu and so on?
Run framing or real-time preview for testing.

ZEEK

Oddly enough, there are no anamorphic modes. Crop Mode is only 3x3 720p can't change it to anything else, and RAW Video Max resolution is 1736x586. Double tapped Menu, but still frozen LV even with the proper preview modes. To go into ML Menu, I must hold the 'down' wheel, no 'two-finger tap' function to enter ML Menu. I think the freeze issue is from the frame rate. Even though the Canon Menu is at 24fps, the ML fps is stuck always@ 29.958fps.
EOS M

dfort

Quote from: ZEEK on July 06, 2019, 09:15:14 AM
Even though the Canon Menu is at 24fps, the ML fps is stuck always@ 29.958fps.

Check your EOSM on this one. It is the "normal" behavior. The ML fps display will change when you start recording.

I was going to ask Danne about CONFIG_EDMAC_RAW_SLURP. What I've been doing is to keep my experimental EOSM2 branch in sync with his crop_rec_4k_mlv_snd_isogain_1x3_presets branch. When I merged yesterday it wouldn't compile without raw slurp. That brought back the LiveView freezing issues. Simply turn off raw histogram to get past that for now.

At the moment I'm more interested in getting the basic ML functionality working on this camera rather than trying out new crop rec setting. If you want to try out the stuff Danne experimented with simply replace the "is_basic" block with the is_EOSM2 block that is commented out. This camera is very similar to the EOSM and 100D so something else you can try out is to "pretend" it is one of those models and copy in the block of code from another model.

    else if (is_camera("EOSM2", "1.0.3"))
    {
        CMOS_WRITE = 0x432A4;
        MEM_CMOS_WRITE = 0xE92D41F0;

        ADTG_WRITE = 0x42E34;
        MEM_ADTG_WRITE = 0xE51F7224;

ENGIO_WRITE = 0xFF2C6F44;
        MEM_ENGIO_WRITE = 0xe51fc15c;

        /* The basic crop_rec settings are (sort of) working on this camera */

        is_basic = 1;
        crop_presets                = crop_presets_basic;
        crop_rec_menu[0].choices    = crop_choices_basic;
        crop_rec_menu[0].max        = COUNT(crop_choices_basic) - 1;
        crop_rec_menu[0].help       = crop_choices_help_basic;
        crop_rec_menu[0].help2      = crop_choices_help2_basic;

/**********************************************************************************
        is_EOSM2 = 1;
        crop_presets                = crop_presets_eosm2;
        crop_rec_menu[0].choices    = crop_choices_eosm2;
        crop_rec_menu[0].max        = COUNT(crop_choices_eosm2) - 1;
        crop_rec_menu[0].help       = crop_choices_help_eosm2;
        crop_rec_menu[0].help2      = crop_choices_help2_eosm2;
**********************************************************************************/
    }


I could use some help with the EOSM port. It seems to work ok in QEMU so whatever is going on will probably require the physical hardware (as opposed to virtual hardware) to debug.

Danne

Sorry guys. Compiled without the patch which included the anamorphic stuff in crop_rec menu:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/crop_rec_4k_mlv_snd_isogain_1x3_presets_EOSM2_2019Jul06.EOSM2103.zip

Patch here:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/hack2.patch

When I sat down with a1ex he guided me into compiling with default buffer. We excluded raw_slurp and no freezes. So this means if we can live without higher resolutions the main issue seems solved. BUT, above version includes raw_slurp since we are using higher resolutions. This seems to work on anamorphic modes wihtout freezes. Go figure. Smaller buffer mv720p etc seems to freeze. Belive me, we want raw_slurp on this camera.
This camera is very close but yet seems so far away from getting into the hall of fame. It clearly needs some more magic lantern love...

Fadis

I am very glad that I own Canon EOS M1 as well as eternally grateful to those guys who are constantly upgrading this camera through a magic lantern.

After reading the forum about Canon EOS 2, I did not find an answer for myself : So what gives the Canon EOS 2? Does he shoot video better?

ZEEK

@Dfort thanks I'll do some more build tests and play around with the settings.

@Danne, good work! I'll give the updated build a test and see if it can record 'automagically'.
EOS M

dfort

Ok--just for fun I made a hack2_no_raw_slurp build and put in on my downloads page. It is far from being ready for mass consumption but LiveView doesn't freeze up and it has a workable mv1080 3x3 sampling resolution. I also uploaded a build from my experimental branch without raw slurp but with the old school "is_basic" crop_rec setting.

[EDIT] Found this and thought it should be added to the discussion:

Quote from: a1ex on June 06, 2019, 09:51:33 AM
Without raw_slurp, you have no control on the amount of data transferred from image processor into main ram (i.e. over image size).

This is why the EOS M2 hack is *not* a fix, but just a temporary step in diagnosing the issue.

ZEEK

@Fadis

Both Digic 5, so not a difference in image quality. The differences are very minor but considering they are about the same price you would be more inclined to opt for the M2 if you didn't already have an EOS M already (however the EOS M is obviously more advanced in ML Raw which makes it the popular choice).

These are some of the differences:

                         EOS M      EOS M2
Dynamic Range:  11.2           11.4

Lowlight ISO:    827 ISO     855 ISO       
                                         Hybrid CMOS AF II (Not much of a difference)
                                         Wi-fi
                                         8% Smaller


EOS M

ZEEK

Great! Not stressed about the anamorphic stuff yet, although it is a bonus. As long as the mv1080 stuff is running smoothly, I think that's definitely a great improvement.

I tested the July 06 Build for the EOS M2, and I have to say, I'm extremely impressed. Full Resolution 1736 x 976 pixels. Brilliant. It's dark now so, can't test more yet.

July 06 Build, Enabled the following:
- Crop_Rec
- Mlv_lite
- Mlv_play
- Mlv_snd
- Sd_uhs

Crop mode: mv1080_rewired, 10 bit, set 25fps (ran nicely no issues), ratios off.
Raw Video: 1736x976 (claims 4.83x but it's not, looks 1.61x), 16:9, 14bit lossless.

Test .MLV File here (Canon 50mm f1.8 STM + Viltrox @ f1.2):
https://drive.google.com/open?id=1DtnSTuRWE-B_AnEK-rjrCFXYej3q9Xgt

Big improvement, thanks!
EOS M

dfort

Nice set of vintage lenses.



Just for the record, these are the versions of the modules you were using for this test:


crop_rec built 2019-07-06 17:03:22 UTC; commit 15f42e1 on 2019-02-18 16:29:26 UTC by dudek53: movie crop mode round trip. Partly working.
mlv_lite built 2019-07-06 17:03:05 UTC; commit 26e8008 on 2018-12-11 11:02:45 UTC by dudek53: First try on EOSM2. Thanks to dfort and critix
mlv_play built 2019-07-06 17:03:07 UTC; commit 0e38b89 on 2018-06-18 22:11:42 UTC by g3gg0: mlv_play: use less RAM, proper cleanup on error
mlv_snd built 2019-07-06 17:03:09 UTC; commit 9ec9c80 on 2018-07-03 22:20:19 UTC by g3gg0: mlv_lite/mlv_snd: rewrote state machine and placed WAVI writing...
sd_uhs built 2019-07-06 17:03:28 UTC; commit 26e8008 on 2018-12-11 11:02:45 UTC by dudek53: First try on EOSM2. Thanks to dfort


Looks like yet another new crop_rec resolution:

Block: RAWI
  Offset: 0x00000034
  Number: 1
    Size: 180
    Time: 0.765000 ms
    Res:  1736x976
    raw_info:
      api_version      0x00000001
      height           1187
      width            1872


So I created a 80000355_1872x1187 map file to deal with the focus pixels. Note that it shows a 3x3 sampling but the MLV metadata is showing 1x1 sampling. This could be a problem.

Block: RAWC
...
      sampling        1x1 (read every line, read every column)

Danne

Quote from: dfort on July 07, 2019, 05:24:25 PM
Note that it shows a 3x3 sampling but the MLV metadata is showing 1x1 sampling. This could be a problem.

Block: RAWC
...
      sampling        1x1 (read every line, read every column)

Nice find dfort. Does it affect handling in Mlv App for instance? Here are two examples of my cat with 1x1 and 3x3 metadata:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/M07-1803.MLV
https://bitbucket.org/Dannephoto/magic-lantern/downloads/M07-1801.MLV

Also updated eosm2 code so it records 3x3 metadata now instead:

Download:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/crop_rec_4k_mlv_snd_isogain_1x3_presets_EOSM2_2019Jul07.EOSM2103.zip

Latest patch:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/hack3.patch