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.

VGA captureon DM816X EVM

Other Parts Discussed in Thread: TVP7002

I need to perform capture & encode from a VGA input on the DM816x EVM.  Correct me if I am wrong, but it looks like with the EZSDK 5.02 we don't have any access to the TVP7002 registers. It looks like I can only use the component inputs with some video resolutions like 1080p, 1080i and 760p.  

Is there a way to access the TVP7002 registers with the EZSDK 5.02? If not, will there be a way to access those registers with coming EZSDK 5.03, or will there be new OMX CTRL component commands to select VGA inputs with the standard VGA-type of video resolutions that are supported by the TVP7002?

Thanks,

Claude

  • Claude,

    Sorry for the slow reply on this one.  It was in the DM64x forum so we hadn't seen it until now.  I will move it to the DM816x forum and we will get you an answer as soon as possible.

    Regards,
    Marc

  • Thanks Marc. Sorry for the late reply as I was back from vacation last Monday.

    The thread you pointed me did give me some useful information, but it didn't solve my problem.  My application needs to capture video, scale and crop it, compress it in H264 format, and stream it over Ethernet using GStreamer.  To do that I must use OpenMax. I am successful streaming video resolution that are provided with the OMX VCTRL module, but need to be able to stream from the VGA input with a few standard VGA resolutions.  This is why I want to be able setting up the TVP7002 without using anymore the OMX VCTRL so that I can use other inputs than the component input and use other display resolutions.

    The problem is that using OpenMax requires the use of the dm816x_hdvpss.xem3 file provided with the EZSDK, and most of the time the registers access attemps to the TVP7002 will fail because the VPSS module also access it.  If I don't firmware_load the VPSS, then all my TVP7002 registers access are successful. But it is useless as of course I do need to use the VPSS.

    I also tried using the dm816x_hdvpss_v4l2.xem3 provided with the latest EZSDK.  My TVP7002 registers accesses are also all successful, but OpenMax is not functional.

    I didn't try using the VPSS firmare provided from the PSP as the memory mapping is different for the VPSS. I could modify the OMX MemSegmentDefinition.xs file to match the PSP VPSS addresses and re-compile OMX, but I am not sure that this PSP VPSS binary is compatible with the EZSDK OMX sw.

    So can you tell me if there is any plan in next EZSDK releases to allow the A8 core to have access to the TVP7002 without conflict with the VPSS M3 core while using OpenMax? If not are there any other feature that are planned that would solve my problem? When?

    Best Regards,

    Claude

  • Claude,

    I will forward these questions to the SDK team.

    Regards,
    Marc

  • Claude,

    The right way would be to use the binary dm816x_hdvpss_v4l2.xem3 provided with the latest EZSDK and use V4L2 capture for VGA resolution using TVP7002.

    We have tried running examples that do not use OMX VFCC (such as decode_display & encode) and they work fine using the binary dm816x_hdvpss_v4l2.xem3

    Can you elaborate on what is not functional in OMX while using the binary dm816x_hdvpss_v4l2.xem3 ?

    Regards,

    Anirban

     

  • I am trying to run with dm816x_hdvpss_v4l2.xem3 my same application that works ok with dm816x_hdvpss.xem3.  It still uses OMX VFCC and CTRL.  I am able to get a handle on all used OMX components and set their parameters. Then I try to make CTRL transition from OMX_StateLoaded to OMX_StateIdle, and it fails with OMX_ErrorUndefined.

    But you are giving me hope as maybe it should work if I use V4L2 capture instead of VFCC and CTRL.  The other OMX components I use are DEIM and VENC.  I will give it a try and let you know if it works.  I will be able to try that only in a few days as I have to finish up something else.

    Thanks a lot for your support.

    Regards,

    Claude