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.

Why FVID_exchange() failed?

Other Parts Discussed in Thread: TVP5158

Hi all:

      I am using DM6437 connect with TVP5158 decoder to get 2-ch D1 image(line-interleaved mode). I refer to the examle of in the path of \dvsdk_1_01_00_15\psp_1_00_02_00\pspdrivers.....\loopback\.But when it runs into :

   if(IOM_COMPLETED != FVID_exchange(CcdcHandle,&FBAddr))
    {
          VPSS_DBG("VPSS  :CCDC Exchange.......FAILED \r\n");
    }

   FVID_exchange() faied.

 I config the CCDC like this:

PSP_VPFECcdcConfigParams ccdcParams =
{
    FVID_CCDC_YCBCR_8,                  /* dataFlow     */
    FVID_FRAME_MODE,                    /* ffMode       */
    1250,// 480,                                /* height       */
    736,                                /* width        */
    (736 *2),                           /* pitch        */
    0,                                  /* horzStartPix */
    0,                                  /* vertStartPix */
    NULL,                               /* appCallback  */
    {
        PSP_VPFE_TVP5158_Open,         /* extVD Fxn    */
        PSP_VPFE_TVP5158_Close,
        PSP_VPFE_TVP5158_Control,
    },
    0                                   /*segId         */
};

I have two questions :

1. Why did FVID_exchange() fail?How can I corrected?

2. I found if  the input mode of VPFE is configed FVID_FIELD_MODE,FVID_creat() will fail .But if it is configed  FVID_FRAME_MODE,the FVID_exchange will fail.  the data stream of input should be FVID_FIELD_MODE.

Could you help me?

 

  • Hi guofeng hu,

    Can you please mention the hardware platform which you are using? Is it DM6437?

    FVID_exchange() will internally invoke the GIO_submit() [Refer \psp_1_00_02_00\pspdrivers\inc\fvid.h file] with the command FVID_EXCHANGE. While handling the FVID_EXCHANGE command, the driver will first queue the buffer for processing and then dequeue the buffer already processed. This implementation can be seen in the function VPFE_mdSubmitChan() of the file "psp_1_00_02_00\pspdrivers\drivers\vpfe\src\dda_vpfeIom.c".

    Please track these function (in the CCS) to know the exact place at which the driver is throwing an error.

    Let me know the exact place from which the driver is retuning with an error when the FVID_exchange() is called.

    Regards,

    Sandeep K

  • Thank  you  very much !

    My problem has been  solved。