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.

  • Resolved

Linux: can't capture with Omap l138 , tvp5150 and vpif

Prodigy 60 points

Replies: 8

Views: 2710

Tool/software: Linux

hello , i have omap-l138 and tvp5150 and i want to capture a frame with yavta or gstreamer (or anything that works)

my sdk version is mcsdk_1 and using linux 3.3.0.

so for that i copied some config from board config of da850 for register vpif and tvp5150.

i copied everything related to vpif and tvp514x and changed all tvp514x to tvp5150. (i attached my board config).

after these changes,vpif and tvp5150 successfully starts and i have video0 and video1 in my dev directory.

but when i run following commands it hangs:

v4l2-ctl --device /dev/video0 -s 0x4
./yavta -F /dev/video0 -c 1 -i 0

this is dmesg output for last command: (i attached full output log)

and same thing happens to gstreamer and it stuck.

what am doing wrong ? where should i look for the problem?

Regards.

tisdk_omapl138-lcdk_defconfig.txtyavta-output.txt

  • We're looking into this. Feedback will be posted here.

    Best Regards,
    Yordan

     


     Please make sure you read the forum guidelines first.

  • In reply to Yordan Kovachev:

    Hello Arash,

    Can you please try the latest Processor SDK Linux for OMAPL138?
    software-dl.ti.com/.../index_FDS.html

    best regards,
    David Zhou
  • In reply to dzhou:

    thanks but i spent a lot of time on this kernel (about one month)
    can you guide me to find problem on this version?
    again thank you
  • In reply to Arash fz:

    Hi Arash,

    Issue may be the switch from TVP514x to TVP5150.

    Those two encoder are pretty different, for instance  issue may be here related to the fact that

    -          TVP514x generates V4L2_FIELD_INTERLACED video buffer

    -          TVP5150 generates V4L2_FIELD_ALTERNATE video buffer

    Refer to https://linuxtv.org/downloads/v4l-dvb-apis/uapi/v4l/field-order.html for more details.

     

    In summary -  V4L2_FIELD_INTERLACED means both fields is presented in a single buffer

    Whereas V4L2_FIELD_ALTERNATE means each field is presented as separate buffer.

     

    The obvious issue here as far as QBUF is concerned is the buffer geometry (or size) between the two types.

    For the VPIF and TVP5150 to work together, they both need to support the same interlaced format. Please check your code around that. 

    Regards,

    Manisha

  • In reply to manisha:

    thanks for your quick reply.

    i will check what you mentioned and post the result.

  • In reply to Arash fz:

    hello
    i did some changes in vpif to accept alternate field but i still have the same issue
    after some debugging i realized vpif interrupt never get triggered and interrupt handler of vpif (vpif_channel_isr) never called.
    can you help me to find out why this is happening?
    and where should i look for source of that interrupt? (maybe some change need for tvp5150?)
    thanks again :)
  • In reply to Arash fz:

    Please read OMAPL138 TRM on conditions when VPIF generates interrupts. If the conditions aren't met, then interrupt won't be generated. Typically that may mean,  VSYNC signal not seen or the VPIF didn't receive the number of lines/pixels as configured etc. Please read the VPIF chapter of TRM with respect to interlace capture capabilities and how video signals are expected by it and conditions on which it generates the interrupts. 

  • In reply to manisha:

    thank you

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.