Hi, all:
I'm using encoder "REL.500.V.H264AVC.E.IVAHD.02.00.06.00" .
my creating params:
encPrm.chCreateParams[k].format = IVIDEO_H264BP;
encPrm.chCreateParams[k].profile = IH264_BASELINE_PROFILE;;
encPrm.chCreateParams[k].dataLayout = IVIDEO_FIELD_SEPARATED;
encPrm.chCreateParams[k].fieldMergeEncodeEnable = FALSE;
encPrm.chCreateParams[k].maxBitRate = 10 * 1000 * 1000;
encPrm.chCreateParams[k].encodingPreset = XDM_USER_DEFINED;
encPrm.chCreateParams[k].enableHighSpeed = FALSE;
encPrm.chCreateParams[k].defaultDynamicParams.intraFrameInterval = 30;
encPrm.chCreateParams[k].enableAnalyticinfo = FALSE;
encPrm.chCreateParams[k].enableWaterMarking = FALSE;
encPrm.chCreateParams[k].rateControlPreset=IVIDEO_LOW_DELAY;
encPrm.chCreateParams[k].enableSVCExtensionFlag = IH264_SVC_EXTENSION_FLAG_DISABLE;
encPrm.chCreateParams[k].defaultDynamicParams.inputFrameRate = 30;
encPrm.chCreateParams[k].defaultDynamicParams.targetBitRate = (10 * 1000 * 1000);
encPrm.chCreateParams[k].defaultDynamicParams.interFrameInterval = 1;
encPrm.chCreateParams[k].defaultDynamicParams.mvAccuracy = IVIDENC2_MOTIONVECTOR_QUARTERPEL;
encPrm.chCreateParams[k].defaultDynamicParams.rcAlg = 1 ;
encPrm.chCreateParams[k].defaultDynamicParams.qpMin = 10;
encPrm.chCreateParams[k].defaultDynamicParams.qpMax = 42;
//====================================================================================
If i set intraFrameInterval = 30, the encoder will create successfully.
But i only change the param intraFrameInterval = 0 (Frame I P P P .....), the encoder return the following msgs:
ERROR: IH264ENC_LEVEL_INCOMPLAINT_PARAMETER , 0,
ERROR: IH264ENC_PROFILE_INCOMPLAINT_FMO_SETTING = 2,
ERROR: IH264ENC_PROFILE_INCOMPLAINT_INTERFRAMEINTERVAL = 4,
ERROR: XDM_UNSUPPORTEDPARAM = 14,
ERROR: XDM_FATALERROR = 15
What's the probelm?