Magic Lantern Firmware Wiki
Register
Advertisement


Parent:http://magiclantern.wikia.com/wiki/2.0.4_AJ

Related Page: Event Dispatch tasks

Related Page2: Tasks

Sister page: State Objects

See also: ValSubLists http://magiclantern.wikia.com/wiki/2.0.4_ValSubLists


And there's more: 2.0.4 StateObjects LVRecState


2.0.4 StateObjects for LiveView: "LVRecState" and "LVState"[]

Pointer to 32 Byte StateObject List of pairs of Value, Subroutine Keh? ValSub Pairs Total Inputs Total States
aAJ_0x44FC_LV_0x2C_LV_StateObj aAJ_0xFFC79630_LV_VarSubList

"LVState"

Live View State (Not record)

Inputs x States

23 x 14 = 322

23 14
aAJ_0x44FC_LV_0x30_LVRec_StateObj aAJ_0xFFC7A040_LVRec_VarSubList

"LVRecState"

Live View Record State

7 x 7 = 49 7 7


----- "LVState" changing Current_state -----[]

+----------------------------------------------------------------+
|  AJ_StateObj() - ie The standard state object routine is used  |
+----------------------------------------------------------------+

AJAJ: Need to return here and give more of the logic used...

Basic logic:

Next_State = [ aAJ_0x0xFFC79630_LV_VarSubList + 8 x (23 x input + "LVState"_cur_state) ]

