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.

We are using ti8148 based board and we are using the ADV7180 video decoder, problem in capturing the image.

Other Parts Discussed in Thread: TVP7002

Hi,

{0x00, 0x01},
{0x04, 0x57},

{0x0c, 0x12},{0x0d, 0x88},

{0x27, 0x58},
{0x17, 0x41},
{0x31, 0x02},     
{0x3D, 0xA2},
{0x3E, 0x6A},
{0x3F, 0xA0},
{0x0E, 0x80},
{0x55, 0x81},
{0x0E, 0x00},

adv7180 register settings are set with above values.

firmware which is working on evmboard we are using on adv7180 , but It is not stopping properly after running gstreamer pluggin , captured file size is always zero

Run output:

root@dm814x-evm:~# gst-launch -e omx_camera ! filesink location=abc.yuv
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

Caught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
EOS on shutdown enabled -- Forcing EOS on the pipeline



root@dm814x-evm:~# ls -l abc.yuv
-rw-r--r-- 1 root root 0 Dec 31 10:42 abc.yuv

Pleas help to resolve.

Thanks,

Sudheer.

  • Hello,

    sudheer singh1 said:

    root@dm814x-evm:~# gst-launch -e omx_camera ! filesink location=abc.yuv
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock

    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    EOS on shutdown enabled -- Forcing EOS on the pipeline

    Are you using EZSDK?

    Best Regards,

    Magarita

  • yes we are using EZSDK.

    Thanks,

    Sudheer.

  • Hello,

     There is no such element omx_camera, in default EZSDK.

    Provide a full gst debug log.

    Best Regards,
    Margarita

  • Hi,
    We are using the EZSDK on ti8148 evm board and using omx_camera element we have captured images as well. but we are facing the problem in the costumed board in which we are using ti8148 processor and adv7180.

    below are the logs when we are running the gst scripts.

    root@dm814x-evm:~# gst-launch -e omx_camera ! filesink location=abc.yuv
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock

    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    EOS on shutdown enabled -- Forcing EOS on the pipeline
    *****************************************************************
    Please let me know gst scripts for debugging, I will reply with the response log.




    Thanks,
    Sudheer.
  • Hello,

    Add --gst-debug=3 to the pipeline.
    To debug only omx_camera element add --gst-debug=omx_camera:5

    Best Regards,
    Margarita
  • Hi,
    Command :
    gst-launch -e omx_camera ! "video/x-raw-yuv, format=(fourcc)
    root@dm814x-evm:~# gst-launch -e omx_camera ! "video/x-raw-yuv, format=(fourcc)
    NV12, width=720, height=288, framerate=30/1, buffer-count-requested=4" ! omx_sc
    aler ! filesink location=auto_1600_1200p.yuv --gst-debug=3


    Response :
    0:00:00.045235700 1157 0x16050 INFO GST_INIT gstquery.c:108:_
    gst_query_initialize: init queries
    0:00:00.061486700 1157 0x16050 INFO GST_INIT gstmessage.c:73:
    _gst_message_initialize: init messages
    0:00:00.064096000 1157 0x16050 INFO GST_PLUGIN_LOADING gstplugin.c:350:
    _gst_plugin_initialize: registering 0 static plugins
    0:00:00.065366200 1157 0x16050 INFO GST_PLUGIN_LOADING gstplugin.c:255:
    gst_plugin_register_static: registered static plugin "staticelements"
    0:00:00.065464450 1157 0x16050 INFO GST_PLUGIN_LOADING gstplugin.c:257:
    gst_plugin_register_static: added static plugin "staticelements", result: 1
    0:00:00.068106900 1157 0x16050 INFO GST_REGISTRY gstregistry.c:15
    99:ensure_current_registry: reading registry cache: /home/root/.gstreamer-0.10/r
    egistry.arm.bin
    0:00:00.262915499 1157 0x16050 INFO GST_REGISTRY gstregistrybinar
    y.c:614:gst_registry_binary_read_cache: loaded /home/root/.gstreamer-0.10/regist
    ry.arm.bin in 0.194618 seconds
    0:00:00.263668400 1157 0x16050 INFO GST_REGISTRY gstregistry.c:14
    69:scan_and_update_registry: Validating plugins from registry cache: /home/root/
    .gstreamer-0.10/registry.arm.bin
    0:00:00.305739900 1157 0x16050 INFO GST_REGISTRY gstregistry.c:15
    61:scan_and_update_registry: Registry cache has not changed
    0:00:00.305935850 1157 0x16050 INFO GST_REGISTRY gstregistry.c:16
    28:ensure_current_registry: registry reading and updating done, result = 1
    0:00:00.306005750 1157 0x16050 INFO GST_INIT gst.c:792:init_p
    ost: GLib runtime version: 2.24.1
    0:00:00.306075100 1157 0x16050 INFO GST_INIT gst.c:794:init_p
    ost: GLib headers version: 2.24.1
    0:00:00.306342900 1157 0x16050 INFO GST_PIPELINE gstparse.c:299:g
    st_parse_launch_full: parsing pipeline description 'omx_camera ! video/x-raw-yuv
    ,\ format=(fourcc)NV12,\ width=720,\ height=288,\ framerate=30/1,\ buffer-count-
    requested=4 ! omx_scaler ! filesink location=auto_1600_1200p.yuv '
    0:00:00.518120750 1157 0x16050 INFO omx gstomx_videomixe
    r.c:2171:init_interfaces: GstChildProxy interface registered
    0:00:00.518372950 1157 0x16050 INFO GST_PLUGIN_LOADING gstplugin.c:859:
    gst_plugin_load_file: plugin "/usr/lib/gstreamer-0.10/libgstomx.so" loaded
    0:00:00.518462800 1157 0x16050 INFO GST_ELEMENT_FACTORY gstelementfactor
    y.c:371:gst_element_factory_create: creating element "omx_camera"
    0:00:00.527194800 1157 0x16050 INFO GST_ELEMENT_PADS gstelement.c:716
    :gst_element_add_pad:<GstBaseSrc@0x14c038> adding pad 'src'
    0:00:01.611075100 1157 0x16050 INFO GST_ELEMENT_FACTORY gstelementfactor
    y.c:371:gst_element_factory_create: creating element "omx_scaler"
    0:00:01.613321500 1157 0x16050 INFO GST_ELEMENT_PADS gstelement.c:716
    :gst_element_add_pad:<GstOmxBaseFilter@0x158048> adding pad 'sink'
    0:00:01.613456550 1157 0x16050 INFO GST_ELEMENT_PADS gstelement.c:716
    :gst_element_add_pad:<GstOmxBaseFilter@0x158048> adding pad 'src'
    0:00:01.651527050 1157 0x16050 INFO GST_PLUGIN_LOADING gstplugin.c:859:
    gst_plugin_load_file: plugin "/usr/lib/gstreamer-0.10/libgstcoreelements.so" loa
    ded
    0:00:01.651691900 1157 0x16050 INFO GST_ELEMENT_FACTORY gstelementfactor
    y.c:371:gst_element_factory_create: creating element "filesink"
    0:00:01.653506450 1157 0x16050 INFO GST_ELEMENT_PADS gstelement.c:716
    :gst_element_add_pad:<GstBaseSink@0x15c028> adding pad 'sink'
    0:00:01.654125600 1157 0x16050 INFO GST_ELEMENT_FACTORY gstelementfactor
    y.c:371:gst_element_factory_create: creating element "pipeline"
    0:00:01.654913600 1157 0x16050 INFO GST_PIPELINE ./grammar.y:568:
    gst_parse_perform_link: linking omxcamera0:(any) to omxscaler0:(any) (0/0) with
    caps "0x696c0"
    0:00:01.655052750 1157 0x16050 INFO GST_ELEMENT_FACTORY gstelementfactor
    y.c:371:gst_element_factory_create: creating element "capsfilter"
    0:00:01.655798500 1157 0x16050 INFO GST_ELEMENT_PADS gstelement.c:716
    :gst_element_add_pad:<GstBaseTransform@0x1600e0> adding pad 'sink'
    0:00:01.656021550 1157 0x16050 INFO GST_ELEMENT_PADS gstelement.c:716
    :gst_element_add_pad:<GstBaseTransform@0x1600e0> adding pad 'src'
    0:00:01.656172900 1157 0x16050 INFO GST_STATES gstbin.c:1759:gs
    t_bin_get_state_func:<pipeline0> getting state
    0:00:01.656368500 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<capsfilter0> completed state change to NULL
    0:00:01.656573200 1157 0x16050 INFO GST_ELEMENT_PADS gstutils.c:1568:
    gst_element_link_pads_full: trying to link element omxcamera0:(any) to element c
    apsfilter0:sink
    0:00:01.656664650 1157 0x16050 INFO GST_ELEMENT_PADS gstelement.c:963
    :gst_element_get_static_pad: found pad capsfilter0:sink
    0:00:01.656751650 1157 0x16050 INFO GST_PADS gstutils.c:1468:
    prepare_link_maybe_ghosting: omxcamera0 and capsfilter0 in same bin, no need for
    ghost pads
    0:00:01.657033550 1157 0x16050 INFO GST_PADS gstpad.c:1941:gs
    t_pad_link_prepare: trying to link omxcamera0:src and capsfilter0:sink
    0:00:01.657178750 1157 0x16050 INFO GST_PADS gstpad.c:2124:gs
    t_pad_link_full: linked omxcamera0:src and capsfilter0:sink, successful
    0:00:01.657347300 1157 0x16050 INFO GST_ELEMENT_PADS gstutils.c:1568:
    gst_element_link_pads_full: trying to link element capsfilter0:src to element om
    xscaler0:(any)
    0:00:01.657427450 1157 0x16050 INFO GST_ELEMENT_PADS gstelement.c:963
    :gst_element_get_static_pad: found pad capsfilter0:src
    0:00:01.657512800 1157 0x16050 INFO GST_PADS gstutils.c:1028:
    gst_pad_check_link: trying to link capsfilter0:src and omxscaler0:sink
    0:00:01.658058400 1157 0x16050 INFO GST_PADS gstutils.c:1468:
    prepare_link_maybe_ghosting: capsfilter0 and omxscaler0 in same bin, no need for
    ghost pads
    0:00:01.658189100 1157 0x16050 INFO GST_PADS gstpad.c:1941:gs
    t_pad_link_prepare: trying to link capsfilter0:src and omxscaler0:sink
    0:00:01.658483550 1157 0x16050 INFO GST_PADS gstpad.c:2124:gs
    t_pad_link_full: linked capsfilter0:src and omxscaler0:sink, successful
    0:00:01.994183300 1157 0x16050 INFO GST_PIPELINE ./grammar.y:568:
    gst_parse_perform_link: linking omxscaler0:(any) to filesink0:(any) (0/0) with c
    aps "(nil)"
    0:00:01.994289750 1157 0x16050 INFO GST_ELEMENT_PADS gstutils.c:1568:
    gst_element_link_pads_full: trying to link element omxscaler0:(any) to element f
    ilesink0:(any)
    0:00:01.994376100 1157 0x16050 INFO GST_PADS gstutils.c:1028:
    gst_pad_check_link: trying to link omxscaler0:src and filesink0:sink
    0:00:01.994495250 1157 0x16050 INFO GST_PADS gstutils.c:1468:
    prepare_link_maybe_ghosting: omxscaler0 and filesink0 in same bin, no need for g
    host pads
    0:00:01.994618450 1157 0x16050 INFO GST_PADS gstpad.c:1941:gs
    t_pad_link_prepare: trying to link omxscaler0:src and filesink0:sink
    0:00:01.994711250 1157 0x16050 INFO GST_PADS gstpad.c:2124:gs
    t_pad_link_full: linked omxscaler0:src and filesink0:sink, successful
    Setting pipeline to PAUSED ...
    0:00:01.998808700 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<filesink0> completed state change to READY
    0:00:01.998916150 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<filesink0> posting state-changed NULL to READY
    0:00:01.999168300 1157 0x16050 INFO GST_STATES gstbin.c:2492:gs
    t_bin_change_state_func:<pipeline0> child 'filesink0' changed state to 2(READY)
    successfully
    0:00:01.999286350 1157 0x16050 INFO omx gstomx_base_filt
    er.c:154:change_state:<omxscaler0> begin: changing state NULL -> READY
    0:00:02.048221400 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<omxscaler0> completed state change to READY
    0:00:02.048588700 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<omxscaler0> posting state-changed NULL to READY
    0:00:02.049162650 1157 0x16050 INFO GST_STATES gstbin.c:2492:gs
    t_bin_change_state_func:<pipeline0> child 'omxscaler0' changed state to 2(READY)
    successfully
    0:00:02.049306750 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<capsfilter0> completed state change to READY
    0:00:02.049572200 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<capsfilter0> posting state-changed NULL to READY
    0:00:02.049683850 1157 0x16050 INFO GST_STATES gstbin.c:2492:gs
    t_bin_change_state_func:<pipeline0> child 'capsfilter0' changed state to 2(READY
    ) successfully
    0:00:02.049979550 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<omxcamera0> completed state change to READY
    0:00:02.050243500 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<omxcamera0> posting state-changed NULL to READY
    0:00:02.050354250 1157 0x16050 INFO GST_STATES gstbin.c:2492:gs
    t_bin_change_state_func:<pipeline0> child 'omxcamera0' changed state to 2(READY)
    successfully
    0:00:02.050719750 1157 0x16050 INFO GST_STATES gstelement.c:231
    4:gst_element_continue_state:<pipeline0> committing state from NULL to READY, pe
    nding PAUSED, next PAUSED
    0:00:02.051449150 1157 0x16050 INFO GST_STATES gstelement.c:232
    3:gst_element_continue_state:<pipeline0> continue state change READY to PAUSED,
    final PAUSED
    0:00:02.051822500 1157 0x16050 INFO GST_STATES gstbin.c:2498:gs
    t_bin_change_state_func:<pipeline0> child 'filesink0' is changing state asynchro
    nously to PAUSED
    0:00:02.388006950 1157 0x16050 INFO omx gstomx_base_filt
    er.c:154:change_state:<omxscaler0> begin: changing state READY -> PAUSED
    0:00:02.388123400 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<omxscaler0> completed state change to PAUSED
    0:00:02.388196350 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<omxscaler0> posting state-changed READY to PAUSED
    0:00:02.388303350 1157 0x16050 INFO GST_STATES gstbin.c:2492:gs
    t_bin_change_state_func:<pipeline0> child 'omxscaler0' changed state to 3(PAUSED
    ) successfully
    0:00:02.388455700 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<capsfilter0> completed state change to PAUSED
    0:00:02.388532900 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<capsfilter0> posting state-changed READY to PAUSED

    0:00:02.388635550 1157 0x16050 INFO GST_STATES gstbin.c:2492:gs
    t_bin_change_state_func:<pipeline0> child 'capsfilter0' changed state to 3(PAUSE
    D) successfully
    0:00:02.392381199 1157 0x16050 INFO GST_EVENT gstevent.c:606:g
    st_event_new_new_segment_full: creating newsegment update 0, rate 1.000000, form
    at bytes, start 0, stop -1, position 0
    0:00:02.393492950 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<omxcamera0> completed state change to PAUSED
    0:00:02.393628450 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<omxcamera0> posting state-changed READY to PAUSED
    0:00:02.393750800 1157 0x16050 INFO GST_STATES gstbin.c:2536:gs
    t_bin_change_state_func:<pipeline0> child 'omxcamera0' changed state to 3(PAUSED
    ) successfully without preroll
    0:00:02.393872400 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<pipeline0> completed state change to PAUSED
    0:00:02.393943250 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<pipeline0> posting state-changed READY to PAUSED
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    0:00:02.396954350 1157 0x16050 INFO GST_EVENT gstevent.c:1068:
    gst_event_new_latency: creating latency event 0:00:00.000000000
    0:00:02.397137900 1157 0x16050 INFO bin gstbin.c:2368:gs
    t_bin_do_latency_func:<pipeline0> configured latency of 0:00:00.000000000
    0:00:02.397325500 1157 0x16050 INFO GST_STATES gstbin.c:2498:gs
    t_bin_change_state_func:<pipeline0> child 'filesink0' is changing state asynchro
    nously to PLAYING
    0:00:02.397428100 1157 0x16050 INFO omx gstomx_base_filt
    er.c:154:change_state:<omxscaler0> begin: changing state PAUSED -> PLAYING
    0:00:02.397502100 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<omxscaler0> completed state change to PLAYING
    0:00:02.397573400 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<omxscaler0> posting state-changed PAUSED to PLAYIN
    G
    0:00:02.732847449 1157 0x16050 INFO GST_STATES gstbin.c:2492:gs
    t_bin_change_state_func:<pipeline0> child 'omxscaler0' changed state to 4(PLAYIN
    G) successfully
    0:00:02.733028100 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<capsfilter0> completed state change to PLAYING
    0:00:02.733108500 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<capsfilter0> posting state-changed PAUSED to PLAYI
    NG
    0:00:02.733211850 1157 0x16050 INFO GST_STATES gstbin.c:2492:gs
    t_bin_change_state_func:<pipeline0> child 'capsfilter0' changed state to 4(PLAYI
    NG) successfully
    0:00:02.733548600 1157 0x16050 INFO GST_STATES gstelement.c:234
    1:gst_element_continue_state:<omxcamera0> completed state change to PLAYING
    0:00:02.733633450 1157 0x16050 INFO GST_STATES gstelement.c:235
    4:gst_element_continue_state:<omxcamera0> posting state-changed PAUSED to PLAYIN
    G
    0:00:02.733743600 1157 0x16050 INFO GST_STATES gstbin.c:2492:gs
    t_bin_change_state_func:<pipeline0> child 'omxcamera0' changed state to 4(PLAYIN
    G) successfully
    New clock: GstSystemClock
    0:00:02.748865700 1157 0x164c90 INFO omx gstomx_base_src.
    c:126:gst_omx_base_src_create_from_port:<omxcamera0> omx: play

    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    EOS on shutdown enabled -- Forcing EOS on the pipeline
  • Hello,

    Could you provide me and the another log with omx_camera debug only?

    Could you add and gstperf in the pipeline I want to see is even passed one frame before the interrupt.


    Best Regards,
    Margarita

  • Hello,

    sudheer singh1 said:
    Caught interrupt -- handling interrupt.

    Are you interrupt it here?


    Best Regards,

    Margarita

  • Hi,
    I have added but there is no extra prints except as shown below

    Command:
    gst-launch -e omx_camera ! "video/x-raw-yuv, format=(fourcc)
    root@dm814x-evm:~# gst-launch -e omx_camera ! "video/x-raw-yuv, format=(fourcc)
    NV12, width=720, height=288, framerate=30/1, buffer-count-requested=4" ! omx_sc
    aler ! filesink location=auto_1600_1200p.yuv gstperf

    Command
    gst-launch -e omx_camera ! "video/x-raw-yuv, format=(fourcc)
    root@dm814x-evm:~# gst-launch -e omx_camera ! "video/x-raw-yuv, format=(fourcc)
    NV12, width=720, height=288, framerate=30/1, buffer-count-requested=4" ! omx_sc
    aler ! filesink location=auto_1600_1200p.yuv --gst-debug=omx_camera:5

    Response:

    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock

    Caught interrupt -- handling interrupt.
    Interrupt: Stopping pipeline ...
    EOS on shutdown enabled -- Forcing EOS on the pipelin
  • Are you interrupt it here?

    Yes we are interrupting giving some 5 minutes time.
  • Hello,

    In the gst-debug log there is nothing which could point where is the problem. Per the log all the element's srcs and sinks are connected and the elements are moved to the PLAYING STATE.

    Have you verify it for example with saLoopBackFbdev demo is it working?

    Have you try it to use v4l2src instead of omx_camera, since in the default EZSDK we does not have such element?

    Best Regards,
    Margarita
  • Hi,
    We have tried saLoopBack demo but it is blocking on vidic_dequebuf.
  • Hi,
    I have a doubt, What will be the response if clock, vsync, hsync are coming to the processor and data through data lines is not reaching to the processor?
  • Hello,

    sudheer singh1 said:
    I have a doubt, What will be the response if clock, vsync, hsync are coming to the processor and data through data lines is not reaching to the processor?

    I have suspicious in the omx_camera element. You could open the .c file and to check it. 

    If the omx_camera is based on OMX VFCC component this will means that the capture takes input from the tvp7002(check the OMX user guide for more information). The OMX VFCC does not support adv7180. So in this case I would recommend you to use v4l2src element but first it would be better  to verify that the v4l2 capture driver is working by using saLoopBack demo for example.

    I would recommend you to follow this user guide for how to add external decoder:

    processors.wiki.ti.com/.../DM81xx_AM38xx_Adding_External_Decoders_to_V4L2_Capture_Driver

    Best Regards,

    Margarita

  • Hi Margarita,
    Once after conforming that the video codec lines to the processor we have cleaned the build, compiled and tied capturing the video, it was working but it was showing three video images displaying one below the other when we are playing the captured video.


    Thanks,
    Sudheer.
  • Hello,

    The content is interlaced and you are using gstreamer, right?

    Is the issue  same as here?
    e2e.ti.com/.../400346

    Best Regards,
    Margarita