Author Topic: ProcessTwoInTwoOutLosslessPath  (Read 211262 times)

theBilalFakhouri

  • UHS-I
  • Developer
  • Hero Member
  • *****
  • Posts: 996
Re: ProcessTwoInTwoOutLosslessPath
« Reply #450 on: July 04, 2022, 06:16:24 AM »
On 700D there are 16 used resources for TTL_ResLock, I did some experiments and seems using only 5 of them is enough to get valid lossless compression in both RAW video and Silent picture:

Code: [Select]
    if (is_camera("700D", "*") || is_camera("650D", "*") || is_camera("EOSM", "*") || is_camera("100D", "*"))
    {
        uint32_t resources[] = {
            0x00000 | edmac_channel_to_index(edmac_write_chan),
            0x10000 | edmac_channel_to_index(edmac_read_chan),
            //0x20005,//no effect
            //0x20016,//no effect
            //0x30002,//no effect
            //0x50034,//no effect
            //0x5002d,//no effect
            0x50010,//affect silent pic
            0x90001,//affect silent pic + raw video
            //0x90000,//no effect
            0xa0000,//camera lock up without it
            //0x160000,//no effect
            //0x260000,//no effect
            //0x260001,//no effect
            //0x260002,//no effect
            //0x260003,//no effect
        };

Also, if we want to throw out Silent picture, only using 4 resources would work fine for RAW video which are:
Code: [Select]
0x00000 | edmac_channel_to_index(edmac_write_chan),
0x10000 | edmac_channel_to_index(edmac_read_chan),
0x90001,
0xa0000,

if we want to make Silent picture works it become:
Code: [Select]
0x00000 | edmac_channel_to_index(edmac_write_chan),
0x10000 | edmac_channel_to_index(edmac_read_chan),
0x50010, ---> Added this
0x90001,
0xa0000,

-Why I am mentioning this?

I have hope that DIGIC 4 models would have similar thing, by looking back at DIGIC 4 experiments, we can see notes about there are conflicts among some TTL_ResLock resources and LiveView:
Greg's experiment on 500D, a1ex's experiment on 60D

-TTL_ResLock resources from logs:

-500D from Greg
-7D from nikfreak
-5D2 from reddeercity
-550D from reddeercity
-50D from aprofiti

So the shared resources among DIGIC 4:

Code: [Select]
1)    10002 (read channel 0xa)
2)        3 (write channel 0x3)
3)        4 (write channel 0x4)
4)    30000 (read connection 0x0)
5)    20005 (write connection 0x5)
6)    20016 (write connection 0x16)
7)    50003 (?)
8)    5000d (?)
9)    5000f (?)
10)    5001a (?)
11)    80000 (?)
12)    90000 (?)
13)    a0000 (?)
14)   160000 (?)
15)   130003 (?)
16)   130004 (?)
17)   130005 (?)

+ These which presented only on 500D and 50D:
Code: [Select]
18)   130006 (?)
19)   130007 (?)
20)   130008 (?)
21)   13000c (?)
22)   130010 (?)
23)   130011 (?)
24)   130012 (?)
25)   130013 (?)
26)   130014 (?)
27)   130015 (?)
28)   130018 (?)
29)   13001a (?)
30)   13001b (?)
31)   13001c (?)


-Comparing DIGIC 4 resources to 700D:

For first two, resources are for read and write EDMAC channels, we shouldn't worry about them.
For 0xa0000, it's shared among all models DIGIC 4 and DIGIC 5, this seems the most important one, camera locks up without it on 700D
Last one for 700D it's 0x90001, I don't know which one is equivalent on DIGIC 4, could be 0x80000 or 0x90000? , but 0x80000 was conflicting with LiveView.

For silent pic, 0x50010 was required on 700D, could be 0x5001a on DIGIC 4, or 0x5000X ? but 0x5001a was conflicting with LiveView, Greg's notes

-Of course I could be wrong, maybe other resources are required too on DIGIC 4, well, maybe not all of them are required, knowing this thing may make things easier.

-I can't test these, no DIGIC 4 models around me, but might provide some tests (not in near future).
-I read that the newer DIGIC 4 models like 60D, 600D and 1100D are the easiest D4 models to start digging into it because of their similarities to DIGIC 5.
-Probably I need to check what the minimum required resources on 100D (could be same as 700D) and 5D3 and see if the theory applies there.