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.

DVRRDK DM8168

Other Parts Discussed in Thread: TVP5158

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

 

 

  • (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??

    inDataFmt is the format received by 816x VIP.

    outDataFmt is the format written by the 816x VIP when writing the video frame to memory.

    When doing multichannel capture using a decoder like TVP the only supported as inFMt = 422P and outFmt = 422I. No other configuration is valid

    (2)

    vidDecVideoModeArgs[i].videoDataFormat    = SYSTEM_DF_YUV422P;  // What this means?TVP5158 Input??

     See answer 1

    (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 ....).

    - Yes

    If I set it for FALSE,what it means and what the video format?

    - 420SP


    (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?

    - NSF h/w only support input = 422I output = 420SP.No other configuration possible hence not configurable

    Second Question:What different between YUV420SP and YUV420 Here?

    - 420 means 420SP.

    (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?

    SwMs in RDK 3.0 only support 422I format so it is not configurable.

  • Thank you for your reply. But I have doubts about question 5. Dis you means this?

    SW Mosaic: input can be YUV420  or  YUV422I,because the DEI output can be YUV420SP or YUV422I(Question 3).  Right  or wrong?

                              Output   can only be YUV422I and not software configurable.

    Another Question is that,If  I insert a algorithm link between Merge link and dup link to process the video buffer. The video format  can be YUV420 or YUV422I. It

    all depends the setting of deiPrm[i].setVipScYuv422Format,  TRUE or FALSE.  Is my understand right?  Thank you.


    Zhao

  • SW Mosaic: input can be YUV420  or  YUV422I,because the DEI output can be YUV420SP or YUV422I(Question 3).  Right  or wrong?

                              Output   can only be YUV422I and not software configurable.

    Yes this is correct if you are using RDK 3.0. In RDK 3.5 SwMs supports both 420 and 422 output.

     

    If  I insert a algorithm link between Merge link and dup link to process the video buffer. The video format  can be YUV420 or YUV422I. It

    all depends the setting of deiPrm[i].setVipScYuv422Format,  TRUE or FALSE.  Is my understand right?

    If you are adding merge and dup after DEI VIP SC output queue then you are right. Input can be 420/422 depending upon the setVipScYuv422Format flag