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.

[参考译文] TMS320DM8168:A8读取 H264文件并将其发送至解码、如何控制帧速率?

Guru**** 2616395 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/660230/tms320dm8168-a8-read-h264-file-and-send-it-to-decode-how-to-control-frame-rate

器件型号:TMS320DM8168

你(们)好

我正在使用 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:失败!!!

我不知道如何解决这个问题、请给我一些建议、非常感谢!