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.

DM8168 mpSclr link错误

大家好,

         通过rtsp获取3840*2160码流,利用DM8168解码后,经过mpSclr压缩成1920*1080输出显示,现在mpSclr在压缩时报错,具体参数和错误信息如下,有哪位知道是什么问题吗?

        

System_LinkQueInfo queInfo;
for (i = 0; i < chn; i++) {
queInfo.numCh = chn;
queInfo.chInfo[i].bufType = SYSTEM_BUF_TYPE_VIDBITSTREAM;
queInfo.chInfo[i].codingformat = encFormat;
queInfo.chInfo[i].width = 3840;
queInfo.chInfo[i].height = 2160;
queInfo.chInfo[i].memType = SYSTEM_MT_TILEDMEM;
queInfo.chInfo[i].dataFormat = SYSTEM_DF_YUV420P;
queInfo.chInfo[i].scanFormat = SYSTEM_SF_PROGRESSIVE;
}

ipcBitsOutHostPrm.baseCreateParams.numOutQue = 1;
ipcBitsOutHostPrm.baseCreateParams.numChPerOutQue[0] = 1;
ipcBitsOutHostPrm.baseCreateParams.outQueParams[0].nextLink = ipcBitsInVideoId;
ipcBitsOutHostPrm.baseCreateParams.notifyNextLink = TRUE;
ipcBitsOutHostPrm.baseCreateParams.notifyPrevLink = FALSE;
ipcBitsOutHostPrm.baseCreateParams.noNotifyMode = FALSE;
//ipcBitsOutHostPrm.bufPoolPerCh = FALSE;
//ipcBitsOutHostPrm.numBufPerCh[0] = 0;
chainsBitsInitCreateParams_BitsOutHLOS(&ipcBitsOutHostPrm, &queInfo);

ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkId = ipcBitsOutHostId;
ipcBitsInVideoPrm.baseCreateParams.inQueParams.prevLinkQueId = 0;
ipcBitsInVideoPrm.baseCreateParams.numOutQue = 1;
ipcBitsInVideoPrm.baseCreateParams.numChPerOutQue[0] = 1;
ipcBitsInVideoPrm.baseCreateParams.outQueParams[0].nextLink = decId;
ipcBitsInVideoPrm.baseCreateParams.noNotifyMode = FALSE;
ipcBitsInVideoPrm.baseCreateParams.notifyNextLink = TRUE;
ipcBitsInVideoPrm.baseCreateParams.notifyPrevLink = TRUE;
chainsBitsInitCreateParams_BitsInRTOS(&ipcBitsInVideoPrm, TRUE);

for (i = 0; i < chn; i++) {
decPrm.chCreateParams[i].format = IVIDEO_H264HP;
decPrm.chCreateParams[i].profile = IH264VDEC_PROFILE_ANY;
decPrm.chCreateParams[i].targetMaxWidth = 3840;
decPrm.chCreateParams[i].targetMaxHeight = 2160;
decPrm.chCreateParams[i].fieldMergeDecodeEnable = FALSE;
decPrm.chCreateParams[i].algCreateStatus = DEC_LINK_ALG_CREATE_STATUS_CREATE;
decPrm.chCreateParams[i].defaultDynamicParams.targetFrameRate = encFrameRate;
decPrm.chCreateParams[i].defaultDynamicParams.targetBitRate = bitRate;
decPrm.chCreateParams[i].numBufPerCh = 16;
//decPrm.chCreateParams[i].displayDelay = 5;
//decPrm.chCreateParams[i].tilerEnable = TRUE;
}
decPrm.inQueParams.prevLinkId = ipcBitsInVideoId;
decPrm.inQueParams.prevLinkQueId = 0;
decPrm.outQueParams.nextLink = ipcOutVideoId;
//decPrm.tilerEnable = TRUE;

ipcOutVideoPrm.inQueParams.prevLinkId = decId;
ipcOutVideoPrm.inQueParams.prevLinkQueId = 0;
ipcOutVideoPrm.numOutQue = 1;
ipcOutVideoPrm.outQueParams[0].nextLink = ipcInVpssId;
ipcOutVideoPrm.notifyNextLink = TRUE;
ipcOutVideoPrm.notifyPrevLink = TRUE;
ipcOutVideoPrm.noNotifyMode = FALSE;

ipcInVpssPrm.inQueParams.prevLinkId = ipcOutVideoId;
ipcInVpssPrm.inQueParams.prevLinkQueId = 0;
ipcInVpssPrm.numOutQue = 1;
ipcInVpssPrm.outQueParams[0].nextLink = dupId;
ipcInVpssPrm.notifyNextLink = TRUE;
ipcInVpssPrm.notifyPrevLink = TRUE;
ipcInVpssPrm.noNotifyMode = FALSE;

dupPrm.inQueParams.prevLinkId = ipcInVpssId;
dupPrm.inQueParams.prevLinkQueId = 0;
dupPrm.numOutQue = 2;
dupPrm.outQueParams[0].nextLink = mpSclrId;
dupPrm.outQueParams[1].nextLink = swMsId[1];
dupPrm.notifyNextLink = TRUE;

MpSclrLink_CreateParams_Init(&mpSclrPrm);
mpSclrPrm.numCh = 1;
mpSclrPrm.enableLineSkip = FALSE;
mpSclrPrm.pathId = MP_SCLR_LINK_SC5;//MP_SCLR_LINK_SEC1_SC4_VIP1;
mpSclrPrm.inQueParams.prevLinkId = dupId;
mpSclrPrm.inQueParams.prevLinkQueId = 0;
mpSclrPrm.outQueParams.nextLink = swMsId[0];

for (i = 0; i < 2; i++)
{
swMsPrm[i].numSwMsInst = 1;
swMsPrm[i].swMsInstId[0] = SYSTEM_SW_MS_SC_INST_VIP0_SC_NO_DEI;//SYSTEM_SW_MS_SC_INST_SC5;
swMsPrm[i].inQueParams.prevLinkQueId = i;
swMsPrm[i].outQueParams.nextLink = displayId[i];
swMsPrm[i].lineSkipMode = FALSE;
swMsPrm[i].enableLayoutGridDraw = FALSE;
swMsPrm[i].layoutPrm.outputFPS = outFrameRate;
swMsPrm[i].maxOutRes = gIPV_displayRes[i];
swMsPrm[i].enableOuputDup = TRUE;
swMsPrm[i].outputBufModified = TRUE; 

swMsPrm[0].inQueParams.prevLinkId = mpSclrId;
swMsPrm[1].inQueParams.prevLinkId = dupId;
swMsPrm[i].maxInputQueLen = SYSTEM_SW_MS_DEFAULT_INPUT_QUE_LEN;
swMsPrm[i].numOutBuf = 0;
swMsGenerateLayoutParams(i, 1, &swMsPrm[i]);

displayPrm[i].numInputQueues = 1;
displayPrm[i].activeQueue = 0;
displayPrm[i].inQueParams[0].prevLinkId = swMsId[i];
displayPrm[i].inQueParams[0].prevLinkQueId = 0;
displayPrm[i].displayRes = displayRes[i];
displayPrm[i].forceFieldSeparatedInputMode = FALSE;
}
displayCtrlInit(displayRes);

[m3vpss ] 641439: MP_SCLR: - Input Resolution Changed, updating...
[m3vpss ] 641449: MP_SCLR: ERROR could not update channel info!!!
[m3vpss ] 641449: Assertion @ Line: 769 in links_m3vpss/mpSclr/mpSclrLink_drv.c: status == FVID2_SOK : failed !!!