我用的是DVRRDk 4.0。我在mcfw_api_demo中,发现其调用了ti_vcap_device.c中的Vcap_deviceCreate函数,进而调用Video decoder相关的一些函数来进行初始化,比如Device_tvp5158Create。而我在link_api_demo中,却没有对这些初始化函数的调用,就只有一些capture link的参数的设置。请问到底该如何配置Video decoder?
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.
我用的是DVRRDk 4.0。我在mcfw_api_demo中,发现其调用了ti_vcap_device.c中的Vcap_deviceCreate函数,进而调用Video decoder相关的一些函数来进行初始化,比如Device_tvp5158Create。而我在link_api_demo中,却没有对这些初始化函数的调用,就只有一些capture link的参数的设置。请问到底该如何配置Video decoder?
我再说的详细一点吧。
对比的两个demo都有采集的功能,那么肯定都使用了一种Video decoder。对于mcfw_api_demo,我看的是DEMO_VCAP_VDIS这个use case。在multich_vcap_vdis.c这个文件的MultiCh_createVcapVdis函数中,在capture link的建立之前,调用了Vcap_configVideoDecoder,从而进行tvp5158的配置。对于link_api_demo,我看的是“Multi CH Capture+NSF+DEI+Display”这个use case。我从main函数跟了一下,只发现在文件chains_multiChCaptureNsfDei.c中的Chains_multicChCaptureNsfDei函数中,建立capture link时,有Video decoder的一个配置:
for(vipInstId=0; vipInstId<capturePrm.numVipInst; vipInstId++)
{
pCaptureInstPrm = &capturePrm.vipInst[vipInstId];
pCaptureInstPrm->vipInstId = (SYSTEM_CAPTURE_INST_VIP0_PORTA+vipInstId)%SYSTEM_CAPTURE_INST_MAX;
pCaptureInstPrm->videoDecoderId = SYSTEM_DEVICE_VID_DEC_TVP5158_DRV;
pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P;
pCaptureInstPrm->standard = SYSTEM_STD_MUX_4CH_D1;
pCaptureInstPrm->numOutput = 1;
pCaptureOutPrm = &pCaptureInstPrm->outParams[0];
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422I_YUYV;
pCaptureOutPrm->scEnable = FALSE;
pCaptureOutPrm->scOutWidth = 0;
pCaptureOutPrm->scOutHeight = 0;
pCaptureOutPrm->outQueId = 0;
}
而没有发现对Device_tvp5158Create之类的函数调用。不知道是我看漏了还是怎么回事。