你(们)好
我正在使用 DVRRDK4.00.03、我想从本地读取一个 H264文件、然后发送 位流进行解码、但我不知道如何控制帧速率。
我已经读取了 demo_vdec VDIS 的代码,但该演示不控制帧速率,而不是设置
如果 我们配置 swMsPrm[i]。maxInputQueLen = system_sw_ms_invalue_input_que_LEN 来控制 fps,如果我们配置 swMsPrm[i]。maxInputQueLen = system_sw_ms_default_input_que_LEN,
帧速率不受控制。
但现在、我将在 decLink 之后添加一个 deiLink 、以将帧格式转换为 YUV420SP、因为我 的算法需要这种格式。 这是我的 deiLink 的配置
DeiLink_CreateParams_Init (deiPrm);
deiPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcInVpssId;
deiPrm.inQueParams.prevLinkQueId = 0;
deiPrm.setVipScYuv422Format = false;
//根据比率设置 DEI 的输出缩放
deiPrm.enableOut[DEI_LINK_OUT_QE_VIP_SC]= true;
deiPrm.inputFrameRate[DEI_LINK_OUT_QUE_VIP_SC]= 30;
deiPrm.outputFrameRate[DEI_LINK_OUT_QT_VIP_SC]= 30;
deiPrm.inputDeiFrameRate = 30;
deiPrm.outputDeiFrameRate = 30;
deiPrm.outQueParams[DEI_LINK_OUT_QE_VIP_SC].nextLink = gVcapModuleContext.ipcFramesOutVpssId[0];
deiPrm.enableDeiForceBypass = true;
因此,当我添加了 deiLink 时 ,swMsPrm[i]。maxInputQueLen 失败,帧速率不受控制。
在 HDMI 上、画面显示得非常快。 我只想控制30时的 fps。
我尝试使用 nsfLink 而不是 deiLink,因为 nsfLink 也可以转换帧格式,但电路板会显示错误信息。
[m3vpss ] 28873:断言@行:219在 links_m3vpss/nsf/nsfLink_drv.c:pObj->fvidHandleNsf!= NULL:失败!!!
我不知道如何解决这个问题、请给我一些建议、非常感谢!