如题,我的输入是720P H264编码视频,经过M3解码后进行缩放,后加入DSP,再将处理的视频送入M3编码,再送入A8,但是在经过sclrlink和nsflink后,发现进入M3编码的数据只有一点点,若是不加入sclrlink和nsflink则是对的,请大家帮我看下我的sclrlink和nsflink链接是不是出问题了呢。
ipcOutVideoPrm.inQueParams.prevLinkId = gVdecModuleContext.decId;
ipcOutVideoPrm.inQueParams.prevLinkQueId = 0;
ipcOutVideoPrm.outQueParams[0].nextLink = gMultiCh_VdecVdisObj.ipcInVpssId;
ipcOutVideoPrm.notifyNextLink = TRUE;
ipcOutVideoPrm.notifyPrevLink = TRUE;
ipcOutVideoPrm.numOutQue = 1;
ipcInVpssPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcOutVideoId;
ipcInVpssPrm.inQueParams.prevLinkQueId = 0;
ipcInVpssPrm.notifyNextLink = TRUE;
ipcInVpssPrm.notifyPrevLink = TRUE;
ipcInVpssPrm.numOutQue = 1;
//下面的就是我自己连接上面的
ipcInVpssPrm.outQueParams[0].nextLink =gMultiCh_VdecVdisObj.sclrId;
SclrLink_CreateParams_Init(&sclrPrm);
sclrPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.ipcInVpssId;//gMultiCh_VdecVdisObj.mpSclrId;
//sclrPrm.pathId = SCLR_LINK_SC5;//SCLR_LINK_SEC0_SC3;//SCLR_LINK_SC5;
sclrPrm.inQueParams.prevLinkQueId = 0;
sclrPrm.outQueParams.nextLink =gMultiCh_VdecVdisObj.nsfId;
sclrPrm.tilerEnable = FALSE;
sclrPrm.enableLineSkipSc = FALSE;//TRUE;//FALSE;
sclrPrm.inputFrameRate = 25;//50;//25;//60;//25;//30;//15;//30;//60;
sclrPrm.outputFrameRate = 25;//25;//30;//30;//15;//30;//60;
sclrPrm.outDataFormat = SYSTEM_DF_YUV422I_YUYV;
sclrPrm.scaleMode = DEI_SCALE_MODE_ABSOLUTE;
sclrPrm.outScaleFactor.absoluteResolution.outWidth = 640;//704;//640;//352;//320;//704;
sclrPrm.outScaleFactor.absoluteResolution.outHeight = 360;//576;//360;//288;//240;//576;
sclrPrm.numBufsPerCh = 2;
NsfLink_CreateParams_Init(&nsfPrm);
nsfPrm.bypassNsf = TRUE;//FALSE;//TRUE;
nsfPrm.inputFrameRate = 1;
nsfPrm.outputFrameRate = 1;
nsfPrm.tilerEnable = FALSE;
nsfPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.sclrId;
nsfPrm.inQueParams.prevLinkQueId = 0;
nsfPrm.numOutQue = 1;
nsfPrm.numBufsPerCh = 2;
nsfPrm.outQueParams[0].nextLink =gMultiCh_VdecVdisObj.dupId[0];
dupPrm[0].inQueParams.prevLinkId = gMultiCh_VdecVdisObj.nsfId;
//以上的就是我自己加的,若是不加的话,是可以的
dupPrm[0].inQueParams.prevLinkQueId = 0;
dupPrm[0].numOutQue = 2;//2;//gVsysModuleContext.vsysConfig.numDisplays;
dupPrm[0].outQueParams[0].nextLink = gVdisModuleContext.swMsId[0];
dupPrm[0].outQueParams[1].nextLink = gMultiCh_VcapVencVdisObj.ipcOutVpssId;//yl_add
dupPrm[0].notifyNextLink = TRUE;
//IpcLink_CreateParams_Init(&ipcOutVpssPrm);
ipcOutVpssPrm.inQueParams.prevLinkId = gMultiCh_VdecVdisObj.dupId[0];//yl_add
ipcOutVpssPrm.inQueParams.prevLinkQueId = 1;
//ipcOutVpssPrm.inQueParams.prevLinkQueId = 0;
ipcOutVpssPrm.numOutQue = 1;
ipcOutVpssPrm.outQueParams[0].nextLink = gMultiCh_VcapVencVdisObj.ipcInVideoId;
ipcOutVpssPrm.notifyNextLink = TRUE;
ipcOutVpssPrm.notifyPrevLink = TRUE;
ipcOutVpssPrm.noNotifyMode = FALSE;
//IpcLink_CreateParams_Init(&ipcInVideoPrm);
ipcInVideoPrm.inQueParams.prevLinkId =gMultiCh_VcapVencVdisObj.ipcOutVpssId;
ipcInVideoPrm.inQueParams.prevLinkQueId = 0;
ipcInVideoPrm.numOutQue = 1;
ipcInVideoPrm.outQueParams[0].nextLink = encId;
ipcInVideoPrm.notifyNextLink = TRUE;
ipcInVideoPrm.notifyPrevLink = TRUE;//FALSE;
ipcInVideoPrm.noNotifyMode = FALSE;//TRUE;
若是不加入sclrlink和nsflink,则经过M3解码后再经过M3编码送入A8是可以的,但是加入sclrlink和nsflink后送入M3编码的数据感觉只有一点点,一帧左右样,后续就没有数据了,这是为什么呢,请大家帮我看看是不是我哪些地方设置不对呢。