5D2 - QEMU & DM Log files for R&D

Started by reddeercity, December 16, 2017, 11:55:52 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

reddeercity

Starting a new thread for the 5d2 dm-log and other log files for r&d , didn't what to clutter up the 12-bit (and 10-bit) RAW video development discussion thread
so I saw some interesting things in dm-0001.log file from my bitbucket downloads

1A2C2>    PropMgr:ff99bbdc:01:03: MovieParamData
1A31B>    PropMgr:ff99b5b4:01:03: #mode 0 size 0x0 , framerate 0x18 , type 0xc

       
6AC67>    Startup:ff8e5f88:98:03: GetImageTrimming X(2976)=0(2414, 2416), Y(1928)=0(1552, 1548)


3003C>    Startup:ff814378:8b:03: startupPrepareCapture
304F4>    Startup:ff8b89c4:80:03: MemMgr 0 2
30539>    Startup:ff8b89c4:80:03: MemMgr 0 0
3055C>    Startup:ff8b89c4:80:03: MemMgr 0 4
3057D>    Startup:ff8b89c4:80:03: MemMgr 0 0
306C5>    Startup:ff8b5ea4:80:03: RearrangeMemMgr 0 5
30712>    Startup:ff8b2d54:80:01: ###### AllocateMemoryFromShootMemoryObject 1
3073B>    Startup:ff8b2dfc:80:01: ###### 0 0x73CFE0 0x73CFE0
3076B>    Startup:ff8b2dfc:80:01: ###### 1 0x73CFE8 0x73CF2C
30797>    Startup:ff8b2e28:80:01: ###### 1 pMemoryUnit 0x73CF2C 0x73D3B0
307D2>    Startup:ff8b2e58:80:01: AllocatableSizeOfPackHeap 30408592, 16384, 16384
30809>    Startup:ff8b30e0:80:01: !!AllocateMemory 16384
30891>    Startup:ff8b2f28:80:01: AllocateMemoryFromShootMemoryObject 1 97517232 16384 0x0073d518
308D8>    Startup:ff8b2f44:80:01: ###### VirtualXXXFreeSize1 97517232 137296720
30920>    Startup:ff8b32d0:80:01: ###### VirtualXXXFreeSize2 97500836 137296720
30959>    Startup:ff8b32e4:80:01: ###### !! AllocateMemoryFromShootMemoryObject hMemSuite 0x73D518
30983>    Startup:ff8b5d40:80:05: Enter AllocateMEM3 0x4000 JOB


Bet you seen this before  ;D
3B836>     RscMgr:ff8af44c:80:03: SetBusy 0x50(0x50)(0x10)

Shoot Capture
4189C> ShootCaptu:ff881d04:93:03: scsProperty ID=0x0(0x0)
41988> ShootCaptu:ff87f820:93:03: scsInit
41A4B> ShootCaptu:00095f98:00:00: *** register_interrupt(0x0, 0x33, 0xff871c50, 0x0), from ff871db8
41CB9> ShootCaptu:00095f98:00:00: *** register_interrupt("CAPREADY", 0x51, 0xffa35980, 0x0), from ffa359f4
42060> ShootCaptu:ff9a77d0:00:01: [CLKSAVER] ��ClockSave Out��
423A9> ShootCaptu:00095f98:00:00: *** register_interrupt("JpCoreIntrHandler", 0x64, 0xff9a5954, 0x0), from ff9a5c80
42849> **INT-64h*:00095c38:00:00: >>> INT-64h JpCoreIntrHandler ff9a5954(0)
428A0> **INT-64h*:0000057c:00:00: <<< INT-64h done
42EEC> ShootCaptu:00095f98:00:00: *** register_interrupt("JpCore2IntrHandler", 0xa3, 0xff9a64bc, 0x0), from ff9a6774
42F82> ShootCaptu:00095f98:00:00: *** register_interrupt("CompleteReadOperation", 0x60, 0xffb273d8, 0x0), from ffb27454
4303D> ShootCaptu:00095f98:00:00: *** register_interrupt("AfComplete", 0x61, 0xff9a8c00, 0x0), from ff9a8df8
43092> ShootCaptu:00095f98:00:00: *** register_interrupt("AfOverRun", 0x62, 0xff9a8d84, 0x0), from ffb26df8
430E6> ShootCaptu:00095f98:00:00: *** register_interrupt("ADKIZ", 0x65, 0xffb27fac, 0x0), from ffb26dfc
43161> ShootCaptu:00095f98:00:00: *** register_interrupt("Obinteg", 0x63, 0xffb27744, 0x0), from ffb26e04
431B1> ShootCaptu:00095f98:00:00: *** register_interrupt("WbInteg", 0x66, 0xffb26754, 0x0), from ffb267d4
431FC> ShootCaptu:00095f98:00:00: *** register_interrupt("WbBlock", 0x67, 0xffb2677c, 0x0), from ffb26e08
4325E> ShootCaptu:00095f98:00:00: *** register_interrupt("WEDmac0Interrupt", 0x58, 0xff9a4038 "[ENG] WriteDMACInterrupt(%d)(%#lx)(%d)", 0x0), from ff9a4438
432B3> ShootCaptu:00095f98:00:00: *** register_interrupt("WEDmac1Interrupt", 0x59, 0xff9a4038 "[ENG] WriteDMACInterrupt(%d)(%#lx)(%d)", 0x1), from ff9a4438
43307> ShootCaptu:00095f98:00:00: *** register_interrupt("WEDmac2Interrupt", 0x5a, 0xff9a4038 "[ENG] WriteDMACInterrupt(%d)(%#lx)(%d)", 0x2), from ff9a4438
4335C> ShootCaptu:00095f98:00:00: *** register_interrupt("WEDmac3Interrupt", 0x5b, 0xff9a4038 "[ENG] WriteDMACInterrupt(%d)(%#lx)(%d)", 0x3), from ff9a4438
433B2> ShootCaptu:00095f98:00:00: *** register_interrupt("WEDmac4Interrupt", 0x5c, 0xff9a4038 "[ENG] WriteDMACInterrupt(%d)(%#lx)(%d)", 0x4), from ff9a4438
43406> ShootCaptu:00095f98:00:00: *** register_interrupt("WEDmac5Interrupt", 0x6d, 0xff9a4038 "[ENG] WriteDMACInterrupt(%d)(%#lx)(%d)", 0x5), from ff9a4438
4345C> ShootCaptu:00095f98:00:00: *** register_interrupt("WEDmac6Interrupt", 0xc0, 0xff9a4038 "[ENG] WriteDMACInterrupt(%d)(%#lx)(%d)", 0x6), from ff9a4438
434B5> ShootCaptu:00095f98:00:00: *** register_interrupt("REDmac0Interrupt", 0x5d, 0xff9a426c "[ENG] ReadDMACInterrupt(%d)(%#lx)(%d)", 0x8), from ff9a4438
43509> ShootCaptu:00095f98:00:00: *** register_interrupt("REDmac1Interrupt", 0x5e, 0xff9a426c "[ENG] ReadDMACInterrupt(%d)(%#lx)(%d)", 0x9), from ff9a4438
4355E> ShootCaptu:00095f98:00:00: *** register_interrupt("REDmac2Interrupt", 0x5f, 0xff9a426c "[ENG] ReadDMACInterrupt(%d)(%#lx)(%d)", 0xa), from ff9a4438
435B2> ShootCaptu:00095f98:00:00: *** register_interrupt("REDmac3Interrupt", 0x6e, 0xff9a426c "[ENG] ReadDMACInterrupt(%d)(%#lx)(%d)", 0xb), from ff9a4438
43607> ShootCaptu:00095f98:00:00: *** register_interrupt("REDmac4Interrupt", 0xc1, 0xff9a426c "[ENG] ReadDMACInterrupt(%d)(%#lx)(%d)", 0xc), from ff9a4438
4365C> ShootCaptu:00095f98:00:00: *** register_interrupt("REDmac5Interrupt", 0xc8, 0xff9a426c "[ENG] ReadDMACInterrupt(%d)(%#lx)(%d)", 0xd), from ff9a4438
436B1> ShootCaptu:00095f98:00:00: *** register_interrupt("WEDmac7Interrupt", 0xf9, 0xff9a4038 "[ENG] WriteDMACInterrupt(%d)(%#lx)(%d)", 0x10), from ff9a4438
43708> ShootCaptu:00095f98:00:00: *** register_interrupt("WEDmac8Interrupt", 0x83, 0xff9a4038 "[ENG] WriteDMACInterrupt(%d)(%#lx)(%d)", 0x11), from ff9a4438
4375F> ShootCaptu:00095f98:00:00: *** register_interrupt("WEDmac9Interrupt", 0x8a, 0xff9a4038 "[ENG] WriteDMACInterrupt(%d)(%#lx)(%d)", 0x12), from ff9a4438
437B6> ShootCaptu:00095f98:00:00: *** register_interrupt("REDmac6Interrupt", 0x8b, 0xff9a426c "[ENG] ReadDMACInterrupt(%d)(%#lx)(%d)", 0x18), from ff9a4438
4380C> ShootCaptu:00095f98:00:00: *** register_interrupt("REDmac7Interrupt", 0x92, 0xff9a426c "[ENG] ReadDMACInterrupt(%d)(%#lx)(%d)", 0x19), from ff9a4438
4382C> **INT-0Ah*:00095c38:00:00: >>> INT-Ah Timer ff81027c(0)
4386D> **INT-0Ah*:0000057c:00:00: <<< INT-Ah done
4390D> ShootCaptu:00095f98:00:00: *** register_interrupt("CompleteOperation", 0x9a, 0xffb895c0, 0x0), from ffb26e18
43965> ShootCaptu:00095f98:00:00: *** register_interrupt("CompleteOperation", 0x93, 0xffb2a0c4, 0x0), from ffb26e1c
43EA7> ShootCaptu:ff87f908:93:03: BathtubAddress:0x5c714000, Size:65536
43F62>     RscMgr:ff8af184:80:03: ClearBusy 0x10(0x10)(0x40)


