Canon 100D / SL1

Started by nikfreak, October 19, 2015, 10:41:29 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Danne

New upload:
https://www.magiclantern.fm/forum/index.php?topic=16040.msg208816#msg208816

Anamorphic now working

Well, not as good as on the eosm but I got pass the strange height limitation before. Ok, so the round trip is that I rewire mv1080p through movie crop mode. Much like I did to get into correct real time live view on the eosm. After that I expand the regs to get into greater anamorphic height(1x3 binning).

So download latest and:
1 - Enable relevant modules
2 - run the lua script called cinema 2:35.1
3 - run the script called sd overclock engine(set it to autorun if you like)
4 - Under RAW video menu enable 'Kill global draw' option. This will be needed to reduce corruption while recording

If all is correctly set you should now be recording 10bit anamorphic rewired 1408x1900(2.35:1). When opened in Mlv App it should export into 4224x1900. You can change ratio to 16:9 under the crop mode sub menu and you´ll get 1064x1900 = 3192x1900.

That´s all. I expect all kinds of issues and shenanigans to get things to work, pushing menu buttons and whatnot so have fun :)!

Unfortunately I can´t get sd_uhs direct patching to work with the 100D so old script and sd_uhs are added back in this version.

erik1392

I will test the newest build today and report any problems. I also briefly tested Apr01 build (which is not available for download anymore) and it seems that sd_uhs module without script worked properly(I tried mv1080p 12bit uncompressed which was something shy below 60MB/s).

Ps. Danne, are you gonna implement also those high frame rate crop modes for 100D?

Danne

The direct patching isn´t really working all the time so back again to old lua script method.

Also just uploaded a new build with adtg regs added to rewired anamorphic mode. Without them there´s pretty nasty aliasing going on.

QuotePs. Danne, are you gonna implement also those high frame rate crop modes for 100D?
No idea what those are? Feel free to take a look at code and try yourself.

erik1392

QuoteNo idea what those are? Feel free to take a look at code and try yourself.

I am definitely planning to try something. Is there some knowledgebase about coding ML where I can start? how does ML work in general and how does crop mode and presets work or I have to figure it out form existing code?

As high frame rate, I was referring to presets mv1080p 48/46 fps for 700D, eosm, 5D3. I have seen some commits in the branch, don't know if it actually works on those cameras.

Danne

48fps should be doable. Thought it already worked with 50fps in mv720p 3x3 mode.
You can start checking the eosm 48fps parts in crop_rec.c.

EDIT:
Worked already. Set Crop mode to 3x3 720p camera set to PAL. You now have 50fps 2.35:1(1736x726)

erik1392

Thanks, I'll try that.

hirez

I have a small question about FPS adjustments.  When I shoot say 50 fps i can adjust shutter from 1/64 to 1/4000, but if I start lowering the fps at some point I loose the ability to adjust shutter speed.  The is quite restrictive if I want to shoot a slow (timelapse) video in daylight, and additionally shooting anything moving is problematic.  I find this surprising but hey its a hack and I take what i can get.  Or have I missed something. Would someone mind (briefly) explaining why this is?

Cipolippo

Hi
with last build i have a problem with rewired mode...MLV App 1.6 does not remove Focus Dot.

Thanks  :)

masc

Quote from: Cipolippo on April 18, 2019, 08:32:07 PM
with last build i have a problem with rewired mode...MLV App 1.6 does not remove Focus Dot.
Install focus pixel maps from dfort, then you are able to remove them.
5D3.113 | EOSM.202


Danne

New upload:
https://www.magiclantern.fm/forum/index.php?topic=16040.msg208816#msg208816

Been testing/fixing sd_uhs patching on 70D with @andy kh and seems it now works with 100D(direct patch without lua script needed).

Fix is rather crude. Any card will now get patched so I tested against three different cards with varying speeds and all cards holds up and still runs, but please keep reporting about issues or also if working good. Only tested briefly.
Commit:
https://bitbucket.org/Dannephoto/magic-lantern/commits/fd7273203869796a450a47bfae2413bc1f3e454d

Danne

Uploaded a new build. Some formatting issue related to sd_uhs module. Good news it seems the module seems to work by only keeping a minor change so feel free to test stability around sd_uhs again. Upload updated above this post.

Issue description here:
https://www.magiclantern.fm/forum/index.php?topic=9741.msg216046#msg216046

IDA_ML

Just tested briefly today's build that I downloaded a few minutes ago.  Formatting works just fine and ML gets restored.  Frame corruption in the anamorphic rewired mode still persists though.  Some consecutively shot clips get recorded just fine, some with corrupt frames randomly scattered around the footage.  Impossible to reproduce.

Danne

Thanks for feedback. As said before. Tweaking reg_713c and reg_7150 under crop mode sub menu might fix this. But one neads to tweak...

canneloni

