Hi all
I use DVRRDK4.1 DM8168.
I find if the picture after NSF Link, the Cb pixel error. Following is the chain code. And the attachment is the YUV420_SP data of picture got from channel0(no nsf) and channel1(nsf)
capturePrm.numVipInst = 1;
capturePrm.outQueParams[0].nextLink = mergeId0;//gVcapModuleContext.nsfId[1];
capturePrm.outQueParams[1].nextLink = gVcapModuleContext.nsfId[1]; // D1 to alg0
capturePrm.tilerEnable = FALSE;
capturePrm.enableSdCrop = FALSE;
vipInstId=0;
pCaptureInstPrm = &capturePrm.vipInst[vipInstId];
pCaptureInstPrm->vipInstId = SYSTEM_CAPTURE_INST_VIP0_PORTA;
pCaptureInstPrm->videoDecoderId = 0;
pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P;
pCaptureInstPrm->standard = SYSTEM_STD_1080P_24;
pCaptureInstPrm->numOutput = 2;
pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_16BIT;
pCaptureInstPrm->videoCaptureMode = DEVICE_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC;
pCaptureInstPrm->inScanFormat = SYSTEM_SF_PROGRESSIVE;
pCaptureOutPrm = &pCaptureInstPrm->outParams[0];
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV;
pCaptureOutPrm->scEnable = FALSE;
pCaptureOutPrm->scOutWidth = 704;
pCaptureOutPrm->scOutHeight = 576;
pCaptureOutPrm->outQueId = 0;
pCaptureOutPrm = &pCaptureInstPrm->outParams[1];
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422I_YUYV;
pCaptureOutPrm->scEnable = FALSE;
pCaptureOutPrm->scOutWidth = 0;
pCaptureOutPrm->scOutHeight = 0;
pCaptureOutPrm->outQueId = 1;
nsfPrm1.bypassNsf = FALSE;
nsfPrm1.inputFrameRate = 25;
nsfPrm1.inQueParams.prevLinkId = gVcapModuleContext.captureId;
nsfPrm1.inQueParams.prevLinkQueId = 1;
nsfPrm1.numOutQue = 1;
nsfPrm1.outputFrameRate = 25;
nsfPrm1.outQueParams[0].nextLink = mergeId0;
mergePrm0.inQueParams[0].prevLinkId = gVcapModuleContext.captureId;
mergePrm0.inQueParams[0].prevLinkQueId = 0;
mergePrm0.inQueParams[1].prevLinkId = gVcapModuleContext.nsfId[1];
mergePrm0.inQueParams[1].prevLinkQueId = 0;
mergePrm0.notifyNextLink = TRUE;
mergePrm0.numInQue = 2;
mergePrm0.outQueParams.nextLink = gVcapModuleContext.ipcFramesOutVpssId[0] ;
ipcFramesOutVpssToHostPrm.baseCreateParams.inQueParams.prevLinkId = mergeId0;
ipcFramesOutVpssToHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0;
ipcFramesOutVpssToHostPrm.baseCreateParams.inputFrameRate = 25;
ipcFramesOutVpssToHostPrm.baseCreateParams.noNotifyMode = TRUE;
ipcFramesOutVpssToHostPrm.baseCreateParams.notifyPrevLink = TRUE;
ipcFramesOutVpssToHostPrm.baseCreateParams.notifyNextLink = FALSE;
ipcFramesOutVpssToHostPrm.baseCreateParams.notifyProcessLink = FALSE;
ipcFramesOutVpssToHostPrm.baseCreateParams.outputFrameRate = 25;
ipcFramesOutVpssToHostPrm.baseCreateParams.numOutQue = 1;
ipcFramesOutVpssToHostPrm.baseCreateParams.outQueParams[0].nextLink = gVcapModuleContext.ipcFramesInHostId;;
ipcFramesInHostPrm.baseCreateParams.noNotifyMode = TRUE;
ipcFramesInHostPrm.baseCreateParams.notifyNextLink = FALSE;
ipcFramesInHostPrm.baseCreateParams.notifyPrevLink = FALSE;
ipcFramesInHostPrm.baseCreateParams.notifyProcessLink = FALSE;
ipcFramesInHostPrm.baseCreateParams.inQueParams.prevLinkId = gVcapModuleContext.ipcFramesOutVpssId[0];
ipcFramesInHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0;
ipcFramesInHostPrm.baseCreateParams.numOutQue = 1;
ipcFramesInHostPrm.baseCreateParams.outQueParams[0].nextLink = SYSTEM_LINK_ID_INVALID;
ipcFramesInHostPrm.cbCtx = &gVcapModuleContext.callbackArg;
ipcFramesInHostPrm.cbFxn = gVcapModuleContext.callbackFxn.newDataAvailableCb;//;
https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/yuv.7z