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.

RDK 2.8 Capture

Other Parts Discussed in Thread: TVP7002, TVP5158

Hi, if I set  pCaptureInstPrm->inDataFormat       = SYSTEM_DF_YUV422P;  or SYSTEM_DF_RGB24_888;  it's OK.

But if I set pCaptureInstPrm->inDataFormat       = SYSTEM_DF_YUV422I_YUYV. It's wrong.The error is:

links_m3vpss/capture/captureLink_drv.c: pInst->captureVipHandle != NULL : failed

What's wrong?

  • Brijesh from my team analyzed your requirement and below is the recommendation:

    VIP does support 16 bit discrete sync format. This has been tested with TVP7002,

    But DVR RDK capture link does not support 16 bit in discrete sync mode. It configures VIP in discrete sync format only in case of 24 bit RGB888 input format and also for non-TVP5158 decoder. There is not interface in the capture parameters to configure capture mode, this has been decided based on input dataformat.  Here is the change required to support 16 bit discrete sync mode..

    First set the configuration for captureLink_createParams in your uecase file as: pCaptureInstPrm->inDataFormat       = SYSTEM_DF_RGB24_888;


    Then change should be done in mcfw/src_bios6/links_m3vpss/capture/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;

            }

    Note that you have to configure AD9388 to send 16BIT discrete synch HSYNC_VSYNCH mode. How are you configuring that ? Is it thru I2C. Your AD9388 configuration should happen before captureLink create.

  • Hi,

     

    Below are the only data format supported for the input in the capture driver.. For all other formats, it will return error.

     

    FVID2_DF_YUV444I: For the YUV444 input

    FVID2_DF_RGB24_888: For the RGB input

    FVID2_DF_YUV422P: For the YUV422 input.

     

    Regards,

    Brijesh Jadav

  • I delete all code about TVP5158 .Is there any problem?

  • This indicates capture is not capturing any frames. You can confirm it using Vsys_printDetailedStatistics(). Removing TVP 5158 configuration should be no issue.

  • Yes, but I don't know why capture can not capture any frames if I set that.

    I don't know where is wrong, so I don't know where I should change. 

  • Hi, I test  VpsUtils_queGet() in hdvpss_01_00_01_37_patched\packages\ti\psp\vps\common\src\vpsutils_que.c.

    I found  the handle->flags is always zero.     Is it always zeros so it doesn't post semaphore to unblock, so the frameList->numFrames =0?

    if ( handle->flags & VPSUTILS_QUE_FLAG_BLOCK_QUE_PUT )

    {

         Semaphore_post ( handle->semWr );
      }

    What case the value of flage ​​will change ?