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?

I recompile the examle of previewer_on_the_fly in the path of C:\dvsdk_1_11_00_00\pspdrivers_1_10_00\packages.....\video\.But when it  run the following instructions, the program run into the if:

for(i = 0; i < NumOfIterations; i++)
    {
        if (IOM_COMPLETED != FVID_exchange(ccdcHandle, &FBAddr))
        {
            PREV_APP_PRINT("VPSS: Error in CCDC Exchange\r\n");
        }
        if (IOM_COMPLETED != FVID_exchange(vid0Handle, &FBAddr))
        {
            PREV_APP_PRINT("VPSS: Error in Video 0 Exchange\r\n");
        }
    }

It means FVID_exchange() faied.But I am sure the PrevHandle, ccdhandle, vencHandle and vid0Handle are  all created successful!

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

Could you help me?

  • Hi Yan jie,

     

    I need some of the information from you to analyse your problem,

    1. Could please tell me the platfrom which you are using? Are you using any custom board?

    2. Which FVID_exchange failed have to be identified? What is the error message

        (“VPSS: Error in CCDC Exchange” OR “VPSS: Error in Video 0 Exchange”)?

    3. How many buffers are primed before the exchange happens?

    It seems hardware might not be configured properly, as there is no response from the actual hardware that’s the reason why the FVID_exchange would fail.

    The FVID_exchange will queue the empty input buffer to active queue of the driver and return a filled packet dequeued from the finished / completed queue of the driver.

    The FVID_exchange fail could mean, dequeue from finished /  completed queue is not happening.

    In case of CCDC fail:

    1.    Capture is not happening. Check if the I2C address of the video decoder is configured correctly(this will change depending on the board design).

    In case of Video

    1.    Display is not working proper.

     

    Thanks and Regards,

    Sandeep K

  • Thank you very much!!

    Sandeep Krishnaswamy said:
    1. Could please tell me the platfrom which you are using? Are you using any custom board?

    I use the DM6437 from TI company, version of dvsdk  is dvsdk_1_11_00_00 ,  pspdrivers_1_10_00,DSP/BIOS_5_31_08.

    Sandeep Krishnaswamy said:
    2. Which FVID_exchange failed have to be identified? What is the error message

    the  error massage is " PREV_APP_PRINT("VPSS: Error in CCDC Exchange\r\n");"

    Sandeep Krishnaswamy said:
    3. How many buffers are primed before the exchange happens?

    There is 3 buffers in fvid.h.

    Sandeep Krishnaswamy said:
    It seems hardware might not be configured properly,

    I think it may be the reason.But I didn't work out it.

    Sandeep Krishnaswamy said:
    Check if the I2C address of the video decoder is configured correctly

    I use the digital camera,so there isn't decoder on the board.But I use MT9T001 like the example.

    The output on the diplay is all black.I think it is the result of following sets:

      case PSP_PREVIEWER_PIXELORDER_YCRYCB:
                firstByte  = 0x80;  /* Cb Value */
                secondByte = 0x0;   /* Y value */
                thirdByte  = 0x80;  /* Cr Value */
                fourthByte = 0x0;   /* Y value */

    What should I do? I am eager for your help!!

  • Yan Jie,

    One more thing, can you just specify  the error code when FVID_Exchange() comes back with an error.

    It looks like you are not at all receiving the capture interrupt. Because of this there is no capture buffer in the driver to dequeue. In this case, error code must be time out (please check it out), since the GIO_submit() in the FVID_exchange() is a synchronous call. 

    So my suggeston would be, first check out the I2C slave address of the MT9T001 camera sensor. Then check the pixel clock and H & V sync signals at MT9T001 are as expected. As expected means as per the configration done on MT9T001.

    In fact just for experimentation,  you can try with the default settings of the MT9T001.

    Thanks and Regards,

    Sandeep K

  • Thank you very much!

    I will try.

  • I found if  the input mode of VPFE is set as FVID_FIELD_MODE,there is no error.But if it is set as FVID_FRAME_MODE,the FVID_dequeue will fail.And I am sure the data stream of input is FRAME_MODE.

    why?Could you help me how to correct it?

  • Does this problem get solved ?

    I face exactly the same problem ,

    The program fails at FVID_exchange !!!!

    Anyone has the solution ?