Next_Sub() = [0x04 + [ aAJ_0x0xFFC79630_LV_VarSubList + 8 x (23 x input + "LVState"_cur_state) ]

Set "LVState".CurState = Next_State

Then BR Next_sub() [There's a little table at the Bottom of the State Objects page to show how this is physically listed in memory]


And so if I list the "LVState" VarSubList as a matrix with 23 x 14 we can see how the state machine works.

"LVState" STATES used in its state machine[]

STATE Meaning
0 INITIAL_STATE Guess
1 LV_main Guess
2

When Recording / or not Recording. The camera wizzes around states 2, 3 and 4


5% of the time in this state

3 VD_ACTIVE?

When Recording / or not Recording. The camera wizzes around states 2, 3 and 4

75% of the time in state 3


VD = Veritical Data = Vsync related (for displaying LCD)

4 FACESTATE

When Recording / or not Recording. The camera wizzes around states 2, 3 and 4


20% of the time in state 4

5 Guess
6 Guess
7 Guess
8 PS_RPS

Guess


No idea what PS or RPS is yet

9 TG_standby

TG = Timing Generator: Ref: http://focus.ti.com/lit/ug/sprufg8b/sprufg8b.pdf

Before entering this state - the 4th and 13th routines from the current Zoom mode are re-executed (ie to put the LCD in the state is was in before record was pressed - not including the x1 x5 x10 level of zoom)

(there are 5 banks of 16 subs - see Zoom page)

10 = A When not Recording a Movie, Goes into this state about 0.1 % of the time.

When you press Magnify, it sometimes goes into this state

11 = B When you press Magnify, it usually is in this state for a short time.
12 = C LV_END

When a movie is Writing to CF, stay in this state


SUSPENDED

13 = D START_IN_SUSPEND Just come back from Recording a MOViE


"LVState" INPUTS used in its state machine[]

INPUT Meaning
0 START_INITAL_STATE Guess
1 GO_TO_STOPPED_STATE
2 START_VD_INTERRUPT (LV Record related) Guess
3 RECORD.StartEncode Guess
4 WB.LV.Record Guess
5 LV_END (guess End Recording) Guess
6 FD_GET_AF_STATE (FaceDection & Auto Focus)
7 PROP_CHANGE
8 LV_AE_RESULT (Result of Auto Exposure)
9 SET_DEBUG_FLAG Guess
10 WB_RESULT (White Balance)
11 FLICKER_RESULT
12 LVRAM_DISP (Return Vram from Disp)
13 LVRAM_PD (Return Vram from Physical Display)
14 LV_STATE_MACHINE (lots of state machine logic)
15 FD_FACESTATE
16 RESULT_AF_AE
17 COMPLETE_AF
18 LV_ANGEL
19 COMPLETE_AE_LOCK_PARMS (also called ALO)
20 HP_COPY_ASYNC (wild guess - High Pass filter any Copy)
21 MD_RESULT (Motion Detect)
22 COMPLETE_VIGNETTE_CORRECTION

.

"LVState" State Machine listed from the perspective of CURRENT_STATE
[]

.


State 0 0 = INITIAL 1 1 = STOPPED 2 2 3 3 4 4
Input = 0 = START_STATE_MACHINE 1 LiveView_main 1 LDR_R0_with_LVState_StateObj 2 LDR_R0_with_LVState_StateObj 3 LDR_R0_with_LVState_StateObj 4 LDR_R0_with_LVState_StateObj
Input = 1 = GO_TO_STOPPED 0 ReleaseResource 1 GetResource_n_Quark_n_LiveView 2 lvError_ILLEGAL_Event 3 lvError_ILLEGAL_Event 4 lvError_ILLEGAL_Event
Input = 2 = START_VD_INTERRUPT 0 lvError_ILLEGAL_Event 1 lvError_ILLEGAL_Event 3 lvVDInterrupt 3 lvError_ILLEGAL_Event 4 lvError_ILLEGAL_Event
Input = 3 = RECORD.StartEncode 0 lvError_ILLEGAL_Event 1 lvError_ILLEGAL_Event 2 lvError_ILLEGAL_Event 4 SetPsave.LVRec.StartEncode.HPCopyAsync 4 LDR_R0_with_LVState_StateObj
Input = 4 = WB.LV.Rec 0 lvError_ILLEGAL_Event 1 lvError_ILLEGAL_Event 2 lvError_ILLEGAL_Event 3 lvError_ILLEGAL_Event 2 ResetPsave.WB.LVREC.MVR.EV.EXPOSURE.STARTED
Input = 5 = LV_END 0 LDR_R0_with_LVState_StateObj C lvEnd 5 LDR_R0_with_LVState_StateObj 8 StopFlagForPS 8 StopFlagForRPS
Input = 6 = FD_GET.AF_STATE 0 Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos 1 Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos 2 Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos 3 Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos 4 Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos
Input = 7 = PROP_CHANGE 0 PROP_LV_massive 1 PROP_LV_massive 2 PROP_LV_massive 3 PROP_LV_massive 4 PROP_LV_massive
Input = 8 = LV_AE_RESULT 0 Free_LiveView_struct_0x2C 1 GetResource_n_Quark_n_LiveView 2 lvAEResult_Huge 3 lvAEResult_Huge 4 lvAEResult_Huge
Input = 9 = SET_DEBUG_FLAG 0 LV_Debug_flag_R1.set.or.clear 1 LV_Debug_flag_R1.set.or.clear 2 LV_Debug_flag_R1.set.or.clear 3 LV_Debug_flag_R1.set.or.clear 4 LV_Debug_flag_R1.set.or.clear
Input = 10 = WB_RESULT 0 LDR_R0_with_LVState_StateObj 1 WBResult 2 WBResult 3 WBResult 4 WBResult
Input = 11 = FLICKER_RESULT 0 LDR_R0_with_LVState_StateObj 1 FlickerResult 2 FlickerResult 3 FlickerResult 4 FlickerResult
Input = 12 = LVRAM_DISP 0 lvReturnVramFromDisp 1 lvReturnVramFromDisp 2 lvReturnVramFromDisp 3 lvReturnVramFromDisp 4 lvReturnVramFromDisp
Input = 13 = LVRAM_PD 0 lvReturnVramFromPD 1 lvReturnVramFromPD 2 lvReturnVramFromPD 3 lvReturnVramFromPD 4 lvReturnVramFromPD
Input = 14 = LV_STATE_MACHINE 0 LV_StateMachine 1 LV_StateMachine 2 LV_StateMachine 3 LV_StateMachine 4 LV_StateMachine
Input = 15 = FD_FACESTATE 0 FD_FACESTATE_n_GetResource 1 FD_FACESTATE_n_GetResource 2 FD_FACESTATE_n_GetResource 3 FD_FACESTATE_n_GetResource 4 FD_FACESTATE_n_LV_MAXOVER
Input = 16 = REQUEST_AF_AE 0 0 1 0 2 RequestAfAe 3 RequestAfAe 4 RequestAfAe
Input = 17 = COMPLETE_AF 0 0 1 0 2 CompleteAf 3 CompleteAf 4 CompleteAf
Input = 18 = LV_ANGEL 0 Free_LiveView_struct_0x2C 1 0 2 FlavorMode_n_LiveViewAngel 3 FlavorMode_n_LiveViewAngel 4 FlavorMode_n_LiveViewAngel
Input = 19 = COMPLETE_AE_LOCK_PARMS 0 LDR_R0_with_LVState_StateObj 1 0 2 CompleteALOSetParams 3 CompleteALOSetParams 4 CompleteALOSetParams
Input = 20 = HP_COPY_ASYNC 0 LDR_R0_with_LVState_StateObj 1 HPCopyAsync 2 HPCopyAsync 3 HPCopyAsync 4 HPCopyAsync
Input = 21 = MOT.DETECT_RESULT 0 MDResult 1 MDResult 2 MDResult 3 MDResult 4 MDResult
Input = 22 = CMPLETE.VIGNET.CORRECT 0 Free_LiveView_struct_0x2C 1 CompleteVignettingCorrectGetReg 2 CompleteVignettingCorrectGetReg 3 CompleteVignettingCorrectGetReg 4 VignettingCorrect_n_LV_MAX_OVER
State 5 5 6 6 7 7 8 8 9 9
Input = 0 = START_STATE_MACHINE 5 LDR_R0_with_LVState_StateObj 6 LDR_R0_with_LVState_StateObj 7 LDR_R0_with_LVState_StateObj 8 LDR_R0_with_LVState_StateObj 9 LDR_R0_with_LVState_StateObj
Input = 1 = GO_TO_STOPPED 5 lvError_ILLEGAL_Event 6 lvError_ILLEGAL_Event 7 lvError_ILLEGAL_Event 8 lvError_ILLEGAL_Event 9 lvError_ILLEGAL_Event
Input = 2 = START_VD_INTERRUPT 8 StopFlagForVD 6 lvError_ILLEGAL_Event 7 lvError_ILLEGAL_Event 9 TgStandby C lvEnd
Input = 3 = RECORD.StartEncode 5 lvError_ILLEGAL_Event 7 SetPsave.LVRec.StartEncode.HPCopyAsync 7 LDR_R0_with_LVState_StateObj 8 lvError_ILLEGAL_Event 9 LDR_R0_with_LVState_StateObj
Input = 4 = WB.LV.Rec 5 lvError_ILLEGAL_Event 6 lvError_ILLEGAL_Event 8 lvError_ILLEGAL_Event 8 LDR_R0_with_LVState_StateObj 9 LDR_R0_with_LVState_StateObj
Input = 5 = LV_END 5 lvError_ILLEGAL_Event 6 lvError_ILLEGAL_Event 7 lvError_ILLEGAL_Event 8 lvError_ILLEGAL_Event 9 lvError_ILLEGAL_Event
Input = 6 = FD_GET.AF_STATE 5 Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos 6 Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos 7 Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos 8 Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos 9 Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos
Input = 7 = PROP_CHANGE 5 PROP_LV_massive 1 PROP_LV_massive 6 PROP_LV_massive 8 PROP_LV_massive 9 PROP_LV_massive
Input = 8 = LV_AE_RESULT 5 lvAEResult_Huge 6 lvAEResult_Huge 7 lvAEResult_Huge 8 lvAEResult_Huge 9 Free_LiveView_struct_0x2C
Input = 9 = SET_DEBUG_FLAG 5 LV_Debug_flag_R1.set.or.clear 1 LV_Debug_flag_R1.set.or.clear 6 LV_Debug_flag_R1.set.or.clear 8 LV_Debug_flag_R1.set.or.clear 9 LV_Debug_flag_R1.set.or.clear
Input = 10 = WB_RESULT 5 WBResult 1 WBResult 6 WBResult 8 WBResult 9 LDR_R0_with_LVState_StateObj
Input = 11 = FLICKER_RESULT 5 FlickerResult 1 FlickerResult 6 FlickerResult 8 FlickerResult 9 LDR_R0_with_LVState_StateObj
Input = 12 = LVRAM_DISP 5 lvReturnVramFromDisp 1 lvReturnVramFromDisp 6 lvReturnVramFromDisp 8 lvReturnVramFromDisp 9 lvReturnVramFromDisp
Input = 13 = LVRAM_PD 5 lvReturnVramFromPD 1 lvReturnVramFromPD 6 lvReturnVramFromPD 8 lvReturnVramFromPD 9 lvReturnVramFromPD
Input = 14 = LV_STATE_MACHINE 5 LV_StateMachine 1 LV_StateMachine 6 LV_StateMachine 8 LV_StateMachine 9 LV_StateMachine
Input = 15 = FD_FACESTATE 5 FD_FACESTATE_n_GetResource 1 FD_FACESTATE_n_GetResource 6 FD_FACESTATE_n_GetResource 8 FD_FACESTATE_n_GetResource 9 FD_FACESTATE_n_GetResource
Input = 16 = REQUEST_AF_AE 5 RequestAfAe 1 RequestAfAe 6 RequestAfAe 8 RequestAfAe 9 RequestAfAe
Input = 17 = COMPLETE_AF 5 CompleteAf 1 CompleteAf 6 CompleteAf 8 CompleteAf 9 CompleteAf
Input = 18 = LV_ANGEL 5 Free_LiveView_struct_0x2C 6 Free_LiveView_struct_0x2C 6 Free_LiveView_struct_0x2C 8 Free_LiveView_struct_0x2C 9 Free_LiveView_struct_0x2C
Input = 19 = COMPLETE_AE_LOCK_PARMS 5 LDR_R0_with_LVState_StateObj 6 LDR_R0_with_LVState_StateObj 6 LDR_R0_with_LVState_StateObj 8 LDR_R0_with_LVState_StateObj 9 LDR_R0_with_LVState_StateObj
Input = 20 = HP_COPY_ASYNC 5 LDR_R0_with_LVState_StateObj 6 LDR_R0_with_LVState_StateObj 6 LDR_R0_with_LVState_StateObj 8 LDR_R0_with_LVState_StateObj 9 LDR_R0_with_LVState_StateObj
Input = 21 = MOT.DETECT_RESULT 5 MDResult 1 MDResult 6 MDResult 8 MDResult 9 MDResult
Input = 22 = CMPLETE.VIGNET.CORRECT 5 Free_LiveView_struct_0x2C 6 Free_LiveView_struct_0x2C 6 Free_LiveView_struct_0x2C 8 Free_LiveView_struct_0x2C 9 Free_LiveView_struct_0x2C
State 10 A = 10 11 B = 11 12 C = 12 = SUSPENDED 13 D = 13 = START_IN_SUSPEND
Input = 0 = START_STATE_MACHINE A LDR_R0_with_LVState_StateObj B LDR_R0_with_LVState_StateObj 13 LiveView_StartInSuspend D LDR_R0_with_LVState_StateObj
Input = 1 = GO_TO_STOPPED A lvError_ILLEGAL_Event B lvError_ILLEGAL_Event C ReleaseResource D GetResource_n_Quark_n_LiveView
Input = 2 = START_VD_INTERRUPT A lvError_ILLEGAL_Event 4 ChangeVDInterrupt C lvError_ILLEGAL_Event D lvError_ILLEGAL_Event
Input = 3 = RECORD.StartEncode B SetPsave.LVRec.StartEncode.HPCopyAsync B LDR_R0_with_LVState_StateObj C lvError_ILLEGAL_Event D lvError_ILLEGAL_Event
Input = 4 = WB.LV.Rec A lvError_ILLEGAL_Event B lvError_ILLEGAL_Event C lvError_ILLEGAL_Event D lvError_ILLEGAL_Event
Input = 5 = LV_END 8 StopFlagForPS 5 LDR_R0_with_LVState_StateObj C LDR_R0_with_LVState_StateObj C lvEnd
Input = 6 = FD_GET.AF_STATE A Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos B Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos C Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos D Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos
Input = 7 = PROP_CHANGE A PROP_LV_massive B PROP_LV_massive C PROP_LV_massive D PROP_LV_massive
Input = 8 = LV_AE_RESULT A lvAEResult_Huge B lvAEResult_Huge C Free_LiveView_struct_0x2C D GetResource_n_Quark_n_LiveView
Input = 9 = SET_DEBUG_FLAG A lvError_ILLEGAL_Event B lvError_ILLEGAL_Event C LV_Debug_flag_R1.set.or.clear D LV_Debug_flag_R1.set.or.clear
Input = 10 = WB_RESULT A WBResult B WBResult C LDR_R0_with_LVState_StateObj D WBResult
Input = 11 = FLICKER_RESULT A lvError_ILLEGAL_Event B lvError_ILLEGAL_Event C LDR_R0_with_LVState_StateObj D FlickerResult
Input = 12 = LVRAM_DISP A lvReturnVramFromDisp B lvReturnVramFromDisp C lvReturnVramFromDisp D lvReturnVramFromDisp
Input = 13 = LVRAM_PD A lvReturnVramFromPD B lvReturnVramFromPD C lvReturnVramFromPD D lvReturnVramFromPD
Input = 14 = LV_STATE_MACHINE A LV_StateMachine B LV_StateMachine C LV_StateMachine D LV_StateMachine
Input = 15 = FD_FACESTATE A FD_FACESTATE_n_GetResource B FD_FACESTATE_n_GetResource C FD_FACESTATE_n_GetResource D FD_FACESTATE_n_GetResource
Input = 16 = REQUEST_AF_AE A RequestAfAe B RequestAfAe C 0 D 0
Input = 17 = COMPLETE_AF A CompleteAf B CompleteAf C 0 D 0
Input = 18 = LV_ANGEL A FlavorMode_n_LiveViewAngel B FlavorMode_n_LiveViewAngel C Free_LiveView_struct_0x2C D Free_LiveView_struct_0x2C
Input = 19 = COMPLETE_AE_LOCK_PARMS A CompleteALOSetParams B CompleteALOSetParams C LDR_R0_with_LVState_StateObj D LDR_R0_with_LVState_StateObj
Input = 20 = HP_COPY_ASYNC A HPCopyAsync B HPCopyAsync C LDR_R0_with_LVState_StateObj D HPCopyAsync
Input = 21 = MOT.DETECT_RESULT A MDResult B MDResult C MDResult D MDResult
Input = 22 = CMPLETE.VIGNET.CORRECT A CompleteVignettingCorrectGetReg B CompleteVignettingCorrectGetReg C Free_LiveView_struct_0x2C D CompleteVignettingCorrectGetReg

.

"LVState" State Machine listed from the perspective of INPUT.
[]

.


State Input = 0 = START_STATE_MACHINE Input = 1 = GOTO_STOPPED Input = 2 = REC_START_VD_INTERRUPT Input = 3 REC_START_ENCODE Input = 4 REC_WB_LV
0 1 unk_0 unk_0 unk_0 unk_0
0 LiveView_main ReleaseResource lvError_ILLEGAL_Event lvError_ILLEGAL_Event lvError_ILLEGAL_Event
1 1 unk_1 unk_1 unk_1 unk_1
1 LDR_R0_with_LVState_StateObj GetResource_n_Quark_n_LiveView lvError_ILLEGAL_Event lvError_ILLEGAL_Event lvError_ILLEGAL_Event
2 unk_2 unk_2 unk_3 unk_2 unk_2
2 LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event lvVDInterrupt lvError_ILLEGAL_Event lvError_ILLEGAL_Event
3 unk_3 unk_3 unk_3 unk_4 unk_3
3 LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event lvError_ILLEGAL_Event SetPsave.LVRec.StartEncode.HPCopyAsync lvError_ILLEGAL_Event
4 unk_4 unk_4 unk_4 unk_4 unk_2
4 LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event lvError_ILLEGAL_Event LDR_R0_with_LVState_StateObj ResetPsave.WB.LVREC.MVR.EV.EXPOSURE.STARTED
5 unk_5 unk_5 unk_8 unk_5 unk_5
5 LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event StopFlagForVD lvError_ILLEGAL_Event lvError_ILLEGAL_Event
6 unk_6 unk_6 unk_6 unk_7 unk_6
6 LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event lvError_ILLEGAL_Event SetPsave.LVRec.StartEncode.HPCopyAsync lvError_ILLEGAL_Event
7 unk_7 unk_7 unk_7 unk_7 unk_8
7 LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event lvError_ILLEGAL_Event LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event
8 unk_8 unk_8 unk_9 unk_8 unk_8
8 LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event TgStandby lvError_ILLEGAL_Event LDR_R0_with_LVState_StateObj
9 unk_9 unk_9 unk_C unk_9 unk_9
9 LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event lvEnd LDR_R0_with_LVState_StateObj LDR_R0_with_LVState_StateObj
10 unk_A unk_A unk_A unk_B unk_A
10 LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event lvError_ILLEGAL_Event SetPsave.LVRec.StartEncode.HPCopyAsync lvError_ILLEGAL_Event
11 unk_B unk_B 4 unk_B unk_B
11 LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event ChangeVDInterrupt LDR_R0_with_LVState_StateObj lvError_ILLEGAL_Event
12 13 unk_C unk_C unk_C unk_C
12 LiveView_StartInSuspend ReleaseResource lvError_ILLEGAL_Event lvError_ILLEGAL_Event lvError_ILLEGAL_Event
13 unk_D unk_D unk_D unk_D unk_D
13 LDR_R0_with_LVState_StateObj GetResource_n_Quark_n_LiveView lvError_ILLEGAL_Event lvError_ILLEGAL_Event lvError_ILLEGAL_Event
State Input = 5 = LV_END Input = 6 = FD_GET_AF_STATE Input = 7 = PROP_CHANGE Input = 8 = LV_AE_RESULT Input = 9 =SET_DEBUG_FLAG
0 unk_0 unk_0 unk_0 unk_0 unk_0
0 LDR_R0_with_LVState_StateObj Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive Free_LiveView_struct_0x2C uncorrespondence_flag_guess_LiveView_related
1 unk_C unk_1 unk_1 unk_1 unk_1
1 lvEnd Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive GetResource_n_Quark_n_LiveView uncorrespondence_flag_guess_LiveView_related
2 unk_5 unk_2 unk_2 unk_2 unk_2
2 LDR_R0_with_LVState_StateObj Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive lvAEResult_Huge uncorrespondence_flag_guess_LiveView_related
3 unk_8 unk_3 unk_3 unk_3 unk_3
3 StopFlagForPS Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive lvAEResult_Huge uncorrespondence_flag_guess_LiveView_related
4 unk_8 unk_4 unk_4 unk_4 unk_4
4 StopFlagForRPS Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive lvAEResult_Huge uncorrespondence_flag_guess_LiveView_related
5 unk_5 unk_5 unk_5 unk_5 unk_5
5 lvError_ILLEGAL_Event Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive lvAEResult_Huge uncorrespondence_flag_guess_LiveView_related
6 unk_6 unk_6 unk_1 unk_6 unk_1
6 lvError_ILLEGAL_Event Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive lvAEResult_Huge uncorrespondence_flag_guess_LiveView_related
7 unk_7 unk_7 unk_6 unk_7 unk_6
7 lvError_ILLEGAL_Event Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive lvAEResult_Huge uncorrespondence_flag_guess_LiveView_related
8 unk_8 unk_8 unk_8 unk_8 unk_8
8 lvError_ILLEGAL_Event Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive lvAEResult_Huge uncorrespondence_flag_guess_LiveView_related
9 unk_9 unk_9 unk_9 unk_9 unk_9
9 lvError_ILLEGAL_Event Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive Free_LiveView_struct_0x2C uncorrespondence_flag_guess_LiveView_related
10 unk_8 unk_A unk_A unk_A unk_A
10 StopFlagForPS Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive lvAEResult_Huge lvError_ILLEGAL_Event
11 unk_5 unk_B unk_B unk_B unk_B
11 LDR_R0_with_LVState_StateObj Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive lvAEResult_Huge lvError_ILLEGAL_Event
12 unk_C unk_C unk_C unk_C unk_C
12 LDR_R0_with_LVState_StateObj Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive Free_LiveView_struct_0x2C uncorrespondence_flag_guess_LiveView_related
13 unk_C unk_D unk_D unk_D unk_D
13 lvEnd Prop.LV.Avail.Area.FD.GetAfState.Click.WB.Pos PROP_LV_massive GetResource_n_Quark_n_LiveView uncorrespondence_flag_guess_LiveView_related
State Input = 10 = WB_RESULT Input = 11 = FLICKER_RESULT Input = 12 = LVRAM_DISP Input = 13 = LVRAM_PD Input = 14 = LV_STATE_MACHINE
0 unk_0 unk_0 unk_0 unk_0 unk_0
0 LDR_R0_with_LVState_StateObj LDR_R0_with_LVState_StateObj lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
1 unk_1 unk_1 unk_1 unk_1 unk_1
1 WBResult FlickerResult lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
2 unk_2 unk_2 unk_2 unk_2 unk_2
2 WBResult FlickerResult lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
3 unk_3 unk_3 unk_3 unk_3 unk_3
3 WBResult FlickerResult lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
4 unk_4 unk_4 unk_4 unk_4 unk_4
4 WBResult FlickerResult lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
5 unk_5 unk_5 unk_5 unk_5 unk_5
5 WBResult FlickerResult lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
6 unk_1 unk_1 unk_1 unk_1 unk_1
6 WBResult FlickerResult lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
7 unk_6 unk_6 unk_6 unk_6 unk_6
7 WBResult FlickerResult lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
8 unk_8 unk_8 unk_8 unk_8 unk_8
8 WBResult FlickerResult lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
9 unk_9 unk_9 unk_9 unk_9 unk_9
9 LDR_R0_with_LVState_StateObj LDR_R0_with_LVState_StateObj lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
10 unk_A unk_A unk_A unk_A unk_A
10 WBResult lvError_ILLEGAL_Event lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
11 unk_B unk_B unk_B unk_B unk_B
11 WBResult lvError_ILLEGAL_Event lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
12 unk_C unk_C unk_C unk_C unk_C
12 LDR_R0_with_LVState_StateObj LDR_R0_with_LVState_StateObj lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
13 unk_D unk_D unk_D unk_D unk_D
13 WBResult FlickerResult lvReturnVramFromDisp lvReturnVramFromPD LV_StateMachine
State Input = 15 = FD_FACESTATE Input = 16 = REQUEST_AF_AE Input = 17 = COMPLETE_AF Input = 18 =LV_ANGEL Input = 19 = COMPLETE_AE_LOCK_PARMS
0 unk_0 unk_0 unk_0 unk_0 unk_0
0 FD_FACESTATE_n_GetResource unk_0 unk_0 Free_LiveView_struct_0x2C LDR_R0_with_LVState_StateObj
1 unk_1 unk_1 unk_1 unk_1 unk_1
1 FD_FACESTATE_n_GetResource unk_0 unk_0 unk_0 unk_0
2 unk_2 unk_2 unk_2 unk_2 unk_2
2 FD_FACESTATE_n_GetResource RequestAfAe CompleteAf FlavorMode_n_LiveViewAngel CompleteALOSetParams
3 unk_3 unk_3 unk_3 unk_3 unk_3
3 FD_FACESTATE_n_GetResource RequestAfAe CompleteAf FlavorMode_n_LiveViewAngel CompleteALOSetParams
4 unk_4 unk_4 unk_4 unk_4 unk_4
4 FD_FACESTATE_n_LV_MAXOVER RequestAfAe CompleteAf FlavorMode_n_LiveViewAngel CompleteALOSetParams
5 unk_5 unk_5 unk_5 unk_5 unk_5
5 FD_FACESTATE_n_GetResource RequestAfAe CompleteAf Free_LiveView_struct_0x2C LDR_R0_with_LVState_StateObj
6 unk_1 unk_1 unk_1 unk_6 unk_6
6 FD_FACESTATE_n_GetResource RequestAfAe CompleteAf Free_LiveView_struct_0x2C LDR_R0_with_LVState_StateObj
7 unk_6 unk_6 unk_6 unk_6 unk_6
7 FD_FACESTATE_n_GetResource RequestAfAe CompleteAf Free_LiveView_struct_0x2C LDR_R0_with_LVState_StateObj
8 unk_8 unk_8 unk_8 unk_8 unk_8
8 FD_FACESTATE_n_GetResource RequestAfAe CompleteAf Free_LiveView_struct_0x2C LDR_R0_with_LVState_StateObj
9 unk_9 unk_9 unk_9 unk_9 unk_9
9 FD_FACESTATE_n_GetResource RequestAfAe CompleteAf Free_LiveView_struct_0x2C LDR_R0_with_LVState_StateObj
10 unk_A unk_A unk_A unk_A unk_A
10 FD_FACESTATE_n_GetResource RequestAfAe CompleteAf FlavorMode_n_LiveViewAngel CompleteALOSetParams
11 unk_B unk_B unk_B unk_B unk_B
11 FD_FACESTATE_n_GetResource RequestAfAe CompleteAf FlavorMode_n_LiveViewAngel CompleteALOSetParams
12 unk_C unk_C unk_C unk_C unk_C
12 FD_FACESTATE_n_GetResource unk_0 unk_0 Free_LiveView_struct_0x2C LDR_R0_with_LVState_StateObj
13 unk_D unk_D unk_D unk_D unk_D
13 FD_FACESTATE_n_GetResource unk_0 unk_0 Free_LiveView_struct_0x2C LDR_R0_with_LVState_StateObj
State Input = 20 = HP_COPY_ASYNC Input = 21 = MOTION_DETECT_RESULT Input = 22 = CMPLET_VIGNET_CORRECT
0 unk_0 unk_0 unk_0
0 LDR_R0_with_LVState_StateObj MDResult Free_LiveView_struct_0x2C
1 unk_1 unk_1 unk_1
1 HPCopyAsync MDResult CompleteVignettingCorrectGetReg
2 unk_2 unk_2 unk_2
2 HPCopyAsync MDResult CompleteVignettingCorrectGetReg
3 unk_3 unk_3 unk_3
3 HPCopyAsync MDResult CompleteVignettingCorrectGetReg
4 unk_4 unk_4 unk_4
4 HPCopyAsync MDResult VignettingCorrect_n_LV_MAX_OVER
5 unk_5 unk_5 unk_5
5 LDR_R0_with_LVState_StateObj MDResult Free_LiveView_struct_0x2C
6 unk_6 unk_1 unk_6
6 LDR_R0_with_LVState_StateObj MDResult Free_LiveView_struct_0x2C
7 unk_6 unk_6 unk_6
7 LDR_R0_with_LVState_StateObj MDResult Free_LiveView_struct_0x2C
8 unk_8 unk_8 unk_8
8 LDR_R0_with_LVState_StateObj MDResult Free_LiveView_struct_0x2C
9 unk_9 unk_9 unk_9
9 LDR_R0_with_LVState_StateObj MDResult Free_LiveView_struct_0x2C
10 unk_A unk_A unk_A
10 HPCopyAsync MDResult CompleteVignettingCorrectGetReg
11 unk_B unk_B unk_B
11 HPCopyAsync MDResult CompleteVignettingCorrectGetReg
12 unk_C unk_C unk_C
12 LDR_R0_with_LVState_StateObj MDResult Free_LiveView_struct_0x2C
13 unk_D unk_D unk_D
13 HPCopyAsync MDResult CompleteVignettingCorrectGetReg
Advertisement