Author Topic: Canon 100D / SL1  (Read 579262 times)

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1350 on: June 11, 2018, 04:38:07 PM »
Nice, will check some. On the train atm. Got 2968x1080 output by the way:



Erasing  (*height)--; in raw.c for digic V. Of course it normally gives stuttery recordings but wanted to test how it reacts here and seems better. Too early to say:
In raw.c
Code: [Select]
#if defined(CONFIG_700D) || defined(CONFIG_650D) || defined(CONFIG_EOSM)
    /* required to squeeze 1080p in x5 zoom */
    (*height)++;
#elif defined(CONFIG_DIGIC_V)
    (*height)--;
#endif
to this:
Code: [Select]
    /* required to squeeze 1080p in x5 zoom */
    (*height)++;
#endif


Regarding math, check A1ex question here:
https://bitbucket.org/Dannephoto/magic-lantern/commits/24e2631aabb6c1d751f35c9f32a844d6eedfec9c#comment-6238927
Quote
32000000/520/1288 = 47.77, how did you get 42?
I am not a math guy  :P



3040x1080


Code: [Select]
#if defined(CONFIG_EOSM) || defined(CONFIG_700D) || defined(CONFIG_650D) || defined(CONFIG_100D)
        skip_top    = 28;
        skip_left   = 72;
        skip_right  = 0;
to this:
Code: [Select]
#if defined(CONFIG_EOSM) || defined(CONFIG_700D) || defined(CONFIG_650D) || defined(CONFIG_100D)
        skip_top    = 28;
        skip_left   = 0;
        skip_right  = 0;


Also changed to this:
Code: [Select]
        #if defined(CONFIG_EOSM) || defined(CONFIG_700D) || defined(CONFIG_650D) || defined(CONFIG_100D)
        skip_top    = 20;
        skip_left   = 0;
        skip_right  = 0;
        #ifdef CONFIG_100D
And got 3040x1088
Only tested 14fps

Seems possible to keep going and get over 1100 in height. Caveat, no preview but pink scrambled lines.

nikfreak

  • Developer
  • Hero Member
  • *****
  • Posts: 1197
Re: Canon 100D / SL1
« Reply #1351 on: June 11, 2018, 06:04:30 PM »
I am already getting better results in terms of height extension.  I wouldn't do more widht adjustments for now. It looks like we can do ~3000x1200 res. Maybe sacrifice some width to get more height. It also looks like whatevr we end up here will be 1:1 usable on 700D  :P
70D.112 & 100D.101

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1352 on: June 11, 2018, 06:10:06 PM »
Wow

nikfreak

  • Developer
  • Hero Member
  • *****
  • Posts: 1197
Re: Canon 100D / SL1
« Reply #1353 on: June 11, 2018, 08:18:59 PM »
I've got 2904x1254 recorded. My slow card can't manage it and also 14bit  lossless set it prints some "slot" error  after recording but the clip looks fine BUT there's a black border at the bottom at the exact size of the height extension :P

Code: [Select]
ML ASSERT:
slots[slot_index].size < max_frame_size
at mlv_lite.c:3408 (raw_video_rec_task), task raw_rec_task
lv:0 mode:3

raw_rec_task stack: 1edd18 [1eddd8-1ecdd8]
0x0044C94C @ a7a020:1edd48
0x0044C468 @ 44c9ac:1edd18

Magic Lantern version : Nightly.2018Jun11.100D101
Mercurial changeset   : 0075d0fa70f2+ (crop_rec_4k) tip
Built on 2018-06-11 10:38:36 UTC by ml@ml-pc.
Free Memory  : 578K + 1123K

Code: [Select]
ML ASSERT:
0
at mlv_lite.c:2517 (compress_task), task compress_task
lv:0 mode:3

compress_task stack: 1f1d58 [1f1de0-1f0de0]
0x0044C94C @ a751ac:1f1d88
0x0044C468 @ 44c9ac:1f1d58

Magic Lantern version : Nightly.2018Jun11.100D101
Mercurial changeset   : 0075d0fa70f2+ (crop_rec_4k) tip
Built on 2018-06-11 10:38:36 UTC by ml@ml-pc.
Free Memory  : 578K + 1122K

