2520x1304 24.006fps(increasing vertical resolution from here yields corruption)
if (is_camera("100D", "1.0.1"))
{
if (regs[reg].dst == DST_CMOS)
{
switch (regs[reg].reg)
{
case 7:
return 0xaa9; /* CMOS[7]: ISO related? */
}
}
if (regs[reg].dst == 0xC0F0)
{
switch (regs[reg].reg)
{
case 0x6804: /* C0F06804 - raw resolution */
return 0x53902a1; /* 2520x1304 24.006fps 14-bit lossless */
/* return 0x50802a1; 2520x1248 24.006fps 14-bit lossless */
case 0x6014:
return 0x71c;
case 0x713c:
return 0x535;
}
}
else if (regs[reg].dst == 2) /* ADTG 2 */
{
switch (regs[reg].reg)
{
case 0x82b6:
return 0x8f4; /* it's 5 in zoom mode and 6 in 1080p; this also overrides ADTG4 */
case 0x8172:
return 0x87c; /* without this, you get some weird artifacts; this should only go to ADTG2, not 4 */
case 0x8178:
return 0x87c;
}
}
}
3096x1320 20fps (seems max, increasing gives black side)
if (is_camera("100D", "1.0.1"))
{
if (regs[reg].dst == DST_CMOS)
{
switch (regs[reg].reg)
{
case 5:
return 0x280; /* CMOS[5]: ISO related? */
case 7:
return 0xa89; /* CMOS[7]: ISO related? */
}
}
if (regs[reg].dst == 0xC0F0)
{
switch (regs[reg].reg)
{
case 0x6804: /* C0F06804 - raw resolution */
return 0x5490331; /* 2904x1320 20fps 14-bit lossless */
case 0x6824:
return 0x3ca;
case 0x6828:
return 0x3ca;
case 0x682c:
return 0x3ca;
case 0x6830:
return 0x3ca;
case 0x6008:
return 0x37b037b;
case 0x600c:
return 0x37b037b;
case 0x6010:
return 0x37b;
case 0x6014:
return 0x6d7;
case 0x713c:
return 0x555;
}
}
else if (regs[reg].dst == 2) /* ADTG 2 */
{
switch (regs[reg].reg)
{
case 0x82b6:
return 0x7f4; /* it's 5 in zoom mode and 6 in 1080p; this also overrides ADTG4 */
case 0x8172:
return 0x77c; /* without this, you get some weird artifacts; this should only go to ADTG2, not 4 */
case 0x8178:
return 0x77c;
}
}
}
4056x2552 9fps:
if (is_camera("100D", "1.0.1"))
{
if (regs[reg].dst == DST_CMOS)
{
switch (regs[reg].reg)
{
case 5:
return 0x200; /* CMOS[5]: ISO related? */
case 7:
return 0xf20; /* CMOS[7]: ISO related? */
}
}
if (regs[reg].dst == 0xC0F0)
{
switch (regs[reg].reg)
{
case 0x6804:
return 0xa1b0421; /* 4056x2552 9fps 14-bit lossless */
case 0x6824:
return 0x4ca;
case 0x6828:
return 0x4ca;
case 0x682c:
return 0x4ca;
case 0x6830:
return 0x4ca;
case 0x6008:
return 0x45b045b;
case 0x600c:
return 0x45b045b;
case 0x6010:
return 0x45b;
case 0x6014:
return 0xbd4;
case 0x713c:
return 0xa55;
}
}
else if (regs[reg].dst == 2) /* ADTG 2 */
{
switch (regs[reg].reg)
{
case 0x82b6:
return 0xbf4; /* it's 5 in zoom mode and 6 in 1080p; this also overrides ADTG4 */
case 0x8172:
return 0x8fd;
case 0x8178:
return 0x8fd;
}
}
}