Hi.
I have a problem when I try h.264 encoding.
The problem is blocking at first frame.
VIDENC1_process() is not returned
What is problem?
Please help me.
Attached files is console message when CE_DEBUG=2.
Below is my h264 parameters setting.
==================================
//
// h.264 create params
//
VIDENC1_Handle hEncode;
IH264VENC_Params params_h264;
params_h264.videncParams.size = sizeof(IH264VENC_Params);
params_h264.videncParams.rateControlPreset = 1;
params_h264.videncParams.maxHeight = 1080;
params_h264.videncParams.maxWidth = 1920;
params_h264.videncParams.maxFrameRate = 120000;
params_h264.videncParams.maxBitRate = 20000000;
params_h264.videncParams.inputChromaFormat = XDM_YUV_420SP;
params_h264.videncParams.dataEndianness = XDM_BYTE;
params_h264.videncParams.maxInterFrameInterval = 1;
params_h264.videncParams.inputContentType = IVIDEO_PROGRESSIVE;
params_h264.videncParams.reconChromaFormat = XDM_YUV_420SP;
params_h264.videncParams.encodingPreset = 3;
params_h264.profileIdc = 100;
params_h264.levelIdc = 40;
params_h264.Log2MaxFrameNumMinus4 = 0;
params_h264.ConstraintSetFlag = 0;
params_h264.entropyMode = 0; // 0: CAVLC, 1=CABAC
params_h264.transform8x8FlagIntraFrame = 0;
params_h264.transform8x8FlagInterFrame = 0;
params_h264.enableVUIparams = 0;
params_h264.meAlgo = 0;
params_h264.seqScalingFlag = 0;
params_h264.enableARM926Tcm = 0;
params_h264.enableDDRbuff = 0;
params_h264.EnableLongTermFrame = 0;
params_h264.outputDataMode = 1;
params_h264.sliceFormat = 1;
params_h264.encQuality = 0;
params_h264.numTemporalLayers = 0;
params_h264.svcSyntaxEnable = 0;
hEncode = VIDENC1_create(gALG_hEngine, "h264enc", ¶ms_h264);
//
// h.264 dynamic params
//
VIDENC1_Status encStatus;
IH264VENC_DynamicParams dynamicParams_h264;
dynamicParams_h264.videncDynamicParams.size = sizeof(dynamicParams_h264);
dynamicParams_h264.videncDynamicParams.inputHeight = 1080;
dynamicParams_h264.videncDynamicParams.inputWidth = 1920;
dynamicParams_h264.videncDynamicParams.targetBitRate = 4000000;
dynamicParams_h264.videncDynamicParams.generateHeader = 0;
dynamicParams_h264.videncDynamicParams.captureWidth = pObj->createPrm.offsetH;
dynamicParams_h264.videncDynamicParams.targetFrameRate = 30000;
dynamicParams_h264.videncDynamicParams.refFrameRate = 30000;
dynamicParams_h264.videncDynamicParams.interFrameInterval = 0;
dynamicParams_h264.videncDynamicParams.mbDataFlag = 0;
dynamicParams_h264.videncDynamicParams.forceFrame = IVIDEO_NA_FRAME;
dynamicParams_h264.sliceSize = 0;
dynamicParams_h264.airRate = 0;
dynamicParams_h264.intraFrameQP = 28;
dynamicParams_h264.interPFrameQP = 28;
dynamicParams_h264.initQ = 30;
dynamicParams_h264.rcQMax = 51;
dynamicParams_h264.rcQMin = 0;
dynamicParams_h264.rcQMaxI = 51;
dynamicParams_h264.rcQMinI = 0;
dynamicParams_h264.maxDelay = 2000;
dynamicParams_h264.aspectRatioX = 1;
dynamicParams_h264.aspectRatioY = 1;
dynamicParams_h264.lfDisableIdc = 0;
dynamicParams_h264.enableBufSEI = 0; /*!< Enable Buffering period SEI */
dynamicParams_h264.enablePicTimSEI = 0; /*!< Enable Picture Timing SEI */
dynamicParams_h264.perceptualRC = 0;
dynamicParams_h264.idrFrameInterval = 0;
dynamicParams_h264.mvSADoutFlag = 0;
dynamicParams_h264.resetHDVICPeveryFrame = 0;
dynamicParams_h264.enableROI = 0;
dynamicParams_h264.metaDataGenerateConsume = 0;
dynamicParams_h264.maxBitrateCVBR = 76800;
dynamicParams_h264.interlaceRefMode = 0;
dynamicParams_h264.enableGDR = 0;
dynamicParams_h264.GDRduration = 5;
dynamicParams_h264.GDRinterval = 30;
dynamicParams_h264.LongTermRefreshInterval = 0;
dynamicParams_h264.UseLongTermFrame = 0;
dynamicParams_h264.SetLongTermFrame = 0;
dynamicParams_h264.CustomScaleMatrix_Buffer = NULL;
dynamicParams_h264.CVBRsensitivity = 0;
dynamicParams_h264.CVBRminbitrate = 0;
dynamicParams_h264.LBRmaxpicsize = 0;
dynamicParams_h264.LBRminpicsize = 0;
dynamicParams_h264.LBRskipcontrol = 0x050004;
dynamicParams_h264.maxHighCmpxIntCVBR = 0;
dynamicParams_h264.disableMVDCostFactor = 0;
dynamicParams_h264.putDataGetSpaceFxn = NULL;
dynamicParams_h264.dataSyncHandle = NULL;
dynamicParams_h264.VUI_Buffer->timingInfoPresentFlag= 1;
dynamicParams_h264.VUI_Buffer->timeScale = 240*(30000/1000);
dynamicParams_h264.VUI_Buffer->numUnitsInTicks = 120;
dynamicParams_h264.rcAlgo = 1;
encStatus.size = sizeof(VIDENC1_Status);
encStatus.data.buf = NULL;
status = VIDENC1_control(hEncode, XDM_SETPARAMS, (VIDENC1_DynamicParams*)&dynamicParams_h264, &encStatus);
encStatus.data.buf = NULL;
status = VIDENC1_control(hEncode, XDM_GETBUFINFO, (VIDENC1_DynamicParams*)&dynamicParams_h264, &encStatus);