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.

question about vip input data format

Other Parts Discussed in Thread: TVP5158

hi, i am using dvrrdk 3.0, and i set as follows:

pCaptureInstPrm->inDataFormat       = SYSTEM_DF_YUV422I_YUYV;

and we will find settings in captureLink_drv.c

if (pVipCreateArgs->inDataFormat == FVID2_DF_RGB24_888)
        {
            pVipCreateArgs->videoCaptureMode =
                VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_DISCRETE_SYNC_ACTVID_VBLK;
            pVipCreateArgs->videoIfMode = VPS_CAPT_VIDEO_IF_MODE_24BIT;
        }
        else
        {
            pVipCreateArgs->videoCaptureMode =
                VPS_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC;
            pVipCreateArgs->videoIfMode = VPS_CAPT_VIDEO_IF_MODE_16BIT;
        }

 

but  it will fail when running demo. the error information as follows:

 [m3vpss ]  14774: CAPTURE: VIP0 PortA capture mode is [16-bit, Non-mux Embedded Sync] !!!
 [m3vpss ]  14867: CAPTURE: VIP0 PortB capture mode is [ 8-bit, Non-mux Embedded Sync] !!!
 [m3vpss ]  14889: CAPTURE: VIP1 PortA capture mode is [16-bit, Non-mux Embedded Sync] !!!
 [m3vpss ]  14889: Assertion @ Line: 814 in links_m3vpss/capture/captureLink_drv.c: pInst->captureVipHandle != NULL : failed !!!

 

i dont know why this will happen. i found the supportted data format of vip in sprugx8a.pdf as follow:

 Input:
– YUV422 8-bit embedded sync mode (exclude BT. 1120)
– YUV422 8-bit discrete sync mode
– YUV422 16-bit embedded sync mode
– YUV422 16-bit discrete sync mode
– YUV422 8-bit 2×/4× pixel multiplexed mode
– YUV422 8-bit 4× line multiplexed mode
– RGB 24-bit embedded sync mode
– RGB 24-bit discrete sync mode
– YUV444 24-bit embedded sync
– YUV444 24-bit discrete sync mode

it means that dm8168 support SYSTEM_DF_YUV422I_YUYV format of vip .

plz help me ,thanks!

  • Please provide complete create time parameters. there could be some issue in create time parameters.

     

    regards,

    brijesh jadav

  • for(vipInstId=0; vipInstId<capturePrm.numVipInst; vipInstId++)
        {
            pCaptureInstPrm                     = &capturePrm.vipInst[vipInstId];
           
            pCaptureInstPrm->vipInstId          = (SYSTEM_CAPTURE_INST_VIP0_PORTA+vipInstId)%SYSTEM_CAPTURE_INST_MAX;
           
            pCaptureInstPrm->inDataFormat       = SYSTEM_DF_YUV422P;
            if(vipInstId == SYSTEM_CAPTURE_INST_VIP0_PORTA)
            {
                pCaptureInstPrm->videoDecoderId     = 10;//null value
                pCaptureInstPrm->standard           =   SYSTEM_STD_720P_60;
            }
            else if(vipInstId == SYSTEM_CAPTURE_INST_VIP0_PORTB)
            {
                pCaptureInstPrm->videoDecoderId     = SYSTEM_DEVICE_VID_DEC_TVP5158_DRV;
                pCaptureInstPrm->standard           =   SYSTEM_STD_D1;
            }
            else if(vipInstId == SYSTEM_CAPTURE_INST_VIP1_PORTA)
            {
                pCaptureInstPrm->videoDecoderId     = 10;//null value

                pCaptureInstPrm->standard           =   SYSTEM_STD_D1;
                pCaptureInstPrm->inDataFormat       = SYSTEM_DF_YUV422I_YUYV;
            }
            else if(vipInstId == SYSTEM_CAPTURE_INST_VIP1_PORTB)
            {
                pCaptureInstPrm->videoDecoderId     = SYSTEM_DEVICE_VID_DEC_TVP5158_DRV;
                pCaptureInstPrm->standard           =   SYSTEM_STD_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;
        }

    i dont know create time parameters ??? is it?

  • other information on screen:

    [m3vpss ]  11221: CAPTURE: Create in progress !!!
     [m3video]  11217: IPC_OUT_M3   : Create in progress !!!
     [m3video]  11217: IPC_OUT_M3   : Create Done !!!
     [m3vpss ]  11250: CAPTURE: VIP0 PortA capture mode is [16-bit, Non-mux Embedded Sync] !!!
     [m3vpss ]  11343: CAPTURE: VIP0 PortB capture mode is [ 8-bit, Non-mux Embedded Sync] !!!


    770:!!!SLAVE CORE [VPSS-M3] DOWN!!!
    SystemLink_copySlaveCoreExceptionContext:146
    mmap of [0xbe9e0000:36864]
    mmap virt addresss:0x2ab8a000
    munmap of [0x2ab8a000:36864]
    SystemLink_copySlaveCoreExceptionContext:153
     [m3vpss ]  11365: CAPTURE: VIP1 PortA capture mode is [16-bit, Non-mux Embedded Sync] !!!
     [m3vpss ]  11365: Assertion @ Line: 814 in links_m3vpss/capture/captureLink_drv.c: pInst->captureVipHandle != NULL : failed !!!

  • bin li2 said:

    other information on screen:

    [m3vpss ]  11221: CAPTURE: Create in progress !!!
     [m3video]  11217: IPC_OUT_M3   : Create in progress !!!
     [m3video]  11217: IPC_OUT_M3   : Create Done !!!
     [m3vpss ]  11250: CAPTURE: VIP0 PortA capture mode is [16-bit, Non-mux Embedded Sync] !!!
     [m3vpss ]  11343: CAPTURE: VIP0 PortB capture mode is [ 8-bit, Non-mux Embedded Sync] !!!


    770:!!!SLAVE CORE [VPSS-M3] DOWN!!!
    SystemLink_copySlaveCoreExceptionContext:146
    mmap of [0xbe9e0000:36864]
    mmap virt addresss:0x2ab8a000
    munmap of [0x2ab8a000:36864]
    SystemLink_copySlaveCoreExceptionContext:153
     [m3vpss ]  11365: CAPTURE: VIP1 PortA capture mode is [16-bit, Non-mux Embedded Sync] !!!
     [m3vpss ]  11365: Assertion @ Line: 814 in links_m3vpss/capture/captureLink_drv.c: pInst->captureVipHandle != NULL : failed !!!

    Hi,

       I`m working on this issue, can the input dataformat be set YUV422I_UYVY? Why is the assert happened

       If you have make any progress,pls tell me .thanks

  • Hello bin,

    Did you resolve this issue ?
    Can capture input data be set to SYSTEM_DF_YUV422I_YUYV as you tried ?

    Thank you.
    Ran
  • Capture input data source has to be YUV422P. This is used to tell VIP driver that input format is YUV422. But it is fixed.

    Regards,
    Brijesh
  • Dear Brijesh,

    Thank you for the kind assistance!

    I think capture input with YUV422P is used with embedded sync only.

    We are connecting the output from display into input, so we probably better use RGB888, so that we configure both display and capture port to RGB888, and using the sync discrete.

    I see that we by default, active high is used with discretes sync in display (output), so I guess that VIP also expects them to be active high (unfortunately there is no information on this in datasheet or TRM).

    Thank you very much,

    Ran