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
| |
3 | VD_ACTIVE? |
When Recording / or not Recording. The camera wizzes around states 2, 3 and 4 75% of the time in state 3
|
4 | FACESTATE |
When Recording / or not Recording. The camera wizzes around states 2, 3 and 4
|
5 | Guess | |
6 | Guess | |
7 | Guess | |
8 | PS_RPS |
Guess
|
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
|
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 |