Still looking for liveview sync stuff .

reddeercity

Some Liveview stuff , NTSC Sync  -- maybe ?
D7292>    Startup:ff867658:82:03: InitializeDisplayDeviceController (PUB)
D746C>    Startup:00095f98:00:00: *** register_interrupt("EngInt PBVD", 0x68, 0xff866fb4 "VdInterruptHandler img=%x bmp=%x", 0x0), from ff867688
D74D5>    Startup:00095f98:00:00: *** register_interrupt("EngInt PBVD", 0x69, 0xff86719c "!! PBERROR_InterruptHandler 0x%lX", 0x0), from ff86769c
D783D>    Startup:ff9ad254:82:02: Factory TFT Com Adjust Add  0x404c6fc4
D7886>    Startup:ff9ad268:82:02: Factory TFT Com Adjust Size 12
D78AC>    Startup:ff9ad284:82:02: Factory TFT Com Adjust R 80006 G 80540 B 81024
D7906>    Startup:ff9acee8:82:02: Factory Sync Burst Adjust Add    0x404c6f68
D7935>    Startup:ff9acefc:82:02: Factory Sync Burst Adjust Size   16
D7957>    Startup:ff9acf18:82:02: NTSC Bf   0xeb, 0xeb
D7977>    Startup:ff9acf34:82:02: NTSC Sync 0x9471, 0x94719471
D79A2>    Startup:ff9acf50:82:02: PAL  Bf   0xec, 0xec
D79C2>    Startup:ff9acf6c:82:02: PAL  Sync 0x946f, 0x946f946f
D79FE>    Startup:ff9acfb4:82:02: Factory YUV Adjust Add  0x404c6f80
D7A29>    Startup:ff9acfc8:82:02: Factory YUV Adjust Size 24
D7A49>    Startup:ff9acfe8:82:02: TFT  Y   0x80, 0x80
D7A69>    Startup:ff9ad004:82:02: TFT  UV  0x8080, 0x8080
D7A8E>    Startup:ff9ad020:82:02: NTSC Y   0x35, 0x35
D7AAE>    Startup:ff9ad03c:82:02: NTSC UV  0x2d42, 0x2d42
D7AD2>    Startup:ff9ad058:82:02: PAL  Y   0x34, 0x34
D7AF2>    Startup:ff9ad074:82:02: PAL  UV  0x3d59, 0x3d59


Lens info
F0639>    CtrlSrv:ff9caf08:83:03: CurrentLensName[EF24-70mm f/2.8L USM]

a little VSync stuff
1F6DD> GuiLockTas:ff868058:00:02: [DispCon] EnableTftIc
1F76D> GuiLockTas:00095f98:00:00: *** register_interrupt(0x0, 0x34, 0xff871c50, 0x1), from ff871db8
21AD2> **INT-0Ah*:00095c38:00:00: >>> INT-Ah Timer ff81027c(0)
21B0E> **INT-0Ah*:0000057c:00:00: <<< INT-Ah done
226AF> GuiLockTas:ff866168:82:01: WaitVSync (PRI)
226DC> GuiLockTas:ff863fb4:82:01:  RequestNotifyBlank (PRI)
22702> GuiLockTas:ff864078:82:03: RequestNotifyBlank img=0 bmp=ff864cec
23750> **INT-68h*:00095c38:00:00: >>> INT-68h EngInt PBVD ff866fb4(0)
23787> **INT-68h*:ff866ff8:82:03: VdInterruptHandler img=0 bmp=ff864cec
237B6> **INT-68h*:ff864cfc:82:01: WaitBmpCBR
237E3> **INT-68h*:0000057c:00:00: <<< INT-68h done
23809> GuiLockTas:ff8661c0:82:02: EnableTftCtrl CurrentBrightness=4
23896> GuiLockTas:00095f98:00:00: *** register_interrupt(0x0, 0x34, 0xff871c50, 0x1), from ff871db8
241E2> **INT-0Ah*:00095c38:00:00: >>> INT-Ah Timer ff81027c(0)
2421C> **INT-0Ah*:0000057c:00:00: <<< INT-Ah done
242D5> **INT-10h*:00095c38:00:00: >>> INT-10h HPTimer ff86ca8c(0)
24337> **INT-10h*:0000057c:00:00: <<< INT-10h done
268F1> **INT-0Ah*:00095c38:00:00: >>> INT-Ah Timer ff81027c(0)
26924> **INT-0Ah*:0000057c:00:00: <<< INT-Ah done
2747D> GuiLockTas:ff8658e8:82:02:   NotifyChangeTurnOnDisplay
2784C> GuiLockTas:ff864be8:82:02:  SelectParameterToBmp (PRI)
2787D> GuiLockTas:ff864a40:82:02:  SetParameterToBitmapDisplayDevice (PRI)

