Hi,
We are currently making use of version rel-05_03_00_09. I am getting Rate-Control error as indicated by 0x2020c000. The same configuration worked for previous version of H264 Encoder that we used. Please let me know why this would happen. We are using low-delay configuration, i.e., IPP GOP.
Current H264 Encoder Version: 01.00.04
RC related parameters settings are mentioned below
/* select the rate control algorithm */
pEncStaticParams->rateControlParams.rcAlgo =
IH264_RATECONTROL_DEFAULT;
/* Qp Settings for I */
pEncStaticParams->rateControlParams.qpI = OMX_VIDENC_DEFAULT_QP_IFRAME; // 24
pEncStaticParams->rateControlParams.qpMaxI = OMX_VIDENC_DEFAULT_QPMAX_IFRAME; // 44
pEncStaticParams->rateControlParams.qpMinI = OMX_VIDENC_DEFAULT_QPMIN_IFRAME; // 8
/* Qp Settings for P */
pEncStaticParams->rateControlParams.qpP = OMX_VIDENC_DEFAULT_QP_PFRAME; // 24
pEncStaticParams->rateControlParams.qpMaxP = OMX_VIDENC_DEFAULT_QPMAX_PFRAME; // 44
pEncStaticParams->rateControlParams.qpMinP = OMX_VIDENC_DEFAULT_QPMIN_PFRAME; // 8
/* Qp Settings for B */
pEncStaticParams->rateControlParams.qpOffsetB = OMX_VIDENC_DEFAULT_QPOFFSET_BFRAME; // 4
pEncStaticParams->rateControlParams.qpMaxB = OMX_VIDENC_DEFAULT_QPMAX_BFRAME; // 44
pEncStaticParams->rateControlParams.qpMinB = OMX_VIDENC_DEFAULT_QPMIN_BFRAME; //8
/* Frame Skip */
pEncStaticParams->rateControlParams.allowFrameSkip = OMX_TRUE;
/* Settings to remove the High Freq Coefficients */
pEncStaticParams->rateControlParams.removeExpensiveCoeff = OMX_FALSE;
/* Chroma Qp Settings */
pEncStaticParams->rateControlParams.chromaQPIndexOffset = OMX_VIDENC_DEFAULT_QPOFFSET_CHROMA;
/* Settings for the Quality Bias factor between I & P */
pEncStaticParams->rateControlParams.IPQualityFactor = IH264_QUALITY_FACTOR_DEFAULT;
/* Set the Initial HRD Buffer Level; Set as suggested in Codec sample application */
pEncStaticParams->rateControlParams.initialBufferLevel = 2000000;
/* Settings for Initial HRD Buffer Size */
pEncStaticParams->rateControlParams.HRDBufferSize = pEncStaticParams->rateControlParams.initialBufferLevel;
/* Reserved Parameters */
pEncStaticParams->rateControlParams.reservedRC[0] = 0;
pEncStaticParams->rateControlParams.reservedRC[1] = 0;
pEncStaticParams->rateControlParams.reservedRC[2] = 0;
According to SPRABA9, for VTC this should be set to false
pEncStaticParams->rateControlParams.enablePRC = OMX_FALSE; //TRUE;
Appreciate your quick help on this.
Regards,
Nitish