You have an evil camera.
It is my humble opinion that the following two areas are you ND functions. It is based on the simlarity of SD780 functions NHSTUB(PutInNdFilter,0xFFA3C4A4)
NHSTUB(PutOutNdFilter,0xFFA3C4C8)
and
similarity to your sub_FF946E6C to my sub_FFA2F1F0.
Harpo
ROM:FFA9C8D4 ; ---------------------------------------------------------------------------
ROM:FFA9C8D4 STMFD SP!, {R4,LR}
ROM:FFA9C8D8 MOV R1, #0
ROM:FFA9C8DC ADR R0, sub_FFA9C8C8
ROM:FFA9C8E0 BL _sub_FF946E6C__ZoomLensController.c__136 ; LOCATION: ZoomLensController.c:136
ROM:FFA9C8E4 LDR R0, =0x1D54C
ROM:FFA9C8E8 LDR R1, =0x2710
ROM:FFA9C8EC LDR R0, [R0]
ROM:FFA9C8F0 LDMFD SP!, {R4,LR}
ROM:FFA9C8F4 MOV R3, #0x62
ROM:FFA9C8F8 ADR R2, aZoomlenspublic ; "ZoomLensPublicEvent.c"
ROM:FFA9C8FC B sub_FF838804
ROM:FFA9C900 ; ---------------------------------------------------------------------------
ROM:FFA9C900 STMFD SP!, {R4,LR}
ROM:FFA9C904 MOV R1, #0
ROM:FFA9C908 ADR R0, sub_FFA9C8C8
ROM:FFA9C90C BL _sub_FF946F10__ZoomLensController.c__152 ; LOCATION: ZoomLensController.c:152
ROM:FFA9C910 LDR R0, =0x1D54C
ROM:FFA9C914 LDR R1, =0x2710
ROM:FFA9C918 LDR R0, [R0]
ROM:FFA9C91C MOV R3, #0x6C
ROM:FFA9C920 ADR R2, aZoomlenspublic ; "ZoomLensPublicEvent.c"
ROM:FFA9C924 BL sub_FF838804
ROM:FFA9C928 TST R0, #1
ROM:FFA9C92C LDMNEFD SP!, {R4,PC}
ROM:FFA9C930 BL j__sub_FF872434__LensController.c__13
ROM:FFA9C934 MOVS R0, R0,LSR#20
ROM:FFA9C938 MOVLNE R0, 0xFFFFFFFF
ROM:FFA9C93C LDMFD SP!, {R4,PC}