a1ex

All of this is before Canon GUI even starts.

You'll see the same stuff (and be able to run it step by step or with additional debug infos) in QEMU, with:

./run_canon_fw.sh 5D2,firmware="boot=0" -d debugmsg ...

reddeercity

Ok thanks  , I did try to run QEMU on my AMD desktop that runs the VM of Ubuntu but clashed/errors out , I'll try on my dell i5 intel laptop .
If I'm not mistaken QEMU has been update , I'll need to catch up -- last version I tried was 1.6 I think

a1ex


reddeercity


reddeercity

This seems the best place to continue from TFT SIO communication (tft_regs.mo) post 33  as this has to do with startup Log files  but with hdmi connected,
there seem to be a few interesting thing like hdmi audio , LCD mirroring plus getting the 2 pillow box out (5d2 only I think) if possible .
below you see canon has muted the audio for some reason , being that most if not all  hdmi chips to my knowledge support audio I can't see a reason for the mute
don't know how you would turn it on , not to sure if this would be access thought canon only firmware or something that can be enable with code from ml

6405F> GuiLockTas:ff9ade94:88:03: Pana_TurnOnHDMI (Audio = 1)
640A1> GuiLockTas:ff9ae7d0:88:05: hdmiWaitForStat (stat = 1)
640D3> GuiLockTas:ff9ae858:88:05: hdmiWaitForStat : OK (3)
6414F> GuiLockTas:ff9a77d0:00:01: [CLKSAVER] ��ClockSave In��
64188> GuiLockTas:ff9a77d0:00:01: [CLKSAVER] ��ClockSave In��
641BD> GuiLockTas:ff867374:82:16: SetPBForHDMI DispType=3 fChange=0 HDMIInit=0
64247> GuiLockTas:ff8675ec:82:02: MuteON (3220)

Something else that I saw that I wonder if it's possible to implement for digic iv , 5d2 in particular
display mirroring , back lcd & hdmi , to my knowledge I would think that both HD buffer (HDVram I think) and the VGA lcd buffer needs to enable that the same time
or some how keep the vga buffer for back lcd enable when hdmi connected
I do know that there is two different buffer from what I seem , but to turn both on ,  that would be something again a firm thing or maybe a hack
this make me believe this could be a possible , but more than likely not by me . 
731FF>    CtrlSrv:ff8251b4:00:04: < GUI Lock > GUILock_TurnOffDisplay (PUB)
732C7> GuiLockTas:ff8248bc:00:03: < GUI Lock > GUILockTask 2
7331E> GuiLockTas:ff8677ec:82:16: TurnOffDisplay (PUB) Type=3 fDisplayTurnOn=1


Maybe 3x crop mode ?
D0583> LiveViewMg:ff837594:06:01: LVCAF_StartLiveView
D060A> LiveViewMg:ff90bde8:07:03: (Called->SetAFDefaultParam)
D063F> LiveViewMg:ff90bde8:07:03:  LVAF Ver.1.1.6 for Common
D0673> LiveViewMg:ff90bde8:07:03: InHeight           = 1268
D069E> LiveViewMg:ff90bde8:07:03: InWidth            = 2040
D06C7> LiveViewMg:ff90bde8:07:03: PosY               = 518
D06EE> LiveViewMg:ff90bde8:07:03: PosX               = 910
D0718> LiveViewMg:ff90bde8:07:03: AfHeight           = 248
D073E> LiveViewMg:ff90bde8:07:03: AfWidth            = 374
D0770> LiveViewMg:ff90bde8:07:03: FE { LPF=3, HPF=2, HPF2=4, THRX2=0, H2ON=1 }
D079F> LiveViewMg:ff90bde8:07:03: TE { LPF=4, HPF=0, HPF2=4, THRX2=0, H2ON=1 }

Is liveview lcd screen yuv (rgb)4.1.1. ? could this be the reason why in 10-12bit development  we get messup liveview
D0BEC> LiveViewMg:ffa0c904:18:01: [DETFEN] DetectFace_SetDataYUV411VType
LVANGEL ?  ??? interesting
D168E> LiveViewMg:ff8db56c:98:02: LVANGEL_GetAngelAndLuckyParameter 0

I can understand having 2 Vram buffer but 3 or is  one for 3x crop mode? or I'm I miss understanding
D28FA> LiveViewMg:ff8e0444:9b:03: Vram[0] = 0x41B07800
D2933> LiveViewMg:ff8e0444:9b:03: Vram[1] = 0x5C007800
D2963> LiveViewMg:ff8e0444:9b:03: Vram[2] = 0x5F607800


What the hell UHD  :)  will kind've  3840x48 almost looks like sRaw ,
D29C0> LiveViewMg:ffa0aaa0:99:02: StartRamClearPassRectangle Addr:41b07800, Width:3840, Height:48, VW:3840
That's one thing I've being looking for the , the sRaw size = UHD 3840 , so if I can some how get to the regs that control sRaw I maybe get 3840 out of a processing chip .
Wishful thinking .
VGA ? of LCD , would VW 3840 have something to do with "View Width" of 3840 in a vga resolution or down scaling ?D6E45> LiveViewMg:ffa0a924:99:02: StartRamClearPassLR Addr:5f634800 Width:600 Height:880 Gap:2640 VW:3840
and again but no "ClearPassLR"
D7B53> LiveViewMg:ffa0aaa0:99:02: StartRamClearPassRectangle Addr:5f96d800, Width:3840, Height:152, VW:3840
Seem to be a resizing the full res 5616x3744 to 3:4 960x478 (back lcd screen)
could be useful in 4K/UHD/3k etc. .... for preview in realtime (theoretically)
DFB12>    CtrlSrv:ffaac1a8:83:03: DlgLiveView.c ResizeLiveViewDialog(3)
E0691>    CtrlSrv:ffb7dd28:83:03: DlgLiveView.c VisibleDialogItemForBlackout
E08C4>    CtrlSrv:ff9d999c:83:02: CalcLvVramSize VramSize X(0) Y(0) W(960) H(478)
E0EDE>    CtrlSrv:ffb781ac:83:02: SetLvMovieAspectFrameToWinSystem Aspect ImaegSize W(5616) H(3744)
E0F3D>    CtrlSrv:ff9d999c:83:02: CalcLvVramSize VramSize X(0) Y(0) W(960) H(478)
E0F76>    CtrlSrv:ffb4e3d8:83:02: GetAspectHorizontalLinePosition
E0F9F>    CtrlSrv:ffb4e3f0:83:02: uiAspectWidth(16) uiAspectHeight(9)
E0FC8>    CtrlSrv:ffb4e40c:83:02: uiImageWidth(5616) uiImageHeight(3744) uiVramHeight(478)

