hi
I am using the DVRRDK4.00.03, I want to read a H264 file from local and then send the bit stream to decode, but I don't know how to control frame rate.
I have read the code of the demo_vdec_vdis , but this demo not control frame rate, instead of set
swMsPrm[i].maxInputQueLen = SYSTEM_SW_MS_INVALID_INPUT_QUE_LEN to control fps, if we configure swMsPrm[i].maxInputQueLen = SYSTEM_SW_MS_DEFAULT_INPUT_QUE_LEN ,
the frame rate is not be controlled.
but now, I will add a deiLink after decLink to transform frame format to YUV420SP, because my algorithm need this format. this is the configure of my deiLink
DeiLink_CreateParams_Init(&deiPrm);
deiPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcInVpssId;
deiPrm.inQueParams.prevLinkQueId = 0;
deiPrm.setVipScYuv422Format = FALSE;
// Set Output Scaling at DEI based on ratio
deiPrm.enableOut[DEI_LINK_OUT_QUE_VIP_SC] = TRUE;
deiPrm.inputFrameRate[DEI_LINK_OUT_QUE_VIP_SC] = 30;
deiPrm.outputFrameRate[DEI_LINK_OUT_QUE_VIP_SC] = 30;
deiPrm.inputDeiFrameRate = 30;
deiPrm.outputDeiFrameRate = 30;
deiPrm.outQueParams[DEI_LINK_OUT_QUE_VIP_SC].nextLink = gVcapModuleContext.ipcFramesOutVpssId[0];
deiPrm.enableDeiForceBypass = TRUE;
so when I added the deiLink , the swMsPrm[i].maxInputQueLen is failure, the frame rate is not be controlled.
on the HDMI the picture shows very quickly. I just want to control fps at 30.
I have try to use nsfLink to instead of deiLink, because nsfLink also can transform frame format ,but the board show me the error information.
[m3vpss ] 28873: Assertion @ Line: 219 in links_m3vpss/nsf/nsfLink_drv.c: pObj->fvidHandleNsf != NULL : failed !!!
I don't know how to solve this problem, please give me some suggestion, thank you very much!