It works with live view (not decoded) but we have a problem.
When I take a silent simple picture (LV) it will wait with processing until I get out of LV (just go to play mode).
Conflict with live view reslock :
0x5000d,
0x5000f,
0x5001a,
0x80000,
0x130006,
0x130008,
0x130012,
0x130014,
0x130018,
0x13001c,
Some notes :
int slice1 = (width + 80 + 32) / 3;
int slice2 = (width + 80 + 32) / 3;
int slice3 = (width + 80 + 32) / 3 - 32;
int sliceerr = slice1 + slice2 + slice3 - width;
if (sliceerr != 80)
{
printf("ERROR slice size margin %d\n", sliceerr);
return -2;
}
EngDrvOut(0xc0f08548, PACK32(slice3 - 2, height + 3));
EngDrvOut(0xc0f08554, PACK32(width + 16, height + 4));
EngDrvOut(0xc0f0858c, slice1 - 32);
EngDrvOut(0xc0f08594, slice1 - 2);
EngDrvOut(0xc0f0d014, PACK32(slice3, height + 3));
EngDrvOut(0xc0f0d018, slice3 + 11);
EngDrvOut(0xc0f0d01c, slice2);
EngDrvOut(0xc0f0d020, slice2 + 3);
EngDrvOut(0xc0f0d024, slice1);
EngDrvOut(0xc0f0d054, PACK32(slice3 + 7, height + 4));
EngDrvOut(0xc0f0d05c, slice2 - 9);
EngDrvOut(0xc0f0d080, PACK32(slice3 + 7, height - 1));
EngDrvOut(0xc0f0d088, slice2 - 9);
EngDrvOut(0xC0F13068, PACK32(width - 1, height - 1));
EngDrvOut(0xc0f12010, PACK32(slice1 - 33, height - 37));
EngDrvOut(0xc0f12014, PACK32(slice3 - 17, height - 37));
EngDrvOut(0xc0f1201c, PACK32((slice1 - 33) / 8, (height - 37) / 8));
EngDrvOut(0xc0f12020, PACK32((slice3 - 17) / 8, (height - 37) / 8));
struct edmac_info RD1_info = {
.xa = slice1 * 14/8,
.xb = slice3 * 14/8,
.yb = height + 4 - 1,
.xn = 2,
.off1a = width * 14/8 - slice1 * 14/8,
.off1b = width * 14/8 - slice3 * 14/8,
.off2b = (((width * 14/8) * (height + 4 - 1) + 56) * -1 & 0xFFFFFFE), //digic 3/4
};
500D ML TTJ_Start :
*** StartEDmac(0x3, 0x0), from ff28f6e4
addr c000064, ptr c000064, size
StartEDmac(^^)/=== (3)(0)(0xc000064) ===
[ENGIO](Addr:0xc0f04304, Data:0x20000001) EngDrvOut //WR1
[ENGIO](Addr:0xc0f04300, Data:0x 1) EngDrvOut //WR1
[ENGIO](Addr:0xc0f12000, Data:0x 1)[0]
[ENGIO](Addr:0xc0f13048, Data:0x 3)[1]
[ENGIO](Addr:0xc0f13060, Data:0x 0)[2]
[ENGIO](Addr:0xc0f13000, Data:0x 0) EngDrvOut
[ENGIO](Addr:0xc0f13048, Data:0x 3) EngDrvOut
[ENGIO](Addr:0xc0f1304c, Data:0x 0) EngDrvOut
[ENGIO](Addr:0xc0f13004, Data:0x 1) EngDrvOut
[ENGIO](Addr:0xc0f0d000, Data:0x 1)[0]
[ENGIO](Addr:0xc0f08540, Data:0x 1)[1] //RSHD_ENB
[ENGIO](Addr:0xc0f08070, Data:0x 1)[2] //UNPACK24
*** StartEDmac(0xa, 0x2), from ff251bc0
addr 8008484, ptr 8008484, size
StartEDmac(^^)/=== (10)(2)(0x8008484) ===
[ENGIO](Addr:0xc0f04a04, Data:0x60020000) EngDrvOut //RD1
[ENGIO](Addr:0xc0f04a00, Data:0x 1) EngDrvOut //RD1