Crop window ? , maybe a way to expand the window area like 5d3 @ 3.5k for 5d2 of is the buffer not big enough
13C7B> LiveViewMg:ff8e6a9c:98:02: LV_GetPtpZoomWindowArea IX=2247(2416), IY=1500(1548)
13CB8> LiveViewMg:ff8e6ab8:98:02: LV_GetPtpZoomWindowArea CX=0, CY=0

Framerate I think , I have canon set to 24p
1E811> LiveViewMg:00096198:00:00: *** register_interrupt("HEAD3", 0xd9, 0xff986e2c, 0x0), from ff986ee0
1E880> LiveViewMg:00096198:00:00: *** register_interrupt("HEAD4", 0xe0, 0xff986f4c, 0x0), from ff986f98


There a lot to understand here .




reddeercity

Some more fun stuff from my dm-startup log -- 
in my quest to understand everything in the startup log , I started looking in to the D4 TFT (LCD screen) In this post  here and some response from a1ex here
So let break down this part of the LOG file .   
02DB>    Startup:ff9ad254:82:02: Factory TFT Com Adjust Add  0x405c6fc4
30329>    Startup:ff9ad268:82:02: Factory TFT Com Adjust Size 12
30354>    Startup:ff9ad284:82:02: Factory TFT Com Adjust R 80006 G 80540 B 81024
303B5>    Startup:ff9acee8:82:02: Factory Sync Burst Adjust Add    0x405c6f68
303E8>    Startup:ff9acefc:82:02: Factory Sync Burst Adjust Size   16
3040D>    Startup:ff9acf18:82:02: NTSC Bf   0xeb, 0xeb
30432>    Startup:ff9acf34:82:02: NTSC Sync 0x9471, 0x94719471
30461>    Startup:ff9acf50:82:02: PAL  Bf   0xec, 0xec
30484>    Startup:ff9acf6c:82:02: PAL  Sync 0x946f, 0x946f946f
304BE>    Startup:ff9acfb4:82:02: Factory YUV Adjust Add  0x405c6f80
304ED>    Startup:ff9acfc8:82:02: Factory YUV Adjust Size 24
30511>    Startup:ff9acfe8:82:02: TFT  Y   0x80, 0x80
30554>    Startup:ff9ad004:82:02: TFT  UV  0x8080, 0x8080
30587>    Startup:ff9ad020:82:02: NTSC Y   0x35, 0x35
305AD>    Startup:ff9ad03c:82:02: NTSC UV  0x2d42, 0x2d42
305D7>    Startup:ff9ad058:82:02: PAL  Y   0x34, 0x34
305FC>    Startup:ff9ad074:82:02: PAL  UV  0x3d59, 0x3d59
306BA>    Startup:ff9a77d0:00:01: [CLKSAVER] ��ClockSave In��
306F5>    Startup:ff9a77d0:00:01: [CLKSAVER] ��ClockSave In��
3073E>    Startup:ff9a77d0:00:01: [CLKSAVER] ��ClockSave In��
307B0>    Startup:ff867780:82:03: Port Setting Fin
3082D>    Startup:ff864eec:00:03: [BmpDDev] InitializeBitmapDisplayDevice (PUB)
30B6B>    PropMgr:ff9aff0c:88:03: [EDID] PROP_CFN_TAB2 HDMI THRUE 0
30BDC>    PropMgr:ff9aff0c:88:03: [EDID] VIDEO_SYSTEM 0
30CFD>    PropMgr:ff8682d4:88:05: hdmiChangeAckCBR (0)
30D8E>       HDMI:ff868490:88:16: HPD OFF
30DC4>       HDMI:ff868214:88:05: DisconnectHDMI : Not Connected
30E00>    Startup:ff861c18:00:03: [SVG] CreateBufferMemory()

Not sure if this changes from photo mode to video mode , didn't check
30329>    Startup:ff9ad268:82:02: Factory TFT Com Adjust Size 12
RGB levels
Startup:ff9ad284:82:02: Factory TFT Com Adjust R 80006 G 80540 B 81024
Maybe related to Vsync , which is a issue in 10-12bit
303B5>    Startup:ff9acee8:82:02: Factory Sync Burst Adjust Add    0x405c6f68
303E8>    Startup:ff9acefc:82:02: Factory Sync Burst Adjust Size   16

30432>    Startup:ff9acf34:82:02: NTSC Sync 0x9471, 0x94719471

Could be a overlay ?
304BE>    Startup:ff9acfb4:82:02: Factory YUV Adjust Add  0x405c6f80
304ED>    Startup:ff9acfc8:82:02: Factory YUV Adjust Size 24

I was puzzled at first , but I think TFT YUV is full range & of course NTSC YUV is clamp to 16-235 (bt-601 & rec709) and that would feed to the HDMI as per protocol .
30511>    Startup:ff9acfe8:82:02: TFT  Y   0x80, 0x80
30554>    Startup:ff9ad004:82:02: TFT  UV  0x8080, 0x8080
30587>    Startup:ff9ad020:82:02: NTSC Y   0x35, 0x35
305AD>    Startup:ff9ad03c:82:02: NTSC UV  0x2d42, 0x2d42

For why I'm doing this so I can understand all the systems better .


reddeercity

Reading thought my decompiled rom from 5d2 for some useful information , found this
ff0316b4 FramTable == NULL
ff031b47 @DP_SetCroppingFrameLocation(X:%d Y:%d W:%d H:%d)
ff031b7c BaseW:%d BaseH:%d Angle:%d
ff031b9f @DP_SetCroppingFrameLocation FrameSize Exchange To HDMI
ff031bd8 Angle == 3600

so there a "frame table" the other thing I find very interesting specially for UHD is "SetCroppingFrameLocation FrameSize Exchange To HDMI"
could this be modified for correct framing for UHD/4k being
max output  HDMI#Version_1.3a (5d2 D4 ,more then likely D5 too) is 1920 × 1080 at 120 Hz or 2560 × 1440 at 60 Hz plus deep color (16bit) & XvYCC extended Gamut  .
It must do this already when in video mode with liveview FF in HD , be nice not to have the center crop in hdmi with 3x crop greater then 1080p up to 2.5k.

reddeercity

I do have the emulater Qemu up and running now so I can continue on working on digic IV cams (5d2 , 50d, 7d)
Found some interesting Info in my  MMIO activity (registers) and interrupts Log from qemu
7D stuff in the 5d2 ROM ? , wait it get better .
[GPIO]         at 0x001035F4:C0221000 [0xC0220024] <- 0x48      : GPIO_9 (master woke up on 7D)
600d , go figure
[GPIO]         at 0x001035F4:C0221000 [0xC02200DC] <- 0x4C      : GPIO_55 (abort situation for FROMUTIL on 600D)
really 1000d ?
[GPIO]         at 0x001035F4:C0221000 [0xC022012C] <- 0x4C      : GPIO_75 (1000D display)
Some more good stuff -- CF/SD card
[GPIO]         at 0x001033D0:00103618 [0xC022301C] <- 0x20      : CF/SD detect
[GPIO]         at 0x001033D4:00103618 [0xC022301C] -> 0x0       : CF/SD detect

