Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 07 Dec 2015 08:27 AM by  Adam Ford
DM3730 - NTSC Video Capture Device
 9 Replies
Sort:
You are not authorized to post a reply.
Author Messages
steven.eckhoff
Basic Member
Basic Member
Posts:192


--
31 Jan 2014 11:56 AM

    Q:

    Product    
    DM3730 / AM3703 Torpedo + Wire
    Software OS    
    Linux
    Part Number    
    1021753
    Description    
    Hello,
    I am currently working on an NTSC video capture device that takes NTSC data from the ADV7180_LFCSP32 and supplies 8-Bit, 4:2:2 YCrCb[7:0] output data to to the Camera Connector (J6) on the torpedo development board. I have connected the ADV7180 LLC pin to the CMA_PCLK pin and HS and VS to their corresponding inputs on the connector. I have modified the ADV7180 driver to work with the media control framework and I am able to configure my pipeline as follows:
    sensor -> ccdc -> memory
    I launch GStreamer using:
    gst-launch v4l2src device=/dev/video2 ! 'video/x-raw-yuv,format=(fourcc)UYVY,width=720,height=480' ! tidisplaysink2 mmap-buffer=true

    No error is returned and the everything seems to be working but there is nothing on the display.
    I would expect that at least some output (even if it is garbage) would show up on the display but I see nothing at all.
    Is there a driver for the ADV7180 and board support code enabling the driver to work in the Media-Control Framework?
    Are any NTSC encoder chips supported as a development platform to work in conjunction with the Torpedo development board?
    Are there any resources that can get me started and moving in the correct direction?

    A:I have a few questions:

    1. Do you see anything on the display through the boot phase?

    2. If you don't then test the screen in U-Boot to make sure that it is working?

    3. If you do see the screen working and then it goes blank, have you disabled the LCD blanking timeout?

    4. Do you see any output in the terminal that seems related to the issue that you are having?

    5. As far as support for the ADV7180, you can see what we have tested and how we have tested it in the Software Test Plan and in the Test Plan Log [1]

    6. For the NTSC support check the Software Test Plan and in the Test Plan Log [1]

    For additional resources there are many on the web [3] and we also have a section in our Linux User's Guide [2]. 

    [1] http://support.logicpd.co...d=0&EntryId=1400

    [2] http://support.logicpd.co...d=0&EntryId=1392

    [3] http://omappedia.org/wiki/Camera-ISP_Driver

     

    swl
    New Member
    New Member
    Posts:6


    --
    22 Nov 2015 11:19 PM
    Hi,

    I have the following output when I run "media-ctl -p" after an attempt to implement media-controller framework on adv7180

    - entity 16: adv7180 2-0021 (1 pad 1 link)
    type V4L2 subdev subtype Unknown
    pad0: Source v4l2_subdev_open: Failed to open subdev device node

    -> "OMAP3 ISP CCDC":0 []

    Not really sure what is wrong here.
    Is it possible to share your code changes on adv7180 as well as the board file?
    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    24 Nov 2015 06:44 AM
    The person who did that work left the company before I started working here. I don't know where to find his work. I am waiting for a colleague who worked with him to return from Thanksgiving holiday. I am hoping to have more information for you next week. Sorry for the delay.

    adam
    swl
    New Member
    New Member
    Posts:6


    --
    26 Nov 2015 05:22 AM
    Hi,

    I have encounter error with yavta when opening stream.
    I am trying to pipe adv7180->ccdc->ccdc output and use yavta to test, the following is some of the output I captured:

    DM-37x# media-ctl -p
    ...
    - entity 6: OMAP3 ISP CCDC output (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video2
    pad0: Sink
    <- "OMAP3 ISP CCDC":1 []
    ...
    - entity 16: adv7180 2-0021 (1 pad 1 link)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev8
    pad0: Source [unknown 0x0]
    -> "OMAP3 ISP CCDC":0 []

    DM-37x# media-ctl -v -r -l '"adv7180 2-0021":0->"OMAP3 ISP CCDC":0[1], "OMAP3 ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
    Opening media device /dev/media0
    Enumerating entities
    Found 16 entities
    Enumerating pads and links
    Resetting all links to inactive
    Setting up link 16:0 -> 5:0 [1]
    Setting up link 5:1 -> 6:0 [1]

    DM-37x# media-ctl -v -f '"adv7180 2-0021":0 [UYVY2X8 720x480], "OMAP3 ISP CCDC":0 [UYVY2X8 720x480]'
    Opening media device /dev/media0
    Enumerating entities
    Found 16 entities
    Enumerating pads and links
    Setting up format UYVY2X8 720x480 on pad adv7180 2-0021/0
    Format set:UYVY2X8 720x480
    Setting up format UYVY2X8 720x480 on pad OMAP3 ISP CCDC/0
    Format set:UYVY2X8 720x480
    Setting up format UYVY2X8 720x480 on pad OMAP3 ISP CCDC/0
    Format set:UYVY2X8 720x480

    DM-37x# yavta --enum-formats /dev/video2
    Device /dev/video2 opened.
    Device 'OMAP3 ISP CCDC output' on 'media' is a video capture device.
    - Available formats:
    Format 0: UYVY (59565955)
    Type: Video capture (1)
    Name:

    Video format: (00000000) 0x0 buffer size 0

    DM-37x# yavta -f UYVY -s 720x480 -n 1 --capture=1 -F /dev/video2
    Device /dev/video2 opened.
    Device 'OMAP3 ISP CCDC output' on 'media' is a video capture device.
    Video format set: UYVY (59565955) 720x480 buffer size 691200
    Video format: UYVY (59565955) 720x480 buffer size 691200
    1 buffer requested.
    length: 691200 offset: 0
    Buffer 0 mapped at address 0x402c1000.
    Unable to start streaming: Broken pipe (32).
    1 buffer released.

    DM-37x#


    Any help would be appreciated =)

    Thanks and Regards
    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    30 Nov 2015 11:51 AM
    I am not sure I can be of much help. Steven no longer works here and that project was canceled by the customer. I ask someone who worked with him, but we no longer have the ADV7180 hardware available to us to try.

    I have one more person I can ask, but he is working off site at a customer's location, so I do not know when he will be able to respond. I'll update when I have more info.


    adam
    swl
    New Member
    New Member
    Posts:6


    --
    30 Nov 2015 06:22 PM
    Thanks adam, appreciate the help.

    Do let me know if you manage to find out relevant content.

    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    01 Dec 2015 09:58 AM
    I talked with the off-site developer. Could you send us the logs for the media-ctl instructions you are using to configure the hardware pipeline? He would also like to see the output of "media-ctl -p" BEFORE you run yavata.


    adam
    swl
    New Member
    New Member
    Posts:6


    --
    02 Dec 2015 03:49 AM
    Hi adam,

    I believe there is some issue with my pipeline source, most likely at adv7180 driver level

    The following are the logs for the media-ctl instructions used:

    DM-37x# media-ctl -p
    Opening media device /dev/media0
    Enumerating entities
    Found 16 entities
    Enumerating pads and links
    Media controller API version 0.0.0

    Media device information
    ------------------------
    driver omap3isp
    model TI OMAP3 ISP
    serial
    bus info
    hw revision 0x0
    driver version 0.0.0

    Device topology
    - entity 1: OMAP3 ISP CCP2 (2 pads, 2 links)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev0
    pad0: Sink [SGRBG10 4096x4096]
    <- "OMAP3 ISP CCP2 input":0 []
    pad1: Source [SGRBG10 4096x4096]
    -> "OMAP3 ISP CCDC":0 []

    - entity 2: OMAP3 ISP CCP2 input (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video0
    pad0: Source
    -> "OMAP3 ISP CCP2":0 []

    - entity 3: OMAP3 ISP CSI2a (2 pads, 2 links)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev1
    pad0: Sink [SGRBG10 4096x4096]
    pad1: Source [SGRBG10 4096x4096]
    -> "OMAP3 ISP CSI2a output":0 []
    -> "OMAP3 ISP CCDC":0 []

    - entity 4: OMAP3 ISP CSI2a output (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video1
    pad0: Sink
    <- "OMAP3 ISP CSI2a":1 []

    - entity 5: OMAP3 ISP CCDC (3 pads, 9 links)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev2
    pad0: Sink [SGRBG10 4096x4096]
    <- "OMAP3 ISP CCP2":1 []
    <- "OMAP3 ISP CSI2a":1 []
    <- "adv7180 2-0021":0 []
    pad1: Source [SGRBG10 4096x4096]
    -> "OMAP3 ISP CCDC output":0 []
    -> "OMAP3 ISP resizer":0 []
    pad2: Source [SGRBG10 4096x4095]
    -> "OMAP3 ISP preview":0 []
    -> "OMAP3 ISP AEWB":0 [ENABLED,IMMUTABLE]
    -> "OMAP3 ISP AF":0 [ENABLED,IMMUTABLE]
    -> "OMAP3 ISP histogram":0 [ENABLED,IMMUTABLE]

    - entity 6: OMAP3 ISP CCDC output (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video2
    pad0: Sink
    <- "OMAP3 ISP CCDC":1 []

    - entity 7: OMAP3 ISP preview (2 pads, 4 links)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev3
    pad0: Sink [SGRBG10 4096x4096]
    <- "OMAP3 ISP CCDC":2 []
    <- "OMAP3 ISP preview input":0 []
    pad1: Source [YUYV 4082x4088]
    -> "OMAP3 ISP preview output":0 []
    -> "OMAP3 ISP resizer":0 []

    - entity 8: OMAP3 ISP preview input (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video3
    pad0: Source
    -> "OMAP3 ISP preview":0 []

    - entity 9: OMAP3 ISP preview output (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video4
    pad0: Sink
    <- "OMAP3 ISP preview":1 []

    - entity 10: OMAP3 ISP resizer (2 pads, 4 links)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev4
    pad0: Sink [YUYV 4095x4095 (4,6)/4086x4082]
    <- "OMAP3 ISP CCDC":1 []
    <- "OMAP3 ISP preview":1 []
    <- "OMAP3 ISP resizer input":0 []
    pad1: Source [YUYV 4096x4095]
    -> "OMAP3 ISP resizer output":0 []

    - entity 11: OMAP3 ISP resizer input (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video5
    pad0: Source
    -> "OMAP3 ISP resizer":0 []

    - entity 12: OMAP3 ISP resizer output (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video6
    pad0: Sink
    <- "OMAP3 ISP resizer":1 []

    - entity 13: OMAP3 ISP AEWB (1 pad, 1 link)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev5
    pad0: Sink
    <- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]

    - entity 14: OMAP3 ISP AF (1 pad, 1 link)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev6
    pad0: Sink
    <- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]

    - entity 15: OMAP3 ISP histogram (1 pad, 1 link)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev7
    pad0: Sink
    <- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]

    - entity 16: adv7180 2-0021 (1 pad, 1 link)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev8
    pad0: Source [unknown 0x0]
    -> "OMAP3 ISP CCDC":0 []


    DM-37x# media-ctl -v -r -l '"adv7180 2-0021":0->"OMAP3 ISP CCDC":0[1], "OMAP3 ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
    Opening media device /dev/media0
    Enumerating entities
    Found 16 entities
    Enumerating pads and links
    Resetting all links to inactive
    Setting up link 16:0 -> 5:0 [1]
    Setting up link 5:1 -> 6:0 [1]
    DM-37x# media-ctl -v -f '"adv7180 2-0021":0 [UYVY2X8 720x576], "OMAP3 ISP CCDC":0 [UYVY2X8 720x576]'
    Opening media device /dev/media0
    Enumerating entities
    Found 16 entities
    Enumerating pads and links
    Setting up format UYVY2X8 720x576 on pad adv7180 2-0021/0
    Format set: UYVY2X8 720x576
    Setting up format UYVY2X8 720x576 on pad OMAP3 ISP CCDC/0
    Format set: UYVY2X8 720x576
    Setting up format UYVY2X8 720x576 on pad OMAP3 ISP CCDC/0
    Format set: UYVY2X8 720x576
    DM-37x#
    DM-37x# yavta -f UYVY -s 720x576 --capture=5 -F /dev/video2
    Device /dev/video2 opened.
    Device `OMAP3 ISP CCDC output' on `media' is a video capture device.
    Video format set: UYVY (59565955) 720x576 buffer size 829440
    Video format: UYVY (59565955) 720x576 buffer size 829440
    8 buffers requested.
    length: 829440 offset: 0
    Buffer 0 mapped at address 0x402df000.
    length: 829440 offset: 831488
    Buffer 1 mapped at address 0x40407000.
    length: 829440 offset: 1662976
    Buffer 2 mapped at address 0x40563000.
    length: 829440 offset: 2494464
    Buffer 3 mapped at address 0x406f0000.
    length: 829440 offset: 3325952
    Buffer 4 mapped at address 0x40825000.
    length: 829440 offset: 4157440
    Buffer 5 mapped at address 0x409af000.
    length: 829440 offset: 4988928
    Buffer 6 mapped at address 0x40b52000.
    length: 829440 offset: 5820416
    Buffer 7 mapped at address 0x40c6f000.
    Unable to start streaming: Broken pipe (32).
    8 buffers released.
    DM-37x#
    DM-37x# media-ctl -p
    Opening media device /dev/media0
    Enumerating entities
    Found 16 entities
    Enumerating pads and links
    Media controller API version 0.0.0

    Media device information
    ------------------------
    driver omap3isp
    model TI OMAP3 ISP
    serial
    bus info
    hw revision 0x0
    driver version 0.0.0

    Device topology
    - entity 1: OMAP3 ISP CCP2 (2 pads, 2 links)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev0
    pad0: Sink [SGRBG10 4096x4096]
    <- "OMAP3 ISP CCP2 input":0 []
    pad1: Source [SGRBG10 4096x4096]
    -> "OMAP3 ISP CCDC":0 []

    - entity 2: OMAP3 ISP CCP2 input (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video0
    pad0: Source
    -> "OMAP3 ISP CCP2":0 []

    - entity 3: OMAP3 ISP CSI2a (2 pads, 2 links)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev1
    pad0: Sink [SGRBG10 4096x4096]
    pad1: Source [SGRBG10 4096x4096]
    -> "OMAP3 ISP CSI2a output":0 []
    -> "OMAP3 ISP CCDC":0 []

    - entity 4: OMAP3 ISP CSI2a output (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video1
    pad0: Sink
    <- "OMAP3 ISP CSI2a":1 []

    - entity 5: OMAP3 ISP CCDC (3 pads, 9 links)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev2
    pad0: Sink [UYVY2X8 720x576]
    <- "OMAP3 ISP CCP2":1 []
    <- "OMAP3 ISP CSI2a":1 []
    <- "adv7180 2-0021":0 [ENABLED]
    pad1: Source [UYVY 720x576]
    -> "OMAP3 ISP CCDC output":0 [ENABLED]
    -> "OMAP3 ISP resizer":0 []
    pad2: Source [UYVY2X8 720x575]
    -> "OMAP3 ISP preview":0 []
    -> "OMAP3 ISP AEWB":0 [ENABLED,IMMUTABLE]
    -> "OMAP3 ISP AF":0 [ENABLED,IMMUTABLE]
    -> "OMAP3 ISP histogram":0 [ENABLED,IMMUTABLE]

    - entity 6: OMAP3 ISP CCDC output (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video2
    pad0: Sink
    <- "OMAP3 ISP CCDC":1 [ENABLED]

    - entity 7: OMAP3 ISP preview (2 pads, 4 links)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev3
    pad0: Sink [SGRBG10 4096x4096]
    <- "OMAP3 ISP CCDC":2 []
    <- "OMAP3 ISP preview input":0 []
    pad1: Source [YUYV 4082x4088]
    -> "OMAP3 ISP preview output":0 []
    -> "OMAP3 ISP resizer":0 []

    - entity 8: OMAP3 ISP preview input (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video3
    pad0: Source
    -> "OMAP3 ISP preview":0 []

    - entity 9: OMAP3 ISP preview output (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video4
    pad0: Sink
    <- "OMAP3 ISP preview":1 []

    - entity 10: OMAP3 ISP resizer (2 pads, 4 links)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev4
    pad0: Sink [YUYV 4095x4095 (4,6)/4086x4082]
    <- "OMAP3 ISP CCDC":1 []
    <- "OMAP3 ISP preview":1 []
    <- "OMAP3 ISP resizer input":0 []
    pad1: Source [YUYV 4096x4095]
    -> "OMAP3 ISP resizer output":0 []

    - entity 11: OMAP3 ISP resizer input (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video5
    pad0: Source
    -> "OMAP3 ISP resizer":0 []

    - entity 12: OMAP3 ISP resizer output (1 pad, 1 link)
    type Node subtype V4L
    device node name /dev/video6
    pad0: Sink
    <- "OMAP3 ISP resizer":1 []

    - entity 13: OMAP3 ISP AEWB (1 pad, 1 link)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev5
    pad0: Sink
    <- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]

    - entity 14: OMAP3 ISP AF (1 pad, 1 link)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev6
    pad0: Sink
    <- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]

    - entity 15: OMAP3 ISP histogram (1 pad, 1 link)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev7
    pad0: Sink
    <- "OMAP3 ISP CCDC":2 [ENABLED,IMMUTABLE]

    - entity 16: adv7180 2-0021 (1 pad, 1 link)
    type V4L2 subdev subtype Unknown
    device node name /dev/v4l-subdev8
    pad0: Source [unknown 0x0]
    -> "OMAP3 ISP CCDC":0 [ENABLED]


    Regards,
    swl
    New Member
    New Member
    Posts:6


    --
    07 Dec 2015 01:13 AM
    Hi adam,

    Is possible to check with you what is a suitable pipeline if I simply need to capture image to file.

    The following is what I have been trying to use.
    DM-37x# media-ctl -v -r -l '"adv7180 2-0021":0->"OMAP3 ISP CCDC":0[1], "OMAP3 ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
    DM-37x# media-ctl -v -f '"adv7180 2-0021":0 [UYVY2X8 720x576], "OMAP3 ISP CCDC":0 [UYVY2X8 720x576]'

    Regards,
    Adam Ford
    Advanced Member
    Advanced Member
    Posts:794


    --
    07 Dec 2015 08:27 AM
    I forwarded this along to our developer, but I don't know how long it will take him to respond since he is off site at a customer location.

    adam
    You are not authorized to post a reply.