Here the settings to experiment with slightly reduced settings:
https://drive.google.com/file/d/10vPO9U7lrEh-iBbtYovBp8jquFDwmEOR/view?usp=sharing
https://drive.google.com/file/d/1ZVB8hif2B4WGNe0u-hepC3ZFFwrxMDcc/view?usp=sharing

Btw: Can you do some testing (3k width only) how much recording is possible and if there's corrupted frames etc.?
70D.112 & 100D.101

OlRivrRat

  • Hero Member
  • *****
  • Posts: 538
Re: Canon 100D / SL1
« Reply #1354 on: June 11, 2018, 09:31:59 PM »
   @NikFreak

Will theses Settings work with >

magiclantern-Nightly.2018Jun09.100D101sd_uhs

   or

magiclantern-Nightly.2018Jun10.100D101_merge
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

nikfreak

  • Developer
  • Hero Member
  • *****
  • Posts: 1197
Re: Canon 100D / SL1
« Reply #1355 on: June 11, 2018, 09:42:20 PM »
It will work on any build which enables adtg gui module. Check Danne's previous posts he earlier linked some zips which are fine to use if you want to experiment.
70D.112 & 100D.101

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1356 on: June 11, 2018, 09:49:16 PM »
I see you altered some ADTG adresses too. Tell me(noobish) can I add those to the hack as well or are they to be put in manually? Tried adding all but seems only the C0F0 is added. Would be gret if we could keep on working the hack here :):
Code: [Select]
static int res3k_reg(int reg)
{
    if (regs[reg].dst == 0xC0F0)
    {
        switch (regs[reg].reg)
        {
            case 0x6804:                /* C0F06804 - raw resolution */
                return 0x4580311;       /* from 0x528011B -> 3072px in raw_rec */
            case 0x6824:
               return 0x4ca;
            case 0x6828:
               return 0x4ca;
            case 0x682c:
               return 0x4ca;
            case 0x6830:
               return 0x4ca;
            case 0x6008:
               return 0x36b036b;
            case 0x600c:
               return 0x36b036b;
            case 0x6010:
               return 0x36b;
            case 0x8172:
               return 0x457;
            case 0x713c:
               return 0x455;
            case 0x8178:
               return 0x457;
            case 0x8179:
               return 0x587;
            case 0x7150:
               return 0x428;

        }
    }

    return 0;
}

I doubet 3k will last more than a second or two. WHen testing the 2880x1072 I got more tan a few good seconds with sd_uhs enabled. Needs more testing. Very nice that height is growing but couldn´t get it to work yet over here  :P

@OlRivrRat
Here´s an adtg_gui version:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/magiclantern-Nightly.2018Jun09.100D101sd_uhs_adtg_gui.zip

nikfreak

  • Developer
  • Hero Member
  • *****
  • Posts: 1197
Re: Canon 100D / SL1
« Reply #1357 on: June 11, 2018, 10:05:15 PM »
Danne like this:

Code: [Select]
static int res3k_reg(int reg)
{
    if (regs[reg].dst == 0xC0F0)
    {
        switch (regs[reg].reg)
        {
            case 0x6804:                /* C0F06804 - raw resolution */
                return 0x4580311;       /* from 0x528011B -> 3072px in raw_rec */
            case 0x6824:
               return 0x4ca;
            case 0x6828:
               return 0x4ca;
            case 0x682c:
               return 0x4ca;
            case 0x6830:
               return 0x4ca;
            case 0x6008:
               return 0x36b036b;
            case 0x600c:
               return 0x36b036b;
            case 0x6010:
               return 0x36b;
            case 0x6014:
               return 0x66b;
            case 0x7150:
              return 0x428;
            case 0x713c:
               return 0x455;
         
         }
    }
       else if (regs[reg].dst == 2)        /* ADTG 2 */
    {
        switch (regs[reg].reg)
        {
           case 0x8172:
               return 0x457;
            case 0x8178:
               return 0x457;
            case 0x8179:
               return 0x587;

        }
    }

    return 0;
}

Notice / Update:
I added C0F06014 for you into the code. Now later with "Overriden regs" option you can modify it for vertical resolution and fps.