***would this be the clocking for the CF card?***
[BASIC]        at 0x0010341C:00103618 [0xC0400008] -> 0x1010001 : CLOCK_ENABLE: ??? ??? DMA0
[BASIC]        at 0x00103424:00103618 [0xC0400008] <- 0x1010041 : CLOCK_ENABLE: ??? ??? ??? DMA0


[GPIO]         at 0x00102494:001000A0 [0xC022301C] -> 0x0       : CF/SD detect
[GPIO]         at 0x0010250C:00102500 [0xC0220074] <- 0x46      : GPIO_29
[GPIO]         at 0x0010251C:00102518 [0xC0220074] <- 0x44      : GPIO_29
[CFATA]        at 0x00102530:0010252C [0xC0608104] -> 0x4       : CFDMA ready maybe?
[GPIO]         at 0x00102540:0010252C [0xC0220074] <- 0x46      : GPIO_29
[GPIO]         at 0x00102550:00102550 [0xC0220074] <- 0x44      : GPIO_29
[CFATA]        at 0x00102560:00102560 [0xC0608104] -> 0x4       : CFDMA ready maybe?


Timer Stuff or is this the timing for CF card ? I remember a1ex tell me in a post that the CF card on 5D2 can be over clocked
could this be useful ?
[BASIC]        at 0x00103FD0:00800D8C [0xC0400008] -> 0x1010001 : CLOCK_ENABLE: ??? ??? DMA0
[BASIC]        at 0x00103FE0:00800D8C [0xC0400008] <- 0x1210503 : CLOCK_ENABLE: ??? LCLK PWM Tmr0 ??? SIO DMA0
TIMER]        at 0x00103BD4:00000000 [0xC0210000] <- 0x80000000: Timer #0: stopped
[TIMER]        at 0x00103BD8:00000000 [0xC0210000] <- 0x0       : Timer #0: stopped
[TIMER]        at 0x00103BE0:00000000 [0xC0210004] <- 0x2       : ???
[TIMER]        at 0x00103BE8:00000000 [0xC0210008] <- 0xFFFFFFFF: Timer #0: will trigger after 4294967 ms
[TIMER]        at 0x00103BF4:00000000 [0xC0210010] <- 0x1       : Timer #0: interrupt enable?
[TIMER]        at 0x00103BFC:00000000 [0xC0210014] <- 0x0       : ???
[TIMER]        at 0x00103C10:00105F4C [0xC0210000] <- 0x1       : Timer #0: starting
[*unk*]        at 0x0010602C:00105F50 [0xC0238080] <- 0x0       : ???
[TIMER]        at 0x00103704:00103720 [0xC021000C] -> 0x0       : Timer #0: current value
[TIMER]        at 0x00103704:00103728 [0xC021000C] -> 0x100     : Timer #0: current value

[TIMER]        at 0x00103704:00103720 [0xC021000C] -> 0x200     : Timer #0: current value
[TIMER]        at 0x00103704:00103728 [0xC021000C] -> 0x200     : Timer #0: current value
[TIMER]        at 0x00103704:00103728 [0xC021000C] -> 0x200     : Timer #0: current value
[TIMER]        at 0x00103704:00103728 [0xC021000C] -> 0x200     : Timer #0: current value
[TIMER]        at 0x00103704:00103728 [0xC021000C] -> 0x200     : Timer #0: current value
[TIMER]        at 0x00103704:00103728 [0xC021000C] -> 0x200     : Timer #0: current value
[TIMER]        at 0x00103704:00103728 [0xC021000C] -> 0x200     : Timer #0: current value
[TIMER]        at 0x00103704:00103728 [0xC021000C] -> 0x200     : Timer #0: current value
[TIMER]        at 0x00103704:00103728 [0xC021000C] -> 0x200     : Timer #0: current value
[TIMER]        at 0x00103704:00103728 [0xC021000C] -> 0x300     : Timer #0: current value

TX register
[GPIO]         at 0x00105938:00105548 [0xC0220028] <- 0x44      : GPIO_10
[SIO1]         at 0x0010593C:00105548 [0xC0820118] <- 0x0       : TX register
[SIO1]         at 0x00105940:00105548 [0xC0820104] <- 0x1       : Transmit: 0x00000000, setup 0x800EFF11 0x00000000 0x00000111 PC: 0x00105940
[SIO1]         at 0x00105944:00105548 [0xC0820104] -> 0x0       
[GPIO]         at 0x00105954:00105548 [0xC0220028] <- 0x46      : GPIO_10
[GPIO]         at 0x0010596C:00105548 [0xC0220020] <- 0x48      : GPIO_8

reddeercity

Doing some investigation with Log file from  the io-trace-full & dm-spy-experimental branch's ,  there can downloaded from this post here & here .
I found some very interesting things  :))
Resources for compressed raw TwoInTwoOut (I think)
6.834.203  FrontShtDe:ff9b9190:00:00: *** SDSFrontState: (1) --3--> (1)          ff88afcc (x=702ef0 z=b3e26c t=80000003)
6.834.236  FrontShtDe:ff88b008:96:05: sdsMem1ToJpegDevelop(5749)
6.834.254  FrontShtDe:ff8890a0:96:05: sdfExecuteMem1ToJpegPath(5749)
6.834.366  FrontShtDe:ff889290:96:05: ProcessTwoInTwoOutJpegPath(J) Start(5749)
6.834.434  FrontShtDe:ffa59b1c:00:00: *** LockEngineResources(72c400) x56:
6.834.465  FrontShtDe:000970ec:00:00:      1)    10002 (read channel 0xa)
6.834.485  FrontShtDe:000970ec:00:00:      2)    10003 (read channel 0xb)
6.834.500  FrontShtDe:000970ec:00:00:      3)        3 (write channel 0x3)
6.834.514  FrontShtDe:000970ec:00:00:      4)        4 (write channel 0x4)
6.834.533  FrontShtDe:000970ec:00:00:      5)    30000 (read connection 0x0)
6.834.552  FrontShtDe:000970ec:00:00:      6)    30021 (read connection 0x21)
6.834.570  FrontShtDe:000970ec:00:00:      7)    20005 (write connection 0x5)
6.834.587  FrontShtDe:000970ec:00:00:      8)    20003 (write connection 0x3)
6.834.599  FrontShtDe:000970ec:00:00:      9)    50003 (?)
6.834.610  FrontShtDe:000970ec:00:00:     10)    5000d (?)
.............................
6.835.178  FrontShtDe:000970ec:00:00:     55)   220022 (?)
6.835.191  FrontShtDe:000970ec:00:00:     56)   220023 (?)

