In IPNC_RDK_V3.8.0. MCFW
I got some confusion about GDR mecanism.
Accroding to the H264_Encoder_HDVICP2_UserGuide,
I should set IVIDENC2_InArgs::control = IH264ENC_CTRL_START_GDR.
It means one refresh at one change. Is that right?
But I have seen that it's only set at function EncLinkH264_algDynamicParamUpdate.
When I changed the code to let it go inside ,it reported with error like followed.
------------------------------------------------------------------------------------------------------------------------------------------------------------------
[m3video] 45042:!ERROR!:ENCLINK::links_m3video/iva_enc/encLink_h264.c:[202]::INTERNAL ERROR:-1
[m3video] ALGCONTROL FAILED:CMD:1
[m3video] ERROR: IH264ENC_MAX_BIT_RATE_VOILATION = 7,
[m3video] ERROR: XDM_UNSUPPORTEDPARAM = 14,
[m3video] ERROR: XDM_FATALERROR = 15
[m3video] ERROR: IH264ENC_UNSUPPORTED_VIDENC2DYNAMICPARAMS = 30,
[m3video] ERROR: IH264ENC_UNSUPPORTED_H264ENCDYNAMICPARAMS = 31,
[m3video] 45043:WARN
[m3video] ENCLINK: ERROR in Run time parameters changes, Extended Error code:-1073692544
[m3video] Extended error c000c480 for reqObjIndex 0
[m3video] 45044:WARN
[m3video] ENCLINK:ERROR in Enclink_h264EncodeFrameBatch.Status[-1] for IVAHD_0
[m3video] 45044:WARN
[m3video] ENC : IVAHDID : 0 ENCLINK:ERROR in EncLink_SubmitBatch.Status[-1]
[m3video] ---------------enter_there 222----------------------
[m3video] Unhandled Exception:
[m3video] Exception occurred in ThreadType_Task
[m3video] handle: 0x8d428ac4.
[m3video] stack base: 0x8d5bbdc0.
[m3video] stack size: 0x2000.
[m3video] R0 = 0x8d0bb380 R8 = 0x8d423fa8
[m3video] R1 = 0x8d0be010 R9 = 0x8d0be010
[m3video] R2 = 0x00000000 R10 = 0x00000001
[m3video] R3 = 0x8d424098 R11 = 0xffffffff
[m3video] R4 = 0x8d424098 R12 = 0x8d423fa8
[m3video] R5 = 0x000004ac SP(R13) = 0x8d5bdc18
[m3video] R6 = 0x8d0bb384 LR(R14) = 0x8cd50223
[m3video] R7 = 0x8d0bd780 PC(R15) = 0x00000000
[m3video] PSR = 0x80000000
[m3video] ICSR = 0x0440f803
[m3video] MMFSR = 0x00
[m3video] BFSR = 0x00
[m3video] UFSR = 0x0002
[m3video] HFSR = 0x40000000
[m3video] DFSR = 0x00000000
[m3video] MMAR = 0xe000ed34
[m3video] BFAR = 0xe000ed38
[m3video] AFSR = 0x00000000
[m3video] Terminating Execution...
------------------------------------------------------------------------------------------------------------------------------------------------------------------
And where should I change IVIDENC2_InArgs::control into IH264ENC_CTRL_START_GDR?
Regards,
Yang