btw can you post me that updated adtg_gui module. Me is doing this still manually each time....
70D.112 & 100D.101

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1358 on: June 11, 2018, 10:20:35 PM »

nikfreak

  • Developer
  • Hero Member
  • *****
  • Posts: 1197
Re: Canon 100D / SL1
« Reply #1359 on: June 11, 2018, 10:39:32 PM »
Oops updated my code above
713c and 7150 are not adtg2 registers. Please recompile.
70D.112 & 100D.101

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1360 on: June 11, 2018, 10:49:53 PM »
Recompiled, uploaded :)

Here´s my cat in 2880x1072:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/M11-2243.MLV

OlRivrRat

  • Hero Member
  • *****
  • Posts: 538
Re: Canon 100D / SL1
« Reply #1361 on: June 12, 2018, 01:41:44 AM »
           @Danne

Thanks for the "adtg_gui version" but My SL1 wasn't happy with that taste of it.

Have a Crash Log, how do I get it to You?
ORR~DeanB  ~~  80D-ML  &  SL1+ML  &  5D2+ML  &  5DC+ML  &  70D+ML(AliveAgain)

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1362 on: June 12, 2018, 06:20:50 AM »
There"s crashes all the time with the adtg_gui and the 100D. It works better though with the hack from Nikfreak.

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1363 on: June 12, 2018, 10:59:28 AM »
Modified the adtg_gui module to following and recordings works in 2904x1248

adtg_gui_ver_03.zip
https://bitbucket.org/Dannephoto/magic-lantern/downloads/adtg_gui_ver_03.zip
Code: [Select]
static int res3k_reg(int reg)
{
    if (regs[reg].dst == 0xC0F0)
    {
        switch (regs[reg].reg)
        {
            case 0x6800:                /* C0F06804 - raw resolution */
                return 0x40019;
            case 0x6804:                /* C0F06804 - raw resolution */
                return 0x5080301;       /* from 0x528011B -> 3072px in raw_rec */
            case 0x6824:
               return 0x4ca;
            case 0x6828:
               return 0x4ca;
            case 0x682c:
               return 0x4ca;
            case 0x6830:
               return 0x4ca;
            case 0x6008:
               return 0x36b036b;
            case 0x600c:
               return 0x36b036b;
            case 0x6010:
               return 0x36b;
            case 0x6014:
               return 0x66b;
            case 0x7150:
              return 0x428;
            case 0x713c:
               return 0x505;
         
         }
    }
       else if (regs[reg].dst == 2)        /* ADTG 2 */
    {
        switch (regs[reg].reg)
        {
           case 0x8172:
               return 0x437;
            case 0x8178:
               return 0x437;
            case 0x8179:
               return 0x587;

        }
    }

    return 0;
}

I added and changed a few registers from Nikfreak´s latest screenshots.

Code: [Select]
             case 0x6014:
               return 0x66b;
Not sure if I´m talking out my ass here but above register gives around 22fps which seems stable for non corrupted frames. So do we lower height to get more fps? Is this the register to tweak?:
Code: [Select]
            case 0x6804:                /* C0F06804 - raw resolution */
                return 0x5080301;

Or this as you state:
Quote
Notice / Update:
I added C0F06014 for you into the code. Now later with "Overriden regs" option you can modify it for vertical resolution and fps.

nikfreak

  • Developer
  • Hero Member
  • *****
  • Posts: 1197
Re: Canon 100D / SL1
« Reply #1364 on: June 12, 2018, 11:40:16 AM »
Code: [Select]
case 0x6008:
               return 0x35b035b;
            case 0x600c:
               return 0x35b035b;
            case 0x6010:
               return 0x35b;
            case 0x6014:
               return 0x65b;

Lower it step by step like this. Above seen control fps. Don't forget to open Canon menu after each adjustment. until you reach 24fps and no corrupted frames. I guess you can lower 0x6014 to something like 0x60b or even lower 0x5cb etc.

The first three have not much room to lower. Just try step by step