I'm hoping this may be the Jpeg for MJpeg (the YUV is a hint I think)
7.011.182  RearShtDev:ff887f40:97:05: sdsYuvToDcfCompression(5749)(0,1)��(0x80000003)
7.011.211  RearShtDev:ff8869a8:97:05: sdsExecuteYuvToDcfPath(5749)
7.011.385  RearShtDev:ff886a4c:97:05: ProcessYuvToDcfPath(5749)
7.011.450  RearShtDev:ffa59b1c:00:00: *** LockEngineResources(72c7dc) x28:
7.011.482  RearShtDev:000970ec:00:00:      1)    10005 (read channel 0xd)
7.011.500  RearShtDev:000970ec:00:00:      2)        4 (write channel 0x4)
7.011.519  RearShtDev:000970ec:00:00:      3)    30003 (read connection 0x3)
7.011.537  RearShtDev:000970ec:00:00:      4)    20005 (write connection 0x5)
7.011.548  RearShtDev:000970ec:00:00:      5)    60004 (?)
..................................................
7.011.812  RearShtDev:000970ec:00:00:     26)   13001a (?)
7.011.825  RearShtDev:000970ec:00:00:     27)   13001b (?)
7.011.838  RearShtDev:000970ec:00:00:     28)   13001c (?)
****TwoOutJpeg ?****
7.015.166  RearShtDev:ffa590d4:16:03: [TTJ] STOP WR1:0x1af5754c WR2:0x1af5754c
7.015.171  RearShtDev:ff9a54ec:MMIO : [0xC0F04D08] -> 0x01F4C36C
7.015.172  RearShtDev:ff9a54ec:MMIO : [0xC0F04D08] -> 0x01F4C36C
7.015.200  RearShtDev:ffa59100:16:03: [TTJ] STOP RD1:0x1f4c36c RD2:0x1f4c36c

Decoding Lossless raw ?
DEC UnregisterCBROfCompleteDecodeJpeg 475
7.262.611  ImgPlayDrv:ffa3b5a0:1a:02: DEC UnregisterCBROfStopDecodeJpeg 494
7.262.638  ImgPlayDrv:ff9a4810:00:02: [ENG] UnregisterEDmacAbortCBR(3)
7.262.671  ImgPlayDrv:ffa3b944:00:00: *** UnLockEngineResources(8616e4) x29:
7.262.690  ImgPlayDrv:000970ec:00:00:      1)    60002 (?)
7.262.702  ImgPlayDrv:000970ec:00:00:      2)    60012 (?)
7.262.714  ImgPlayDrv:000970ec:00:00:      3)    60006 (?)
.............................................................
7.263.004  ImgPlayDrv:000970ec:00:00:     26)   13001b (?)
7.263.017  ImgPlayDrv:000970ec:00:00:     27)   13001c (?)
7.263.038  ImgPlayDrv:000970ec:00:00:     28)    10003 (read channel 0xb)
7.263.055  ImgPlayDrv:000970ec:00:00:     29)        3 (write channel 0x3)


This the most Coolest Part  8)
7.263.461  ImgPlayDrv:ffa3b998:1a:02: DEC CancelDecodeJpeg Comp Rdmac:1 Wdmac:1 Jp:1 Er:0
7.263.471  ImgPlayDrv:ff98899c:19:01: [IMPD] StartJpegDecoding Comp
7.263.478  ImgPlayDrv:ff9889b0:19:01: [IMPD] DecodeJpeg:0
7.263.493  ImgPlayDrv:ffaf9ca8:18:03: [V] BlankCallback 207
7.263.599  ImgPlayDrv:ff98a81c:19:03:  <<<<<< ImagePlayDriverTask ProcessID = 4
7.263.615  ImgPlayDrv:ff988d18:19:03:  StartYuvResizing 946
7.263.619  ImgPlayDrv:ff988d2c:19:01:  -----INPUT-----
7.263.629  ImgPlayDrv:ff988d48:19:01:  ZoomMode:0 YuvMode:1
7.263.659  ImgPlayDrv:ff988d64:19:01:  BaseAdd:0x40D00000 BaseW:2106 **** Could be used for "slurp_raw" ? *******
7.263.675  ImgPlayDrv:ff988d84:19:01:  x:0 y:0 w:2106 h:1404
7.263.679  ImgPlayDrv:ff988d94:19:01:  -----OUTPUT-----
7.263.685  ImgPlayDrv:ff988da8:19:01:  YuvMode:1
7.263.707  ImgPlayDrv:ff988dc4:19:01:  BaseAdd:0x41B07800 BaseW:720

7.264.373  ImgPlayDrv:ffa3d77c:1a:02: RSZ Input  Add:0x40D00000 Basew:2106 x:0 y:0 w:2106 h:1404
7.264.406  ImgPlayDrv:ffa3d7a8:1a:02: RSZ Output Add:0x41B07800 Basew:720 x:0 y:52 w:720 h:428
7.264.426  ImgPlayDrv:ffa3d7d4:1a:02: RSZ pfil:2 pres:2 xxa:117 xxb:80 xya:351 xyb:214
7.264.433  ImgPlayDrv:ffa3e9e4:1a:02: RSZ ColMode:1
7.264.449  ImgPlayDrv:ffa3e624:1a:02: RSZ SetFixedEngineParameter(0,2106)
7.264.460  ImgPlayDrv:ffa3e0e0:1a:02: RSZ ConvertParameterOfInputAndOutput
7.264.495  ImgPlayDrv:ffa3e550:1a:02: RSZ ConvertParameterOfInputAndOutput (Err:0x0)
7.264.512  ImgPlayDrv:ffa3e570:1a:02: RSZ x:0 y:0 w:2106 h:1404
7.264.534  ImgPlayDrv:ffa3e5a4:1a:02: RSZ pfil:2 xx:80/117 pres:2 xy:214/351
7.264.554  ImgPlayDrv:ffa3e5cc:1a:02: RSZ In  xa:0 xb:2106 xn:0 ya:0 yb:1404 yn:0
7.264.573  ImgPlayDrv:ffa3e5f4:1a:02: RSZ Out xa:0 xb:720 xn:0 ya:0 yb:428 yn:0
7.264.597  ImgPlayDrv:ffa3dd80:1a:02: RSZ CorrectPositionAndSize(0,2106)

7.264.735  ImgPlayDrv:ffa3db04:1a:02: Dmac xa:0 xb:4212 xn:0 ya:0 yb:1403 yn:0
7.264.755  ImgPlayDrv:ffa3db24:1a:02: off1a:0x0 off1b:0x0 off2a:0x0 off2b:0x0 off3:0x0

7.264.910  ImgPlayDrv:ffa3f6cc:1a:02: RSZ RequestResizeYuv RdAdr:0x40d00000, WrAdr:0x41b07800
7.264.925  ImgPlayDrv:ffa3f414:1a:02: RSZ RequestEngine
7.264.933  ImgPlayDrv:ffa3ebec:1a:02: RSZ CalculateResampleSettingValues
7.264.948  ImgPlayDrv:ffa3ec0c:1a:02: RSZ GetCnv422Mode (1)
7.264.958  ImgPlayDrv:ffa3ec40:1a:02: RSZ GetCnv411Mode (1)
7.264.967  ImgPlayDrv:ffa3ec74:1a:02: RSZ GetPfilMode (2)
7.264.978  ImgPlayDrv:ffa3eccc:1a:02: RSZ GetPreResMode (2)

