This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to config Param&DynamicParam for h264fhdvenc?

I have create the codec of h264fhdvenc successfully,

but there are 2 problems about the configurations for Param&DynamicParam

1.when I call venc1_control( , GETBUFINFO,  &DynamicParam, &status), it gives the result of status as following:

minNumInBufs of H264 is 2
InBufSize[0] of H264 is 2088960
InBufSize[1] of H264 is 1044480
minNumOutBufs of H264 is 1
OutBufSize[0] of H264 is 0

it is obviously that the OutBufSize[0] is wrong, it should be (2088960 + 1044480), but the return value of venc1_control is 0(success). so i am very confused.

2.when I call venc1_control( , SETPARAM,  &DynamicParam, &status), it failed, and it's return value is 57344

I think the above two problem are reference to the configurations of Param&DynamicParam. Is there anyone teach me how to config these parameters?

my configurations for Param&DynamicParam as followings:

 g_paraH264.videncParams.size   = sizeof(IH264FHDVENC_Params) ;
 g_paraH264.videncParams.encodingPreset  = XDM_DEFAULT ;
 g_paraH264.videncParams.rateControlPreset = IVIDEO_LOW_DELAY ;
 g_paraH264.videncParams.maxHeight  = 1920;
 g_paraH264.videncParams.maxWidth  = 1088;
 g_paraH264.videncParams.maxFrameRate  = 30000 ;
 g_paraH264.videncParams.maxBitRate  = 10000000 ;
 g_paraH264.videncParams.dataEndianness  = XDM_LE_32 ;
 g_paraH264.videncParams.maxInterFrameInterval = 0 ;
 g_paraH264.videncParams.inputChromaFormat = XDM_YUV_420SP ;
 g_paraH264.videncParams.inputContentType = IVIDEO_PROGRESSIVE ;
 g_paraH264.videncParams.reconChromaFormat = -1 ;
 g_paraH264.profileIdc    = 66 ; //BASELINE_PROFILE
 g_paraH264.levelIdc    = 40;
 g_paraH264.EntropyCodingMode   = 0 ; //CAVLC

 

 g_dpH264DynParams.videncDynamicParams.inputHeight = 1920;
 g_dpH264DynParams.videncDynamicParams.inputWidth = 1088;
 g_dpH264DynParams.videncDynamicParams.refFrameRate =30000;
 g_dpH264DynParams.videncDynamicParams.targetFrameRate = 30000 ;
 g_dpH264DynParams.videncDynamicParams.targetBitRate = 10000000 ;
 g_dpH264DynParams.videncDynamicParams.intraFrameInterval= 30;
 g_dpH264DynParams.videncDynamicParams.generateHeader = XDM_ENCODE_AU ;
 g_dpH264DynParams.videncDynamicParams.captureWidth = 0 ;

 g_dpH264DynParams.videncDynamicParams.forceFrame = -1 ;
 g_dpH264DynParams.videncDynamicParams.interFrameInterval= 0 ;
 g_dpH264DynParams.videncDynamicParams.mbDataFlag = 0 ;

 g_dpH264DynParams.QPISlice    = 28 ;       
 g_dpH264DynParams.QPSlice    = 28 ;         
 g_dpH264DynParams.RateCtrlQpMax    = 51 ;   
 g_dpH264DynParams.RateCtrlQpMin    = 0 ;   
 g_dpH264DynParams.NumRowsInSlice   = 0 ;  
 g_dpH264DynParams.LfDisableIdc    = 0 ;    
 g_dpH264DynParams.LFAlphaC0Offset   = 0 ; 
 g_dpH264DynParams.LFBetaOffset    = 0 ;    
 g_dpH264DynParams.ChromaQPOffset   = 0 ;  
 g_dpH264DynParams.SecChromaQPOffset   = 0 ;

 g_dpH264DynParams.OutBufSize                 = -1;