dear everyone
i meet a problem when i want to display HDMI ,the link is capture-->display ,the code is showed below:
===================================================================================
Void MultiCh_createHdmi()
{
CaptureLink_CreateParams ipcFrameCapturePrm;
DisplayLink_CreateParams displayPrm;
gipcFrameCaptureId = SYSTEM_LINK_ID_CAPTURE;
gVdisModuleContext.displayId[0] = SYSTEM_LINK_ID_DISPLAY_0;
gVcapModuleContext.captureId = gipcFrameCaptureId;
MultiCh_detectBoard();
System_linkControl(SYSTEM_LINK_ID_M3VPSS,
SYSTEM_M3VPSS_CMD_RESET_VIDEO_DEVICES, NULL, 0, TRUE);
/*Set Capture link info*/
ipcFrameCapturePrm.isPalMode = FALSE;
ipcFrameCapturePrm.numVipInst = 1;
ipcFrameCapturePrm.vipInst[0].vipInstId = 0;
ipcFrameCapturePrm.vipInst[0].videoDecoderId = 0;
ipcFrameCapturePrm.vipInst[0].inDataFormat =6;
ipcFrameCapturePrm.vipInst[0].standard = SYSTEM_STD_1080I_60;
ipcFrameCapturePrm.vipInst[0].numOutput = 1;
ipcFrameCapturePrm.vipInst[0].Width =1920;
ipcFrameCapturePrm.vipInst[0].Height =1080;
ipcFrameCapturePrm.vipInst[0].pitch[0] =1920;
ipcFrameCapturePrm.vipInst[0].pitch[1] =1920;
ipcFrameCapturePrm.vipInst[0].pitch[2] = 0;
ipcFrameCapturePrm.vipInst[0].outParams[0].dataFormat =SYSTEM_DF_YUV422I_YUYV;//7;//
ipcFrameCapturePrm.vipInst[0].outParams[0].scEnable = 0;
ipcFrameCapturePrm.vipInst[0].outParams[0].scOutWidth =4000;
ipcFrameCapturePrm.vipInst[0].outParams[0].scOutHeight =2368;
ipcFrameCapturePrm.vipInst[0].outParams[0].outQueId = 0;
ipcFrameCapturePrm.outQueParams[0].nextLink=gVdisModuleContext.displayId[0];
ipcFrameCapturePrm.tilerEnable = FALSE;
ipcFrameCapturePrm.rtStatPrintEnable = 1;
ipcFrameCapturePrm.numAudioChannels = 0;
ipcFrameCapturePrm.fakeHdMode = FALSE;
ipcFrameCapturePrm.enableSdCrop = FALSE;
ipcFrameCapturePrm.doCropInCapture = FALSE;
ipcFrameCapturePrm.numBufsPerCh = 4;
ipcFrameCapturePrm.numExtraBufs = 0;
MULTICH_INIT_STRUCT(DisplayLink_CreateParams,displayPrm);
displayPrm.inQueParams[0].prevLinkId = gipcFrameCaptureId;
displayPrm.inQueParams[0].prevLinkQueId = 0;
displayPrm.numInputQueues=1;
displayPrm.activeQueue=0;
displayPrm.displayRes =SYSTEM_STD_1080I_60;// gVdisModuleContext.vdisConfig.deviceParams[VDIS_DEV_HDMI].resolution;
displayPrm.displayId = DISPLAY_LINK_DISPLAY_BP0;
System_linkCreate(gipcFrameCaptureId, &ipcFrameCapturePrm,
sizeof(ipcFrameCapturePrm));
System_linkCreate(gVdisModuleContext.displayId[0], &displayPrm,
sizeof(displayPrm));
===================================================================
and i meet a assert like this :
======================================================
-> [m3vpss ] No End Nodes
-> [m3vpss ] 7
-> [m3vpss ] (DisplayLink_drvDisplayCreate,1092),pObj->displayCreateStatus.dispWidth=0,pObj->displayCreateStatus.dispHeight=0,createStatus->retVal=-1
-> [m3vpss ] 4206: Assertion @ Line: 1093 in links_m3vpss/display/displayLink_drv.c: pObj->displayHndl != NULL : failed !!!
=====================================================
i follow the code , found the error is from
retVal = Dc_getPathInfo(instObj->dcHandle, &instObj->dcPathInfo);
the retval is -1
into the function
========================================================
if (TRUE == dcIsLastNode(currNode, TRUE))
{
Vps_printf("LastNode\n");
outputNodes[numNodes] = currNode->nodeNum;
numNodes ++;
}
/* dcGetNextTraversedNode */
currNode = dcGetNextTraversedNode(TRUE);
}
/* If the current input is not connected to any of the VENCs/output
* node or enableInputPaths returns error, return error. */
if (0u == numNodes)
{
Vps_printf("No End Nodes\n");
GT_2trace(DcTrace,
GT_ERR,
"%s: No End Nodes %d",
__FUNCTION__,
numNodes);
retVal = FVID2_EFAIL;
=======================================
and i don't what to do next ,can anyone give me some points? thanks