Update: I initially stated that movie crop mode can be adjusted with same technique. Wouldn't it be even more useful in that mode?
x3 zoom vs x5. Wide angle will be much wider???
70D.112 & 100D.101

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1365 on: June 12, 2018, 12:27:13 PM »
Cool, will test!
Extending 3x mode is of course very interesting. How much more info can we get in there you think(movie crop mode)? 2.5 and 3K seems exclusively for 5x Zoom?
Sidenote. Thinking of a lua script which performs initial adtg steps...

nikfreak

  • Developer
  • Hero Member
  • *****
  • Posts: 1197
Re: Canon 100D / SL1
« Reply #1366 on: June 12, 2018, 12:58:51 PM »
Initial test was definitely 2400 width possible in movie crop mode. Maybe more with the knowledge now.
From 70D I know there's a x3 zoom which I think "movie crop mode" is equal to. But I can't tell if the output is different or x5 zoom has the same FOV / POV. I still "think" it has another POV when viewing on PC but If they are same then it doesn't make sense. Can someone comment on it.
70D.112 & 100D.101

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1367 on: June 12, 2018, 01:05:56 PM »
2400. That seems really nice!

By the way. Got 23.996 fps with this:
Code: [Select]
static int res3k_reg(int reg)
{
    if (regs[reg].dst == 0xC0F0)
    {
        switch (regs[reg].reg)
        {
            case 0x6800:                /* C0F06804 - raw resolution */
                return 0x40019;
            case 0x6804:                /* C0F06804 - raw resolution */
                return 0x5080301;       /* from 0x528011B -> 3072px in raw_rec */
            case 0x6824:
               return 0x4ca;
            case 0x6828:
               return 0x4ca;
            case 0x682c:
               return 0x4ca;
            case 0x6830:
               return 0x4ca;
            case 0x6008:
               return 0x34b034b;
            case 0x600c:
               return 0x34b034b;
            case 0x6010:
               return 0x34b;
            case 0x6014:
               return 0x62b;
            case 0x7150:
              return 0x428;
            case 0x713c:
               return 0x505;
         
         }
    }
       else if (regs[reg].dst == 2)        /* ADTG 2 */
    {
        switch (regs[reg].reg)
        {
           case 0x8172:
               return 0x437;
            case 0x8178:
               return 0x437;
            case 0x8179:
               return 0x587;

        }
    }

    return 0;
}

Register change in question:
23.996 fps
Code: [Select]
           case 0x6008:
               return 0x34b034b;
            case 0x600c:
               return 0x34b034b;
            case 0x6010:
               return 0x34b;
            case 0x6014:
               return 0x62b;


24.037 fps
Code: [Select]
           case 0x6008:
               return 0x35b035b;
            case 0x600c:
               return 0x35b035b;
            case 0x6010:
               return 0x35b;
            case 0x6014:
               return 0x60b;

nikfreak

  • Developer
  • Hero Member
  • *****
  • Posts: 1197
Re: Canon 100D / SL1
« Reply #1368 on: June 12, 2018, 02:22:29 PM »
Good news. Battery empty I am pausing BUT I have the full vertical resolution displayed on the LCD. Needs some fine tuning an additional register added. Now there's some pink overlay but that could be CMOS registers. We will see when I pick it up again ;-)
70D.112 & 100D.101

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1369 on: June 12, 2018, 05:37:28 PM »
Sounds great Nikfreak. Can´t wait for some more registers  :P. Meanwhile I created a ML build which contains a lua script that enables SD overclocking and applies the adtg_gui patches for 2904x1248 24 fps recording. The lua script is called SD overclock-adtg_gui helper.
ML build here:
https://bitbucket.org/Dannephoto/magic-lantern/downloads/magiclantern-Nightly.2018Jun12.100D101_adtg_gui_ver_05.zip

Movie link here:

You absolutely need global draw set to off before running the script. Some bug. Otherwise you have to do a battery pull.
Liveview window will be pinkish(black on video) but you will be able to record a second or two even with the crappy liveview view.

wety67e

  • New to the forum
  • *
  • Posts: 15
Re: Canon 100D / SL1
« Reply #1370 on: June 12, 2018, 05:44:51 PM »
wow  ;D

But with SD overclocking ...no zoom 5x..What is the maximum resolution?? Only 1736x976 24 fps recording??

