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.

Understanding camera interface(video input) of DM816x/C6A816x processors

Other Parts Discussed in Thread: TVP7002

Hi all,

I am interested in understanding video capture subsystem of C6A8168 integra processor processor (drivers, hardware interfacing and sensors), so that I would be able to understand the feasibility and interface stereo video capture on the DM816x EVM (both software and hardware).

I am quite new to this. Any help in terms of where to start from, online materials, TI documents etc work be of great help

Kindly provide your suggestions.

 

Thanks and Regards,

Hari

  • Hello,

    For HW, please refer to the HDVPSS sections of the datasheet and TRM, as well as the EVM documentaation.  For SW, please refer to the PSP and SDK documentation.

    Regards,
    Marc

  • hari16511 said:
    I am interested in understanding video capture subsystem of C6A8168 integra processor processor (drivers, hardware interfacing and sensors), so that I would be able to understand the feasibility and interface stereo video capture on the DM816x EVM (both software and hardware).

    This is something that we're also interested in, but is my understanding that C6a8168 EVM's camera inputs are currently non-functional as TI has yet to release the required Video for Linux, V4L2, driver (end of October?).  As a temporary work-around I have been using a DC1394 compatible USB camera made by Pointgrey.

    Lee

     

  • Hi,

    Following is the answer to your query,

    Regarding hardware,

    C6a8168 SoC is having two instances of Capture ports. Further both of these instances can be divided into two ports each. Each port can capture 8 bit wide data or, by combining both ports you can capture 16 bit wide data on one VIP instance and 24 bit wide data on other port of VIP. Both VIP instances BT656 and BT1120 interfaces with embedded and discrete syncs, 

     

    Regarding software,

    Currently interfaces to all the VIP capture hardware is provided through media controller library. We have open max component "VFCC" to have user level interfaces to the VIP capture port.  VFCC open max component internally calls Media controller binary to get access to VIP capture hardware instance. But we are planning to expose VIP capture functionality of HDVPSS through V4L2 capture framework. This is planned in Q4'11.

     

    Regards,

    Hardik Shah

  • Hi Lee,

    Please clarify me the following. 

    1) Could you clarify what TI's daughter card you are planning to use? (TI had recommended Video conference daughter card to handle dual inputs though HDMI)

    2) Have you already procured the TI's daughter card and just waiting for the drivers to be released? 

    3) We have pointgrey firewire cameras but not with USB interface. Do you have any advice to use the setup along with the Netra EVM or any other temporary solutions like using standard webcams which  is tested with the netra EVM (driver availability etc)?. 

     

    Thanks,

    Hari

  • hari16511 said:

    1) Could you clarify what TI's daughter card you are planning to use? (TI had recommended Video conference daughter card to handle dual inputs though HDMI)

    2) Have you already procured the TI's daughter card and just waiting for the drivers to be released? 

    3) We have pointgrey firewire cameras but not with USB interface. Do you have any advice to use the setup along with the Netra EVM or any other temporary solutions like using standard webcams which  is tested with the netra EVM (driver availability etc)?. 

     

    For a test-mule we will use the daughter card that comes with the DDR3 EVM (is there another?).  I wasn't aware of the VFCC component of openMax and I will have to dig into that.  Eventually we will be building our own board.

    You can't use the firewire version of the Pointgrey cameras with the EVM.  For now, we're using the USB version of the MV series:

    http://www.ptgrey.com/products/fireflymv/fireflymv.pdf

    These are very easy to get to work on the EVM.  You need the DC1394-2 library:

    http://sourceforge.net/projects/libdc1394/files/

    The EVM comes with the usb library.  libraw is not needed.  To install dc1394 you will need to alter the configure script to force cross-compilation and to make sure that usb support is included.

    There is a dc1394 HOWTO page:

    http://www.tldp.org/HOWTO/libdc1394-HOWTO/index.html

    Lee

     

  • Lee Holeva said:
    I wasn't aware of the VFCC component of openMax and I will have to dig into that. 

    I spent some time going through the openMax docs and my conclusion it's a bit of a force fit for what we're doing.  OpenMax is likely great if your making a set-top box, but not so much for machine vision.  Too much overhead.  In contrast V4L2 lives at the kernel level and appears to be much more direct.  All that we need of it is to grab an image frame.  That combined with openCV may be best.  I'm eager to see what TI's port of openCV is going to look like.

    Lee

     

  •  

    Thanks Lee & Hardik Shah for the valuable information. 

    Have few more queries from my side...seems never ending...

    1) Investing on point grey USB camera doesn't look attractive for a temporary solution (because of the cost). May be I can go for 2 x logitech webcameras+ EVM daughter card. I guess drivers for these are available in the main stream linux and hence should be simple reconfigure and recompile of the kernel to support the cameras.

    Any one with experience in using web cameras with the TI EVM, kindly provide your views/suggestions regarding the webcam and operating two USB based webcams simultaneously. (I dont have the EVM to perform the testing).

    2) So from Hardik Shah reply, C6A816x can support 2 simultaneous 16 bit capture  or 4 simultaneous 8 bit capture. Pls Correct me if I am wrong.

    3) Inorder to synchronize the captured video from two cameras using the VC daughter card, will it be a pure hardware change or just a driver change?

    Thanks,

    Hari

     

  • It is important to differentiate between the capabilites of the silicon, and what you can use, given the state of the beta software. As Hardik points out, configuration of the video/graphics input ports is currently handled in the Media Controller binary. The next major release has a goal to move input  configuration to the main ARM Cortex, but, according to this thread: http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/132424.aspx

     support will be limited to the TVP7002, and even VGA will not be supported in the driver. Of course, once we have the driver, we can modify it for different capture devices and formats, but the Reference Manual only describes what the ports can do, and omits descriptions of the various registers that would need re-programming.

     The result, as I see it, is that the video/graphics input ports are unusable except for component analog input through the TVP7002 using the released code base, as this will be the situation for a very long time.  Z3 has a solution that allows them to run an HDMI input, but this also implies that they are not working from the released SDK code base. Clearly, their Media Controller code is different.  The DVR reference design provides 16 D1 inputs, but again, you have to leave the mainstream code to leverage that solution.

     I don't work for TI, and, like you, I have limited information, so perhaps those in the know can comment further on this. I think it's a very big problem that prevents users from exploiting the 'DM8168's excellent capture features. I'd love to have a solution.

     -Herb

  • Hi,

    Just to clarify few things,

    In next release we are planning to move TVP7002 driver to Linux A8. With that it will be easy to support any new decoder other than TVP7002 based on your choice. Decoder will be able to integrate with HDVPSS software accroding to standart V4L2 sub-devices model.

     

    Further capture driver on A8, Register programming will be still done in the Media controller through some proxy interface between Media controller and A8 Linux. But enough information/App notes will be provided to configure the HDVPSS to use different encoders/decoders according to the end product requirement. Further we are planning to support all the features of the HDVPSS capture port which can be supported under Linux V4L2 framework. Some of the feature of the HDVPSS cant be supported through V4L2 interfaces are like multi channel capture. For that feel free to use OpenMax components instead of V4L2 since any way V4L2 framework can support those features.

    [<quote>So from Hardik Shah reply, C6A816x can support 2 simultaneous 16 bit capture  or 4 simultaneous 8 bit capture. Pls Correct me if I am wrong.</quote>]

    Yes,

    C6A816x can support 2 simultaneous 16 bit capture  or 4 simultaneous 8 bit capture

    [<quote>Inorder to synchronize the captured video from two cameras using the VC daughter card, will it be a pure hardware change or just a driver change?</quote>]

    since the capture is from external devices, it will be required to synchronize two capture sources instead of synchronizing it in HDVPSS. Since HDVPSS is a pure slave for capturing the external world data you cant control HDVPSS VIP to synchronize. Yes, HDVPSS can synchronize two displays as its generated by HDVPSS itself. Synchronization always needs to be handled at source.

     

    Regards,

    Hardik Shah