Hi ALL:
I have tried to encode the MPEG2 on DM365 Soc, my DVSDK version is 2_10_01_18, and MPEG2 codec version is V01.00.00 with Build ID: 01.00.00.07.
I have meet one issue that it will be blocked when call:
status = VIDENC1_process(pObj->hEncode, &inBufDesc, &outBufDesc, &inArgs, &outArgs);
Here provide some parameters for reference:
pObj->params.size = sizeof(VIDENC1_Params);
pObj->params.encodingPreset = XDM_HIGH_SPEED;
pObj->params.rateControlPreset = IVIDEO_LOW_DELAY;
pObj->params.maxHeight = 480;
pObj->params.maxWidth = 640;
pObj->params.maxFrameRate = 30000 ;
pObj->params.maxBitRate = 10000000;
pObj->params.inputChromaFormat = XDM_YUV_420SP;
pObj->params.dataEndianness = XDM_BYTE;
pObj->params.maxInterFrameInterval = 0;
pObj->params.inputContentType = IVIDEO_PROGRESSIVE;
pObj->params.reconChromaFormat = XDM_YUV_420SP;
pObj->dynamicParams.size = sizeof(pObj->dynamicParams_mpeg2);
pObj->dynamicParams.inputHeight = 480;
pObj->dynamicParams.inputWidth = 640;
pObj->dynamicParams.targetBitRate = 2000000;
pObj->dynamicParams.intraFrameInterval = 10;
pObj->dynamicParams.generateHeader = XDM_ENCODE_AU;
pObj->dynamicParams.captureWidth = 1024; // or 0
pObj->dynamicParams.targetFrameRate = 30000;
pObj->dynamicParams.refFrameRate = 30000;
pObj->dynamicParams_mpeg2.qpIntra = 8;
pObj->dynamicParams_mpeg2.qpInter = 8;
pObj->dynamicParams_mpeg2.QPMax = 31;
pObj->dynamicParams_mpeg2.QPMin = 2;
pObj->dynamicParams_mpeg2.maxDelay = 1000;
pObj->dynamicParams_mpeg2.qpInit = 8;
pObj->dynamicParams_mpeg2.mvSADoutFlag = 0;
When I tried to set pObj->dynamicParams.size = sizeof(pObj->dynamicParams), it worked well.
BTW, seems it will always failed when encode the SECOND frame, VIDENC1_process will return 0 when encode the first frame.
Anyone who can help on this?
Thanks.