Hello,everyone.
I am using DVRRRDK3.0 with DM8168.The McFW demo can run correctly,but I have some doubts about the formate about the Video stream.
In multich_vcap_vdis.c file,it gives code framework as follow:
The video stream and video formate in different period can be summarized as follow:
Capture(YUV422I)------>NSF(YUV420SP)------>DEI(YUV420)------>Merge------>Dup------>SW Mosaic(YUV422I)------>HDMI display
The related video formate configuration codes is as follow(Highlight in RED):
for(vipInstId=0; vipInstId<capturePrm.numVipInst; vipInstId++)
{
pCaptureInstPrm = &capturePrm.vipInst[vipInstId];
pCaptureInstPrm->vipInstId = (SYSTEM_CAPTURE_INST_VIP0_PORTA+vipInstId)%SYSTEM_CAPTURE_INST_MAX;
pCaptureInstPrm->videoDecoderId = SYSTEM_DEVICE_VID_DEC_TVP5158_DRV;
pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P;
pCaptureInstPrm->standard = SYSTEM_STD_MUX_4CH_D1;
pCaptureInstPrm->numOutput = 1;
pCaptureOutPrm = &pCaptureInstPrm->outParams[0];
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422I_YUYV;
pCaptureOutPrm->scEnable = FALSE;
pCaptureOutPrm->scOutWidth = 0;
pCaptureOutPrm->scOutHeight = 0;
pCaptureOutPrm->outQueId = 0;
}
for(i = 0; i < NUM_CAPTURE_DEVICES; i++)
{
vidDecVideoModeArgs[i].videoIfMode = DEVICE_CAPT_VIDEO_IF_MODE_8BIT;
vidDecVideoModeArgs[i].videoDataFormat = SYSTEM_DF_YUV422P;
vidDecVideoModeArgs[i].standard = SYSTEM_STD_MUX_4CH_D1;
vidDecVideoModeArgs[i].videoCaptureMode =
DEVICE_CAPT_VIDEO_CAPTURE_MODE_MULTI_CH_PIXEL_MUX_EMBEDDED_SYNC;
vidDecVideoModeArgs[i].videoSystem =
DEVICE_VIDEO_DECODER_VIDEO_SYSTEM_AUTO_DETECT;
vidDecVideoModeArgs[i].videoCropEnable = FALSE;
vidDecVideoModeArgs[i].videoAutoDetectTimeout = -1;
}
…..
deiPrm[i].comprEnable = FALSE;
deiPrm[i].setVipScYuv422Format = FALSE;
But I do not know exactly why these video foment codes are configured as this. I use the DVD as the Video source, the board I used is DM8168EVM+TVP5158.
(1)Capture Configuration
pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P; // How does this formate set?What thing impact the setting?
pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422I_YUYV; // Is this video format that TVP5158 output or others??
(2)
vidDecVideoModeArgs[i].videoDataFormat = SYSTEM_DF_YUV422P; // What this means?TVP5158 Input??
(3)deiPrm[i].setVipScYuv422Format = FALSE; // If I set this for true,does it means this?The Video passed DEI operation,its format become YUV422I(Y0U0Y1V0 Y2U2Y3V3 ....).
If I set it for FALSE,what it means and what the video format?
(4)Capture(YUV422I)------>NSF(YUV420SP)------>DEI(YUV420)
The Video format changes from YUV422I to YUV422SP,then YUV420.First Question:I do not find the format change Configuration In NSF codes, How it become YUV420SP?
Second Question:What different between YUV420SP and YUV420 Here?
(5) ------>Merge------>Dup------>SW Mosaic(YUV422I)------>Display
The Video format changes from YUV420(In DEI) to YUV422I by SW Mosaic. I do not find the format change Configuration In SW Mosaic codes, How it become YUV422I? Could you give an explanation?
I am looking forward to your reply,thank you in advance.
JQ Zhao