Downloaded the May 8th Build and have a weird bug. When i enable sd_uhs my SD_card actually gets slower while recording. It drops to about 20 MB/s while it is at 40 MB/s when i disable it.

I use the SanDisk Extreme Pro 95 MB/s 64GB
100D.100B ; Canon 18-55 STM ; Canon 50 1,8 II ; Canon 75-300 4,0 - 5,6 III ; Sigma 17-50 2,8

OlRivrRat

      @Canneloni & TWEEIMC

   I just checked to see if I was having same Rec' Speed issue with SL1 + 8May Build

& am Not Getting Speed Info Displayed. Also using SanDisk Ex'Pro 95mb/s

                     ORR ~ DeanB
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

Danne

Info display comes and goes. How is speed? Around 50-55 should be alright. If reduced to 20mb means the sd_uhs code wasn´t applied.

OlRivrRat

Ran SD Card BenchMark

   In Stills Mode      W 66.4   R 72.1   W 57.6   R 72.0

   In Video Mode      W 52.5   R 59.8   W 51.4   R 58.4
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

Danne

Great. So working on your cam.

OlRivrRat

ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

IDA_ML

Canneloni,

Just activate the Autorun option for the overclocking script in the Script menu and it will overclock the card automatically every time you turn camera on. 

OlRivrRat

Also, Just for Grins, I just Benchmarked Sandisks Newish Ex'Pro SDXC UHS-1 170MB/s 64GB card

& got almost exact same result > Wasn't surprised as these are Cam' Comm' Speeds so shouldn't

be improved by Really Fast Cards ~
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

canneloni

Quote from: Danne on May 11, 2019, 06:06:55 PM
Info display comes and goes. How is speed? Around 50-55 should be alright. If reduced to 20mb means the sd_uhs code wasn´t applied.
Just ran a cardspeed benchmark, got ~21MB/s with the module enabeld and ~41MB/s without it.
The code is definitely applied, why else would the card get slower? Also, in Memory patches, there are three entries, two called "SD UHS" and one called "SDR 104".

Never had problems with the older UHS hack.

Quote from: IDA_ML on May 11, 2019, 07:15:11 PM
Canneloni,

Just activate the Autorun option for the overclocking script in the Script menu and it will overclock the card automatically every time you turn camera on. 

In the newer builds there is no need for that (and also no lua script) since it should be applied automatically anyway.

Edit: Used the SD_UHS Module from May02 Build and got ~60MB/s write and 4718MB/s(?!) read speed.
Edit2: Okay, I tried to record a video and recieved a message "Card full". I formatted my card in camera and now the camera won't turn on when the card is inserted. If the card is ejected, it turns on fine. The card is still readable on the computer. Will try to remove bootflag later/tommorw to see if I can get it to work again.
100D.100B ; Canon 18-55 STM ; Canon 50 1,8 II ; Canon 75-300 4,0 - 5,6 III ; Sigma 17-50 2,8

Danne

Some cameras don´t patch sd_uhs like on eos m, 6D etc. Reason for this is this piece of code in sd_uhs.c:
/* called right before the case switch in sd_setup_mode (not at the start of the function!) */
static void sd_setup_mode_in_log(uint32_t* regs, uint32_t* stack, uint32_t pc)
{
    qprintf("sd_setup_mode switch(mode=%x) en=%d\n", regs[sd_setup_mode_reg], sd_setup_mode_enable);

    if (sd_setup_mode_enable && regs[sd_setup_mode_reg] == 4)   /* SDR50? */
    {
        /* set our register overrides */
        for (int i = 0; i < COUNT(uhs_regs); i++)
        {
            MEM(uhs_regs[i]) = uhs_vals[i];
        }

        /* set some invalid mode to bypass the case switch
         * and keep our register values only */
        regs[sd_setup_mode_reg] = 0x13;
    }
}


If sd_setup_mode_enable isn´t enabled it won´t patch. So we tested to override this by patching card anyway neglecting conflicts. This seemed to work until someone reported formatting wasn´t working properly on eosm. So here we go. If you want to enable 70D sd_uhs module you could compile it yourself with this part changed to something like this:
/* called right before the case switch in sd_setup_mode (not at the start of the function!) */
static void sd_setup_mode_in_log(uint32_t* regs, uint32_t* stack, uint32_t pc)
{
    qprintf("sd_setup_mode switch(mode=%x) en=%d\n", regs[sd_setup_mode_reg], sd_setup_mode_enable);

        /* set our register overrides */
        for (int i = 0; i < COUNT(uhs_regs); i++)
        {
            MEM(uhs_regs[i]) = uhs_vals[i];
        }

        /* set some invalid mode to bypass the case switch
         * and keep our register values only */
        regs[sd_setup_mode_reg] = 0x13;
}

Or you need to run the script version which handles the routine after camera is started. Maybe there are other ways about this, maybe telling the function to start later etc but I am not very skilled at this.

Danne