7.265.200  ImgPlayDrv:ffa3eefc:1a:02: RSZ CalculateResampleSettingValues ResWinMode:0
7.265.224  ImgPlayDrv:ffa3ef24:1a:02: RSZ In   xa:0 xb:2106 xn:0 ya:0 yb:1404 yn:0
7.265.272  ImgPlayDrv:ffa3ef4c:1a:02: RSZ Rwin xa:10797044 xb:44 xn:863988 ya:10797100 yb:-6031792 yn:109598
7.265.292  ImgPlayDrv:ffa3ef74:1a:02: RSZ LesH xa:0 xb:1440 xn:0 ya:0 yb:1404 yn:0
7.265.314  ImgPlayDrv:ffa3f118:1a:02: RSZ Pfil xa:0 xb:720 xn:0 ya:0 yb:1404 yn:0
7.265.333  ImgPlayDrv:ffa3f140:1a:02: RSZ LesV xa:0 xb:720 xn:0 ya:0 yb:856 yn:0
7.265.352  ImgPlayDrv:ffa3f168:1a:02: RSZ Pres xa:0 xb:720 xn:0 ya:0 yb:428 yn:0
7.265.375  ImgPlayDrv:ffa3f460:1a:02: RSZ Set Lucky 0xffca4fdc(0x0)
7.265.385  ImgPlayDrv:ff9a54e4:MMIO : [0xC0F1A000] <- 0x00000001
7.265.387  ImgPlayDrv:ff9a54e4:MMIO : [0xC0F1A004] <- 0x00000000
7.265.403  ImgPlayDrv:ffa3f494:1a:02: RSZ w:2106, H:1404


This is where line skipping lives I would say , Could this be changed ? to reduce moiré pattern etc. .....

Now I bet you thought that was cool right ? Will this should Blow your Mind  :o
9.696.515     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(5616) keta(4)
9.696.953     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.697.390     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(3744) keta(4)
9.697.732     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.698.226     CtrlSrv:fface11c:83:03: DlgShootOlcInfo.c CreateCompoBmpForImageSize()
9.698.519     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.699.165     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.699.703     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.699.982  **INT-36h*:00000504:MMIO : [0xC0201004] -> 0x00000028
9.700.003     CtrlSrv:ff812e68:00:00: >>> INT-0Ah Timer FF81027C(00000000)
9.700.041     CtrlSrv:ff812e68:00:00: <<< INT-0Ah done
9.700.046  **INT-0Ah*:00000588:MMIO : [0xC0201010] <- 0x0000000A
9.700.101     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.700.451     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(4080) keta(4)
9.701.108     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(2720) keta(4)
9.701.473     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.701.971     CtrlSrv:fface11c:83:03: DlgShootOlcInfo.c CreateCompoBmpForImageSize()
9.702.258     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.702.902     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.703.646     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(2784) keta(4)
9.704.035     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.704.562     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(1856) keta(4)
9.704.902     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.705.439     CtrlSrv:fface11c:83:03: DlgShootOlcInfo.c CreateCompoBmpForImageSize()
9.705.727     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.706.321     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.707.219     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.707.568     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(5616) keta(4)
9.708.045     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.708.482     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(3744) keta(4)
9.708.880     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.709.382     CtrlSrv:fface11c:83:03: DlgShootOlcInfo.c CreateCompoBmpForImageSize()
9.709.689     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.709.981  **INT-0Ah*:00000504:MMIO : [0xC0201004] -> 0x00000028
9.710.002     CtrlSrv:ff9a05fc:00:00: >>> INT-0Ah Timer FF81027C(00000000)
9.710.063     CtrlSrv:ff9a05fc:00:00: <<< INT-0Ah done
9.710.068  **INT-0Ah*:00000588:MMIO : [0xC0201010] <- 0x0000000A
9.710.463     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.711.244     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(3861) keta(4)
9.711.801     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.712.166     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(2574) keta(4)
9.712.656     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.713.075     CtrlSrv:fface11c:83:03: DlgShootOlcInfo.c CreateCompoBmpForImageSize()
9.713.370     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.713.966     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.714.975     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(2784) keta(4)
9.715.346     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.715.869     CtrlSrv:fface2f4:83:03: DlgShootOlcInfo.c CreateCompoBmpFromNumber(1856) keta(4)
9.716.198     CtrlSrv:ffa8db28:04:01: Decode256ColorBitmap CodecType=7 W=14 H=28
9.716.740     CtrlSrv:fface11c:83:03: DlgShootOlcInfo.c CreateCompoBmpForImageSize()


As you can see there is preset frame sizes , from Full Res :5616x3744 Large to what I think is sRaw2 & medium raw
"Large 5616 x 3744 Fine 6.1 MB Normal 3.0 MB"
"Medium 4080 x 2720 Fine 3.6 MB"
3861 x 2574 "raw"? or jpeg
sRAW2 2784 x 1856 RAW 10.8 MB
So can with use the Hardware to get Full View , while it's being resized to 4080x2720 lossless raw or Jpeg frames ?
The resize engine would be nice to get access to , could fix Liveview issue in larger than HD sizes e.g.4k
or even maybe for HDMI (as it can handle  up to 2.5K) .
Just some thought on this , take it with a grain of salt.

reddeercity

I run the dm-spy in Liveview while recording H264 .mov
it seems that the base size is  5616x3744 and resize from there , nice to bypass the rez re-size and have it  5.6k H264  ;)
8A6B7>    CtrlSrv:ffb786fc:83:02: SetLvMovieAspectFrameToWinSystemWithRefresh Aspect ImaegSize W(5616) H(3744)
8A71A>    CtrlSrv:ff9d999c:83:02: CalcLvVramSize VramSize X(0) Y(0) W(720) H(425)
8A846>    CtrlSrv:ff8534d0:2f:05: MVR_StartRecord
8A87E>    CtrlSrv:00096840:00:00: *** TryPostEvent(MovieRecorder, 0x0, 0x0, 0x0), from ff8534e8
8A967> MovieRecor:00096098:00:00: *** MovRecState: (0) --0--> (1)          ff965390 (x=6b418c z=0 t=0)
8A9C4> MovieRecor:ff9653dc:2f:16: mvrRecStart


The whole H264 process , if we could change the input address & the re-size  , or if we could capture the stream data it should be 4:2:2
I would think the HDMI uses this stream , I should re-run the dm-spy with HDMI connected and see if that's true .

