TI论坛
直播中

李凯生

7年用户 207经验值
私信 关注

利用DM8168解码后,经过mpSclr压缩成1920*1080输出显示,现在mpSclr在压缩时报错是什么原因?

本帖最后由 一只耳朵怪 于 2018-5-28 17:51 编辑

大家好,
         通过rtsp获取3840*2160码流,利用DM8168解码后,经过mpSclr压缩成1920*1080输出显示,现在mpSclr在压缩时报错,具体参数和错误信息如下,有哪位知道是什么问题吗?
        
System_LinkQueInfo queInfo;
for (i = 0; i < chn; i++) [
queInfo.numCh = chn;
queInfo.chInfo.bufType = SYSTEM_BUF_TYPE_VIDBITSTREAM;
queInfo.chInfo.codingformat = encFormat;
queInfo.chInfo.width = 3840;
queInfo.chInfo.height = 2160;
queInfo.chInfo.memType = SYSTEM_MT_tiLEDMEM;
queInfo.chInfo.dataFormat = SYSTEM_DF_YUV420P;
queInfo.chInfo.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.format = IVIDEO_H264HP;
decPrm.chCreateParams.profile = IH264VDEC_PROFILE_ANY;
decPrm.chCreateParams.targetMaxWidth = 3840;
decPrm.chCreateParams.targetMaxHeight = 2160;
decPrm.chCreateParams.fieldMergeDecodeEnable = FALSE;
decPrm.chCreateParams.algCreateStatus = DEC_LINK_ALG_CREATE_STATUS_CREATE;
decPrm.chCreateParams.defaultDynamicParams.targetFrameRate = encFrameRate;
decPrm.chCreateParams.defaultDynamicParams.targetBitRate = bitRate;
decPrm.chCreateParams.numBufPerCh = 16;
//decPrm.chCreateParams.displayDelay = 5;
//decPrm.chCreateParams.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.numSwMsInst = 1;
swMsPrm.swMsInstId[0] = SYSTEM_SW_MS_SC_INST_VIP0_SC_NO_DEI;//SYSTEM_SW_MS_SC_INST_SC5;
swMsPrm.inQueParams.prevLinkQueId = i;
swMsPrm.outQueParams.nextLink = displayId;
swMsPrm.lineSkipMode = FALSE;
swMsPrm.enableLayoutGridDraw = FALSE;
swMsPrm.layoutPrm.outputFPS = outFrameRate;
swMsPrm.maxOutRes = gIPV_displayRes;
swMsPrm.enableOuputDup = TRUE;
swMsPrm.outputBufModified = TRUE;

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

displayPrm.numInputQueues = 1;
displayPrm.activeQueue = 0;
displayPrm.inQueParams[0].prevLinkId = swMsId;
displayPrm.inQueParams[0].prevLinkQueId = 0;
displayPrm.displayRes = displayRes;
displayPrm.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 !!!

回帖(8)

乔婧

2018-5-28 16:12:25
OYE,
请参考以下下面论坛讨论的补丁。
https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/337167/1176891#1176891
举报

李凯生

2018-5-28 16:23:32
引用: 物是人非aaa 发表于 2018-5-28 16:12
OYE,
请参考以下下面论坛讨论的补丁。
https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/337167/1176891#1176891

    谢谢, Chris Meng.
举报

李凯生

2018-5-28 16:40:01
引用: 物是人非aaa 发表于 2018-5-28 16:12
OYE,
请参考以下下面论坛讨论的补丁。
https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/337167/1176891#1176891

        mpSclr link 可以只做纵向压缩,不做横向压缩吗
举报

乔婧

2018-5-28 16:45:57
引用: LiuJingJ123 发表于 2018-5-28 16:40
        mpSclr link 可以只做纵向压缩,不做横向压缩吗

OYE,
mpSclr link设计就是大于1080p的输入,输出等于1080p。请问你的这个场景(输入宽度大于1920,高度小于10080),你尝试过么,能成功么?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分