请问TI工程师:
在Cap+Dis的link 链中,Capture的输出格式pCaptureOutPrm->dataFormat只能是SYSTEM_DF_YUV422I_YUYV 么?
我需要输出的422SP的格式,DSP方便处理,然后Display出来。只有这一种格式可以 captures+display 正常
我修改为SYSTEM_DF_YUV422SP_UV系列,都是报错如下:
2763:!!!SLAVE CORE [VPSS-M3] DOWN!!!
SystemLink_copySlaveCoreExceptionContext:146
mmap of [0xbe9e0000:36864]
mmap virt addresss:0x400c7000
munmap of [0x400c7000:36864]
SystemLink_copySlaveCoreExceptionContext:153
SystemLink_handleSlaveCoreException:173
SystemLink_handleSlaveCoreException:178
[m3vpss ] 15762: CAPTURE: VIP0 PortA capture mode is [16-bit, Non-mux Embedded Sync] !!!
[m3vpss ] 15763: Assertion @ Line: 779 in links_m3vpss/capture/captureLink_drv.c: pInst->captureVipHandle != NULL : failed !!!
附录部分代码:
Void Chains_doubleChCapDis(Chains_Ctrl *chainsCfg)
{
/*********************************************************************************/
for(i=0; i<capturePrm.numVipInst; i++)
{
vipInstId = SYSTEM_CAPTURE_INST_VIP0_PORTA + 2*i;
pCaptureInstPrm = &capturePrm.vipInst[i];
pCaptureInstPrm->vipInstId = vipInstId%SYSTEM_CAPTURE_INST_MAX;
pCaptureInstPrm->videoDecoderId = SYSTEM_DEVICE_VID_DEC_SII9233A_DRV;
pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P;
pCaptureInstPrm->standard = chainsCfg->displayRes[i];
pCaptureInstPrm->numOutput = 1;
pCaptureInstPrm->numChPerOutput = 1;
pCaptureInstPrm->frameCaptureMode = FALSE;
pCaptureInstPrm->fieldsMerged = FALSE;
pCaptureOutPrm = &pCaptureInstPrm->outParams[0];
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422I_YUYV;
pCaptureOutPrm->scEnable = FALSE;
pCaptureOutPrm->scOutWidth = chainsCfg->channelConf[i].width;
pCaptureOutPrm->scOutHeight = chainsCfg->channelConf[i].height;
pCaptureOutPrm->outQueId = i;
}
capturePrm.outQueParams[0].nextLink = displayId[0];
System_linkCreate(captureId, &capturePrm, sizeof(capturePrm));
chainsCfg->displayRes[0] = capturePrm.vipInst[0].standard;
for (i=0; i<1; i++) {
displayPrm[i].displayRes = chainsCfg->displayRes[i];
displayPrm[i].numInputQueues = 1;
displayPrm[i].activeQueue = 0;
displayPrm[i].inQueParams[0].prevLinkId = captureId;
displayPrm[i].inQueParams[0].prevLinkQueId = i;
displayPrm[i].forceFieldSeparatedInputMode = FALSE;
}
Chains_displayCtrlInit(chainsCfg->displayRes);
System_linkCreate(displayId[0], &displayPrm[0], sizeof(displayPrm[0]));
Chains_memPrintHeapStatus();
/*********************************************************************************/
}