CDCA2> MovieRecor:00096098:00:00: *** MovRecState: (3) --4--> (4)          ff9675c4 (x=6b418c z=44000080 t=3db300)
CDD18> MovieRecor:ff9675e8:2f:03: mvrEncode (Addr = 0x44000080)
CDD5C> MovieRecor:ff8ea824:3d:01: LVCDEV_H264EncodeStart(-1)
CDD81> MovieRecor:ff8ea838:3d:01: pInputAddress(0x44000080)
CDDAD> MovieRecor:ff8ea850:3d:01: pStreamAddress1(0x48000078) Size1(0x18)
CDDDA> MovieRecor:ff8ea868:3d:01: pStreamAddress2(0x0) Size2(0x0)
CDE01> MovieRecor:ffa4c008:1a:01: H264E SetParameterH264Encode PassNo:10
CDE36> MovieRecor:ffa4c370:1a:01: H264E RequestH264Encode
CDE5B> MovieRecor:ffa4c1b4:1a:01: H264E OperateNalUnit fGetSpsPps:1
CDECC> MovieRecor:00096224:00:00: *** RegisterEDmacCompleteCBR(0x4, 0xffa4b9a0 "H264E JpegWriteDmacComplete(%#lx)", 0x0), from ffa4c1dc
CDEF9> MovieRecor:000965bc:00:00: *** LockEngineResources(861d70) x6 from ffa4c1fc:
CDF7D> MovieRecor:00096678:00:00:      1)    90000 (?)
CDFB3> MovieRecor:00096678:00:00:      2)    6000d (?)
CDFDB> MovieRecor:00096678:00:00:      3)    60004 (?)
CE002> MovieRecor:00096678:00:00:      4)    60001 (?)
CE02F> MovieRecor:00096678:00:00:      5)    10003 (read channel 0xb)
CE059> MovieRecor:00096678:00:00:      6)        3 (write channel 0x3)
CE0B5> MovieRecor:ff9a77d0:00:01: [CLKSAVER] ��ClockSave Out��
CE0F9> MovieRecor:ff9a77d0:00:01: [CLKSAVER] ��ClockSave Out��
CE131> MovieRecor:ff9a77d0:00:01: [CLKSAVER] ��ClockSave Out��
CE165> MovieRecor:ff9a77d0:00:01: [CLKSAVER] ��ClockSave Out��
CE194> MovieRecor:ff9a77d0:00:01: [CLKSAVER] ��ClockSave Out��
CE1C6> MovieRecor:ff9a77d0:00:01: [CLKSAVER] ��ClockSave Out��
CE1FA> MovieRecor:ff9a77d0:00:01: [CLKSAVER] ��ClockSave Out��
CE227> MovieRecor:ff9a77d0:00:01: [CLKSAVER] ��ClockSave Out��
CE257> MovieRecor:000965bc:00:00: *** LockEngineResources(861dc4) x1 from ffa4c21c:
CE28C> MovieRecor:00096678:00:00:      1)    a0000 (?)
CE2C3> MovieRecor:ff9a77d0:00:01: [CLKSAVER] ��ClockSave Out��
CE300> MovieRecor:ffa4b984:1a:01: H264E SetExecutablePassFirst
CE5A2> MovieRecor:00096224:00:00: *** ConnectWriteEDmac(0x4, 0x5), from ffa4c28c
CE618> MovieRecor:00096224:00:00: *** StartEDmac(0x4, 0x0), from ffa4c2b8
CE649> MovieRecor:00096790:00:00:     addr 8000078, ptr 8000078, size
CE6FA> **INT-5Ch*:ff9a407c:00:02: [ENG] WriteDMACInterrupt(4)(0x1)(0)
CE74E> **INT-5Ch*:ffa4b9c0:1a:01: H264E JpegWriteDmacComplete(0x8000090)
CE781> **INT-5Ch*:ffa4bac8:1a:01: Last WrDmacComplete Addr:0x8000090
CE7B1> **INT-5Ch*:ffa4bb1c:1a:01: Before EncodeComplete
CE7EA> **INT-A3h*:ffa4bc80:1a:01: H264E JpegEncodeCompleteCallback EncodeSize:0x18
CE87E> MovieRecor:ff8517d8:30:03: MOVW_SetAvcInfo
CE8CD> MovieRecor:ff967378:2f:03: 1 : W=0x48000090, E=0x1780430, W=0x48000090, E=0x0
CE921> MovieRecor:ff8ea824:3d:01: LVCDEV_H264EncodeStart(0)
CE94E> MovieRecor:ff8ea838:3d:01: pInputAddress(0x44000080)
CE979> MovieRecor:ff8ea850:3d:01: pStreamAddress1(0x48000090) Size1(0x1780430)
CE9AE> MovieRecor:ff8ea868:3d:01: pStreamAddress2(0x48000090) Size2(0x0)
CE9DD> MovieRecor:ffa4c008:1a:01: H264E SetParameterH264Encode PassNo:10
CEA0D> MovieRecor:ffa4c370:1a:01: H264E RequestH264Encode
CEA32> MovieRecor:ffa4bd6c:1a:01: H264E RequestH264EncHD FrameNum:0
CEA9C> MovieRecor:00096224:00:00: *** RegisterEDmacCompleteCBR(0xd, 0xffa4bc30 "H264E ReadDmacCompleteCallback r:%#lx, w:%#lx", 0x0), from ffa4bd94
CEB01> MovieRecor:00096224:00:00: *** RegisterEDmacCompleteCBR(0x4, 0xffa4b9a0 "H264E JpegWriteDmacComplete(%#lx)", 0x0), from ffa4bda4
CEB2F> MovieRecor:ffa4b984:1a:01: H264E SetExecutablePassFirst
CEBF1> MovieRecor:00096224:00:00: *** ConnectWriteEDmac(0x4, 0x5), from ffa4be44
CEC45> MovieRecor:00096224:00:00: *** ConnectReadEDmac(0xd, 0x3), from ffa4be64
CEC71> MovieRecor:ffa4be90:1a:01: H264E RequestH264EncHD r:0x4000080,w:0x8000090
CECE7> MovieRecor:00096224:00:00: *** StartEDmac(0x4, 0x0), from ffa4bebc
CED16> MovieRecor:00096790:00:00:     addr 8000090, ptr 8000090, size
CED89> MovieRecor:00096224:00:00: *** StartEDmac(0xd, 0x4), from ff8ea928
CEDB9> MovieRecor:00096790:00:00:     addr 4000080, ptr 4000080, size

reddeercity

Not sure if this is the same to the 5d3 eeko , but I found eeko in the 5d2 mmio-capture log
12097> ShootCaptu:000afd50:00:03: [ENAV] Eeko WakeUp:Start(1, 0)
13FDE> ShootCaptu:000afd50:00:03: [ENAV] Eeko WakeUp:Done(1)
59E3E> ShootPreDe:000afd50:00:03: [ENAV] Eeko WakeUp:Start(2, 0)
6C8F8> ShootPreDe:000afd50:00:03: [ENAV] StopEeko(1, 0)
996CE> ShootCaptu:000afd50:00:03: [ENAV] StopEeko(0, 0)
99A17> ShootCaptu:000afd50:00:03: [ENAV] StopEeko End(0)

from my understanding this has something to do with encoding, resizing on the jpeg side ?
I think a1ex said something about it for MJpeg  but not too sure right now , need more research.