Thanks

Walter Schulz

  • Contributor
  • Hero Member
  • *****
  • Posts: 8252
Re: Canon 100D / SL1
« Reply #1371 on: June 12, 2018, 05:50:38 PM »
?
Which build are you using?

nikfreak

  • Developer
  • Hero Member
  • *****
  • Posts: 1197
Re: Canon 100D / SL1
« Reply #1372 on: June 12, 2018, 06:59:22 PM »
Danne can you try this:

Code: [Select]
static int res3k_reg(int reg)
{
    if (regs[reg].dst == 0xC0F0)
    {
        switch (regs[reg].reg)
        {
            case 0x6800:                /* C0F06804 - raw resolution */
                return 0x40019;
            case 0x6804:                /* C0F06804 - raw resolution */
                return 0x5080301;       /* from 0x528011B -> 3072px in raw_rec */
            case 0x6824:
               return 0x4ca;
            case 0x6828:
               return 0x4ca;
            case 0x682c:
               return 0x4ca;
            case 0x6830:
               return 0x4ca;
            case 0x6008:
               return 0x34b034b;
            case 0x600c:
               return 0x34b034b;
            case 0x6010:
               return 0x34b;
            case 0x6014:
               return 0x60b;
            case 0x7150:
              return 0x428;
            case 0x713c:
               return 0x545;
         
         }
    }
       else if (regs[reg].dst == 2)        /* ADTG 2 */
    {
        switch (regs[reg].reg)
        {
           case 0x8172:
               return 0x437;
            case 0x8178:
               return 0x437;
            case 0x8179:
               return 0x587;
            case 0x82b6:
               return 0x87f;

        }
    }

    return 0;
}

713c has been changed and 82B6 added.
70D.112 & 100D.101

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1373 on: June 12, 2018, 07:14:05 PM »
hm, I am getting RAW detect error and having a hard time getting the registers to apply. Also notice that fps is 24.445 instead of 24.037 fps from the registers below.
Back soon...

Code: [Select]
static int res3k_reg(int reg)
{
    if (regs[reg].dst == 0xC0F0)
    {
        switch (regs[reg].reg)
        {
            case 0x6800:                /* C0F06804 - raw resolution */
                return 0x40019;
            case 0x6804:                /* C0F06804 - raw resolution */
                return 0x5080301;       /* from 0x528011B -> 3072px in raw_rec */
            case 0x6824:
               return 0x4ca;
            case 0x6828:
               return 0x4ca;
            case 0x682c:
               return 0x4ca;
            case 0x6830:
               return 0x4ca;
            case 0x6008:
               return 0x35b035b;
            case 0x600c:
               return 0x35b035b;
            case 0x6010:
               return 0x35b;
            case 0x6014:
               return 0x60b;
            case 0x7150:
              return 0x428;
            case 0x713c:
               return 0x505;
         
         }
    }
       else if (regs[reg].dst == 2)        /* ADTG 2 */
    {
        switch (regs[reg].reg)
        {
           case 0x8172:
               return 0x437;
            case 0x8178:
               return 0x437;
            case 0x8179:
               return 0x587;

        }
    }

    return 0;
}

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7235
Re: Canon 100D / SL1
« Reply #1374 on: June 13, 2018, 11:22:58 AM »
I got a question. I tried a baby step to see if we could get back 1080 in the 2520x1072 mode in the 100D without stirring too much, keeping 10/12bit lossless and so on. By tweaking folowing:
2520x1072
Code: [Select]
            case 0x6804:                /* C0F06804 - raw resolution */
                return 0x4580201;
To:
2520x1080
Code: [Select]
            case 0x6804:                /* C0F06804 - raw resolution */
                return 0x45902a1;

All modes seems ok with this change, preview working and so on. Question. How do I test this newly set register and put it in ML code not needing go through adtg_gui every time?

Seems it makes mv1080p non zoom mode to freeze but 5xZoom works...

Following gives 14bit-lossless 24 fps with good preview capabilities, 16:9, a good preset):
2520x1248
Code: [Select]
            case 0x6804:                /* C0F06804 - raw resolution */
                return 0x50802a1;