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.

v4l2 Capture pipelines on 8168 EVM using EZSDK (version 5_03_01_15)

Other Parts Discussed in Thread: TVP7002, TVP5147, TVP5150, THS7303, TVP5151

Hi,

Is it possible to capture and encode audio/video using v4l2 capture module and gstreamer on 8168 EVM. We were able to load the v4l2 firmwares as described in the following thread

http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/153145.aspx

However we could not run the capture pipelines as described on the wiki for 8168:

http://processors.wiki.ti.com/index.php/DM81xx_Gstreamer_Pipelines#Capture_Pipelines

Is there any document describing the steps required for capture and encode of Audio/video.

Thanks,

Amol

  • Gstreamer release (version 0.3) packaged in EZSDK version 5.03.01.15 doesn't support V4L2 src element. You will have to upgrade to gstreamer release version 0.4 from gstreamer.ti.com on your EZSDK to use V4L2 src. Find details to download and upgrade at http://processors.wiki.ti.com/index.php/DM81xx_Gstreamer_Plugin#Download

    Thanks,

    Satish

    Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

  • Hello Satish,

    I tried with gstreamer tag "TAG_GST_DM81XX_00_04_00_00" but it didn't work as well. Can I run the pipeline as below to do a loopback of the captured video over HDMI:

    gst-launch v4l2src always-copy=false queue-size=11 ! 'video/x-raw-yuv-strided,format=(fourcc)YUY2,width=1280,height=720,framerate=(fraction)60/1' ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60  ! omx_videosink sync=false

    Please provide sample pipeline for the same if possible.

    Thanks,

    Amol

  • Here is a loopback pipeline that you can try...

    gst-launch v4l2src always-copy=false queue-size=11 ! 'video/x-raw-yuv-strided,format=(fourcc)YUY2,width=1280,height=720,framerate=(fraction)60/1' ! omxbufferalloc numBuffers=11 ! gstperf ! v4l2sink min-queued-bufs=2

    Thanks

    Satish

  • Hi Satish,

    Did the above pipeline work at your end? I tried the same at my side but no luck. The omxbufferalloc element is not present in the tag version of the gstreamer we are using. Can you let us know the release with which you tested the above pipeline?

    Thanks.

    Amol

  • Hi Anmol,

     As I suggested in the earlier post you need to use the gstreamer release 0.4 (i.e. - TAG_GST_DM81XX_00_04_00_00), that version of gstreamer has the  omxbufferalloc element and other patches required for V4l2src to work.

    Thanks,

    Satish

  • Hi Satish,

    I got the capture working with the 0.4 release. However I have few queries regarding the V4l2src module:

    1) I am trying to capture a 640x480 resolution video and display it on HDMI. How would i use the scaler to provide a full screen display if my output resolution is 1080p60. (I tried to use the omx_scaler element but couldn't do it with v4l2src).

    2) I tried encoding the captured video using the following pipeline

    gst-launch-0.10  v4l2src always-copy=false queue-size=12 num-buffers=2000 ! 'video/x-raw-yuv-strided,format=(fourcc)NV12,width=1280,height=720,framerate=(fraction)60/1' ! omxbufferalloc numBuffers=12 ! omx_h264enc bitrate=5000000 ! gstperf ! filesink location=v4l2cap.h264

    The gstreamer crashed. Logs for the same are attached herewith for your reference.

    0638.logs.txt
    gst-launch-0.10  v4l2src always-copy=false queue-size=12 num-buffers=2000 ! 'video/x-raw-yuv-strided,format=(fourcc)NV12,width=1280,height=720,framerate=(fraction)60/1' ! omxbufferalloc numBuffers=12 ! omx_h264enc bitrate=5000000 ! gstperf ! filesink location=v4l2cap.h264 
    Setting pipeline to PAUSED ...
    
     Mode set is 1
    allocating 12 buffers of size:1382400!!
    allocated outbuf:0x43eb4080
    allocated outbuf:0x44005880
    allocated outbuf:0x44157080
    allocated outbuf:0x442a8880
    allocated outbuf:0x443fa080
    allocated outbuf:0x4454b880
    allocated outbuf:0x4469d080
    allocated outbuf:0x447ee880
    allocated outbuf:0x44940080
    allocated outbuf:0x44a91880
    allocated outbuf:0x44be3080
    allocated outbuf:0x44d34880
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    VPSS_FVID2: queue timeout
    kernel BUG at drivers/media/video/ti81xx/ti81xxvin_main.c:829!
    Unable to handle kernel NULL pointer dereference at virtual address 00000000
    pgd = c0f4c000
    [00000000] *pgd=80f61031, *pte=00000000, *ppte=00000000
    Internal error: Oops: 817 [#1]
    last sysfs file: /sys/devices/platform/vpss/graphics0/enabled
    Modules linked in: bufferclass_ti omaplfb pvrsrvkm ti81xxhdmi ti81xxvin tvp7002 ti81xxvo ti81xxfb vpss syslink ipv6
    CPU: 0    Tainted: G        W    (2.6.37 #1)
    PC is at __bug+0x20/0x2c
    LR is at release_console_sem+0x198/0x1ac
    pc : [<c00488d4>]    lr : [<c006c670>]    psr: 20000013
    sp : c46e5b90  ip : c46e5ac8  fp : c46e5b9c
    r10: 00000000  r9 : c46e5e08  r8 : c46e5e08
    r7 : c379c104  r6 : c0f24b80  r5 : c379c000  r4 : c43eb400
    r3 : 00000000  r2 : 00000001  r1 : 0000a058  r0 : 00000045
    Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    Control: 10c5387d  Table: 80f4c019  DAC: 00000015
    Process gst-launch-0.10 (pid: 1461, stack limit = 0xc46e42e8)
    Stack: (0xc46e5b90 to 0xc46e6000)
    5b80:                                     c46e5bbc c46e5ba0 bf1cb1dc c00488c0
    5ba0: c0f24b80 20000013 00000000 c379c104 c46e5be4 c46e5bc0 c0284390 bf1cb138
    5bc0: 00000001 c379c000 c4b41300 c46e5e08 bf1cc404 c46e5e08 c46e5c4c c46e5be8
    5be0: bf1caf24 c0284020 00000000 00000009 00000001 00000000 00000000 00000000
    5c00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
    5c20: 44a91880 00000000 00000000 00000000 bf1cae8c 00000000 c044560f c37e6200
    5c40: c46e5df4 c46e5c50 c02790bc bf1cae98 003fdb70 00000000 003e8060 00000000
    5c60: 0040d398 00000000 003e8c80 00000001 005abf20 003e8b90 00000000 00000000
    5c80: 0040d358 003e8c60 c46e5cb4 c46e5c98 c00c04d8 c00be4f8 00000013 c4b41080
    5ca0: c02d9d58 00000001 c46e5cd4 c46e5cb8 c00c1874 c00c046c 00000000 00000101
    5cc0: 00000024 00000001 c46e5ce4 c46e5cd8 c04b4c98 c04b4cb8 37acb24b 00000002
    5ce0: 00000000 00000000 c46e5d1c c46e5cf8 c0068538 c0193550 c4bdd384 c4bdc000
    5d00: c04b4c50 00000001 c04b4c98 c04b4cb8 37acb24b 00000002 00000000 00000000
    5d20: c46e5d54 c46e5d30 c0068538 c0193550 c4bdd384 c4a6f8c0 c4bdd340 c4bdd340
    5d40: 00000000 00000000 fffffffd 00000000 c46e5d84 c46e5d60 c036fa0c c0040170
    5d60: c3af401c c4bdd340 00000015 c4a6f8c0 c46e4000 c044560f c4bbfd80 c4b41300
    5d80: c036fa6c c036f9e4 00000000 c46e5d98 c46e5db4 c46e5da0 c036fa94 c036fa5c
    5da0: c0fe3000 c4bdd340 c46e5ddc c46e5db8 c036c194 c00698d0 c46e4000 7fffffff
    5dc0: c893c010 7fffffff c893c004 00000044 00000000 c044560f 00000000 00000000
    5de0: 00000000 c46e5e08 c46e5eb4 c46e5df8 c0277b58 c0277d74 c0277d68 000b7e40
    5e00: c4bbfd80 00000003 00000009 00000001 00000000 00000000 00000000 00000000
    5e20: 00000000 00000000 00000000 00000000 00000000 00000000 00000002 44a91880
    5e40: 00000000 00000000 00000000 c46e5e58 bf0743b0 bf0727a4 bf074450 bf0726f0
    5e60: bf086910 c8abe000 00000000 ce005300 c46e5ea4 c46e5e80 bf081234 bf0726f0
    5e80: 00000000 c018f361 40145d50 c4bbfd80 000b7e40 bf1cd228 c044560f 000b7e40
    5ea0: c46e4000 00000000 c46e5ecc c46e5eb8 c0277ccc c0277880 c4bbfd80 c37e6200
    5ec0: c46e5ef4 c46e5ed0 c0276d0c c0277ca8 00000000 c4bbfd80 0000001d 0000001d
    5ee0: 000b7e40 c46e4000 c46e5f04 c46e5ef8 c00d10e4 c0276c30 c46e5f74 c46e5f08
    5f00: c00d17f4 c00d10c8 0013f000 c0fe3000 00000d74 00000000 003ea100 0013fd70
    5f20: 04000001 0013fd70 00000001 00000000 0013fd74 00000081 c46e5fa4 c46e5f48
    5f40: c0092c24 c0092044 00000001 00000000 000b7e40 c044560f 0000001d c4bbfd80
    5f60: c46e4000 00000000 c46e5fa4 c46e5f78 c00d188c c00d1300 00000000 00000001
    5f80: 04000001 00000009 0000034c 4050b2d0 00000036 c0044f48 00000000 c46e5fa8
    5fa0: c0044da0 c00d1840 00000009 0000034c 0000001d c044560f 000b7e40 44a91880
    5fc0: 00000009 0000034c 4050b2d0 00000036 0010d620 bed33d04 0000034c 40145c2c
    5fe0: 000b7de8 40145a70 404f0590 403caaec 60000010 0000001d 00000000 00000101
    Backtrace: 
    [<c00488b4>] (__bug+0x0/0x2c) from [<bf1cb1dc>] (ti81xxvin_buffer_queue+0xb0/0xe8 [ti81xxvin])
    [<bf1cb12c>] (ti81xxvin_buffer_queue+0x0/0xe8 [ti81xxvin]) from [<c0284390>] (videobuf_qbuf+0x37c/0x43c)
     r7:c379c104 r6:00000000 r5:20000013 r4:c0f24b80
    [<c0284014>] (videobuf_qbuf+0x0/0x43c) from [<bf1caf24>] (vidioc_qbuf+0x98/0xb4 [ti81xxvin])
     r9:c46e5e08 r8:bf1cc404 r7:c46e5e08 r6:c4b41300 r5:c379c000
    r4:00000001
    [<bf1cae8c>] (vidioc_qbuf+0x0/0xb4 [ti81xxvin]) from [<c02790bc>] (__video_do_ioctl+0x1354/0x3f34)
     r7:c37e6200 r6:c044560f r5:00000000 r4:bf1cae8c
    [<c0277d68>] (__video_do_ioctl+0x0/0x3f34) from [<c0277b58>] (__video_usercopy+0x2e4/0x428)
    [<c0277874>] (__video_usercopy+0x0/0x428) from [<c0277ccc>] (video_ioctl2+0x30/0x38)
    [<c0277c9c>] (video_ioctl2+0x0/0x38) from [<c0276d0c>] (v4l2_ioctl+0xe8/0x11c)
     r5:c37e6200 r4:c4bbfd80
    [<c0276c24>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:c46e4000 r8:000b7e40 r7:0000001d r6:0000001d r5:c4bbfd80
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:4050b2d0 r5:0000034c r4:00000009
    Code: e1a01000 e59f000c eb0c8c61 e3a03000 (e5833000) 
    ---[ end trace 58eb0402ed7038ed ]---
    
    

    Is it also possible to capture audio using gstreamer. Can you provide some example pipelines for the same as well.

    Thanks.

    Amol

  • Hi

    ....Need some help as well here please

    I would like to split the Captured video and display it on the HDMI ,  and stream it.

    I have each scenario working separately 

    A. Capture and display locally on HDMI: (because I am capturing on the Component using a sony camera 1080i50 the fps is 25 buy this still works)

    gst-launch -v v4l2src device="/dev/video0" always-copy=false queue-size=11 ! 'video/x-raw-yuv-strided,format=(fourcc)YUY2,width=1920,height=1080,framerate=(fraction)60/1' ! omxbufferalloc numBuffers=11 ! gstperf !  v4l2sink device="/dev/video1" show-preroll-frame=false sync=false min-queued-bufs=2

    B. Stream the Capture over RTP/UDP

    gst-launch v4l2src always-copy=false queue-size=12 ! 'video/x-raw-yuv-strided,format=(fourcc)YUY2,width=1920,height=1080,framerate=(fraction)60/1' !  omxbufferalloc numBuffers=12 ! omx_noisefilter ! omx_h264enc force-idr-period=300 i-period=100 bitrate=12000000 ! h264parse ! rtph264pay ! udpsink host=172.17.25.230 port=1234

    I have used the testsrc to stream and display locally using this also with a time overlay (this works).

    gst-launch -v videotestsrc !'video/x-raw-yuv, width=(int)640, height=(int)480' !  timeoverlay halign=left valign=bottom text="Stream time:" shaded-background=true ! tee name=t ! omx_scaler ! 'video/x-raw-yuv,width=1920,height=1080' !  v4l2sink show-preroll-frame=false sync=false min-queued-bufs=2 t. ! omx_h264enc ! h264parse ! rtph264pay ! udpsink host=172.17.25.70 port=1234

    C. My script that does not work (I have moved the t. around and used Queue but to no success aswell )

    gst-launch v4l2src device="/dev/video0" always-copy=false queue-size=12 ! 'video/x-raw-yuv-strided,format=(fourcc)YUY2,width=1920,height=1080,framerate=(fraction)60/1' ! tee name=t t.! omxbufferalloc numBuffers=12 ! gstperf ! v4l2sink device="/dev/video1" show-preroll-frame=false sync=false min-queued-bufs=2 t. ! omxbufferalloc numBuffers=12 ! omx_noisefilter ! omx_h264enc force-idr-period=300 i-period=100 bitrate=12000000 ! h264parse ! rtph264pay ! udpsink host=172.17.25.230 port=1234

     Additional info

    Using Tag 00.04. Gstreamer

    Using EZSDK 5.03.01.15

    Using the V4L startup in rc5.d to load the correct .ko drivers

    Setting up my Videos like so :

    echo 0 > /sys/devices/platform/vpss/display0/enabled
    echo 0 > /sys/devices/platform/vpss/video0/enabled
    echo 0 > /sys/devices/platform/vpss/graphics0/enabled
    echo 1:dvo2 > /sys/devices/platform/vpss/graphics0/nodes
    echo hdcompmux:hdmi > /sys/devices/platform/vpss/video1/nodes
    echo 1 > /sys/devices/platform/vpss/graphics0/enabled
    echo 1 > /sys/devices/platform/vpss/video0/enabled

    Out put trace

    VPSS_DCTRL: failed to disable the venc.
    VPSS_DCTRL: failed to disable hdmi venc
    VPSS_VIDEO: please open /dev/video1 node first.
    VPSS_VIDEO: please open /dev/video1 node first.
    Setting pipeline to PAUSED ...

    ** (gst-launch-0.10:1448): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed

    ** (gst-launch-0.10:1448): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed

    ** (gst-launch-0.10:1448): CRITICAL **: gst_v4l2sink_sync_flip: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9504 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000001 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    VPSS_CAPTURE: height(1) can't be odd for YUV420 format!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9504 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000001 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    VPSS_CAPTURE: height(1) can't be odd for YUV420 format!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9504 r4:0000c000
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000001 r4:00008000
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9504 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000002 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    VPSS_CAPTURE: height(1) can't be odd for YUV420 format!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9504 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000002 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    VPSS_CAPTURE: height(1) can't be odd for YUV420 format!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9504 r4:0000c000
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000002 r4:00008000
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000001 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000001 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00008000
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000001 r4:00008000
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000002 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000002 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00008000
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000002 r4:00008000
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000001 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000001 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00008000
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000001 r4:00008000
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000002 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00000001
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000002 r4:00000001
    VPSS_CAPTURE: width(1) can't be odd!!
    Division by zero in kernel.
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000001 r6:00000000 r5:c78e9604 r4:00008000
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c004934c>] (__div0+0x18/0x20)
    [<c0049334>] (__div0+0x0/0x20) from [<c018d984>] (Ldiv0+0x8/0x10)
    [<bf1c9ce0>] (ti81xxvin_check_format+0x0/0x31c [ti81xxvin]) from [<bf1ca018>] (vidioc_try_fmt_vid_cap+0x1c/0x20 [ti81xxvin])
    [<bf1c9ffc>] (vidioc_try_fmt_vid_cap+0x0/0x20 [ti81xxvin]) from [<c027af94>] (__video_do_ioctl+0xe48/0x3f34)
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:beab8eec r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:0000001e r5:00000002 r4:00008000

     Mode set is 12
    allocating 6 buffers of size:4147200!!
    allocated outbuf:0x44e23080
    allocated outbuf:0x45217880------------[ cut here ]------------
    WARNING: at kernel/softirq.c:159 local_bh_enable+0x54/0xc4()
    Modules linked in: bufferclass_ti omaplfb pvrsrvkm ti81xxhdmi ti81xxvin tvp7002 ti81xxvo ti81xxfb vpss syslink ipv6
    Backtrace:
    [<c0048b58>] (dump_backtrace+0x0/0x110) from [<c036dcbc>] (dump_stack+0x18/0x1c)
     r7:00000000 r6:c00712d0 r5:c0430e95 r4:0000009f
    [<c036dca4>] (dump_stack+0x0/0x1c) from [<c006bd54>] (warn_slowpath_common+0x54/0x6c)
    [<c006bd00>] (warn_slowpath_common+0x0/0x6c) from [<c006bd90>] (warn_slowpath_null+0x24/0x2c)
     r9:c04dd60c r8:d088c800 r7:0000000e r6:cca8fb00 r5:c04b730c
    r4:c0508900
    [<c006bd6c>] (warn_slowpath_null+0x0/0x2c) from [<c00712d0>] (local_bh_enable+0x54/0xc4)
    [<c007127c>] (local_bh_enable+0x0/0xc4) from [<c0065c58>] (omap_mbox_msg_send+0xcc/0xdc)
     r5:c04b730c r4:00000000
    [<c0065b8c>] (omap_mbox_msg_send+0x0/0xdc) from [<c02aee74>] (notify_shm_drv_send_event+0x1c8/0x208)
     r5:00000001 r4:00000000
    [<c02aecac>] (notify_shm_drv_send_event+0x0/0x208) from [<c02ac604>] (notify_send_event+0x114/0x26c)
    [<c02ac4f0>] (notify_send_event+0x0/0x26c) from [<bf18c610>] (vps_fvid2_queue+0x94/0x1cc [vpss])
    [<bf18c57c>] (vps_fvid2_queue+0x0/0x1cc [vpss]) from [<bf1955b0>] (capture_queue+0x50/0x64 [vpss])
     r8:bf1cc404 r7:60000013 r6:cb79af80 r5:00000000 r4:ccb0f000
    [<bf195560>] (capture_queue+0x0/0x64 [vpss]) from [<bf1cb1c8>] (ti81xxvin_buffer_queue+0x9c/0xe8 [ti81xxvin])
     r5:cb7b8800 r4:ccb0f000
    [<bf1cb12c>] (ti81xxvin_buffer_queue+0x0/0xe8 [ti81xxvin]) from [<c0285e5c>] (videobuf_streamon+0x80/0xd0)
     r7:60000013 r6:cb7b89c4 r5:cb7b8904 r4:cb79af80
    [<c0285ddc>] (videobuf_streamon+0x0/0xd0) from [<bf1cac40>] (vidioc_streamon+0x244/0x400 [ti81xxvin])
     r7:cb7b4400 r6:00000001 r5:cb7b8800 r4:cb7b8904
    [<bf1ca9fc>] (vidioc_streamon+0x0/0x400 [ti81xxvin]) from [<c027b764>] (__video_do_ioctl+0x1618/0x3f34)
     r6:40045612 r5:00000000 r4:00000001
    [<c027a14c>] (__video_do_ioctl+0x0/0x3f34) from [<c0279f3c>] (__video_usercopy+0x2e4/0x428)
    [<c0279c58>] (__video_usercopy+0x0/0x428) from [<c027a0b0>] (video_ioctl2+0x30/0x38)
    [<c027a080>] (video_ioctl2+0x0/0x38) from [<c02790f0>] (v4l2_ioctl+0xe8/0x11c)
     r5:cb7b4400 r4:cb79a900
    [<c0279008>] (v4l2_ioctl+0x0/0x11c) from [<c00d10e4>] (vfs_ioctl+0x28/0x44)
     r9:cb7e4000 r8:00020e30 r7:0000001e r6:0000001e r5:cb79a900
    r4:00000000
    [<c00d10bc>] (vfs_ioctl+0x0/0x44) from [<c00d17f4>] (do_vfs_ioctl+0x500/0x540)
    [<c00d12f4>] (do_vfs_ioctl+0x0/0x540) from [<c00d188c>] (sys_ioctl+0x58/0x7c)
    [<c00d1834>] (sys_ioctl+0x0/0x7c) from [<c0044da0>] (ret_fast_syscall+0x0/0x30)
     r8:c0044f48 r7:00000036 r6:00020e18 r5:0001ff1c r4:00192188
    ---[ end trace 691f52585517e328 ]---

    allocated outbuf:0x4560c080
    allocated outbuf:0x45a00880
    allocated outbuf:0x45df5080
    allocated outbuf:0x461e9880
    allocating 6 buffers of size:4147200!!
    allocated outbuf:0x465de080
    allocated outbuf:0x469d2880
    allocated outbuf:0x46dc7080
    allocated outbuf:0x471bb880
    allocated outbuf:0x475b0080
    allocated outbuf:0x479a4880
    Pipeline is live and does not need PREROLL ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    Caught SIGSEGV accessing address 0x29
    Spinning.  Please run 'gdb gst-launch 1448' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

    I can't dump the core for some reason or I know not where to find it?

    Thanks

    Robin

  • Hi Robin,Amol,

    There are stability issues when capturing and encoding at 60fps.

    Please try it at 30fps -

    gst-launch v4l2src device="/dev/video0" always-copy=false queue-size=12 decimate=2 ! 'video/x-raw-yuv-strided,format=(fourcc)YUY2,width=1920,height=1080,framerate=(fraction)30/1' .! omxbufferalloc numBuffers=12 ! tee name=t ! queue ! gstperf ! v4l2sink device="/dev/video1" show-preroll-frame=false sync=false min-queued-bufs=2 t. ! queue ! omx_noisefilter ! omx_h264enc force-idr-period=300 i-period=100 bitrate=12000000 ! h264parse output-format=0 ! rtph264pay ! udpsink host=172.17.25.230 port=1234

    Regards,

    Prashant.

  • Hi

    Thanks this works 

    (I think because the camera is 1080i50 the frame rate now comes out at 12.5fps not great but it works for now ) why did you insert decimate into the script 

    Cheers

    Robin

  • Hi,

    I also installed gst-openmax-GST_DM81XX_00_04_00_00 by downloading it and make gstomx_clean, gstomx and gstomx_install.

    However, I still do not have omxbufferalloc elements.

    Anyone could share the knowledge about how to fix it?

    Thanks in advance,

    Jun

  • Did you export the gstreamer environment variables to point to the new gst installation before executing the pipeline on the target.

    For e.g. if the gstreamer is installed at /opt/ in your target then you can export the following environment variable.

    export GST_REGISTRY=/tmp/gst_registry.bin
    export LD_LIBRARY_PATH=/opt/gstreamer/lib
    export GST_PLUGIN_PATH=/opt/gstreamer/lib/gstreamer-0.10
    export PATH=/opt/gstreamer/bin:$PATH
    export GST_PLUGIN_SCANNER=/opt/gstreamer/libexec/gstreamer-0.10/gst-plugin-scanner =

    -Amol

  • Hi Amol,

    Thanks for your reply.

    Now my v4l2src can work on the board now.

    Best,

    Jun

  • All,

      I am trying the loopback pipeline suggested earlier but I can not get it to work.

    gst-launch v4l2src always-copy=false queue-size=11 ! 'video/x-raw-yuv-strided,format=(fourcc)YUY2,width=1920,height=1080,framerate=(fraction)30/1' ! omx
    bufferalloc numBuffers=11 ! gstperf ! v4l2sink min-queued-bufs=2
    output:
    Setting pipeline to PAUSED ...

    ** (gst-launch-0.10:1422): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed

    ** (gst-launch-0.10:1422): CRITICAL **: gst_v4l2sink_sync_rotation: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed

    ** (gst-launch-0.10:1422): CRITICAL **: gst_v4l2sink_sync_flip: assertion `v4l2_ioctl (fd, VIDIOC_S_CTRL, &control) >= 0' failed
    ERROR: Pipeline doesn't want to pause.
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Device '/dev/video0' does not support video capture
    Additional debug info:
    gstv4l2object.c(2179): gst_v4l2_object_set_format (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Call to G_FMT failed: (Invalid argument)
    Setting pipeline to NULL ...

    Caught SIGSEGV accessing address (nil)
    Spinning. Please run 'gdb gst-launch 1422' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
    
    

    Using Tag 00.04. Gstreamer

    Using EZSDK 5.03.01.15

    Using the load-hd-v4l2-firmware.sh startup in rc5.d I have removed load-hd-firmware.sh from rc5.d

    lsmod:

    Module                  Size  Used by
    bufferclass_ti 4946 0
    omaplfb 10794 0
    pvrsrvkm 155450 2 bufferclass_ti,omaplfb
    ti81xxhdmi 14478 0
    ti81xxvin 20364 0
    tvp7002 6405 1
    ti81xxvo 20143 0
    ti81xxfb 21771 1
    vpss 72346 5 omaplfb,ti81xxhdmi,ti81xxvin,ti81xxvo,ti81xxfb
    syslink 1113011 0
    ipv6 209855 14
    
    

    Am I missing something?

    Thanks,

    Greg

  • Hi Greg

    Looks Fine except the way you have pasted your Forum post looks like you are missing data like the copy and paste did not wrap the text so i can't see the whole string.

    Are you capturing from Component i.e.( RGB connectors) and displaying on the HDMI ? Are you using DM8168 EVM ?

    If so ( Check the Video Capture Driver user guide 04.00.01.13) and ( Video  Driver user guide 04.00.01.14)

    Reset the board check the Video modules are loaded in the correct order and that you have copied the .KO modules from your build output to target FS where the same modules reside or are loaded from. syslink and cmemk drivers aswell. TP7002

    Make sure you switch on your graphics planes and redirect  V4L2 vpss driver /dev/video1 to the HDMI. using the echo commands I used above.

    If you are capturing from a camera make sure that the height and width match, you can also insert a -v i.e. "gst-launch -v ....." and it will tell you that what the capture driver supports . I know If I try run this pipeline twice I get the same error as you. Something to do with the Vpss driver not closing when I destroy the pipeline.

    Also test with videotestsrc , after you have it working replace with the v4l2 capture.also check that the format is correct. try this:

    gst-launch -v v4l2src device="/dev/video0" always-copy=false queue-size=11 ! 'video/x-raw-yuv-strided,format=(fourcc)YUY2,width=1920,height=1080,framerate=(fraction)60/1' ! omxbufferalloc numBuffers=11 ! gstperf !  v4l2sink device="/dev/video1" show-preroll-frame=false sync=false min-queued-bufs=2


    After all my typing which I will not delete If you look in the Trace above my format is incorrect and the driver tries all formats one after the other until it gets a match = 12.

    Hope this helps

    Cheers

    Robin

  • Hi Robin,

    The decimate=n option would drop every nth frame captured. Hence setting decimate to 2 would half the framerate.

    Another thing you could try is to reduce the bitrate of the encoder to say 4 or 6Mbps, while keeping the full framerate.

    There are stability issues with v4l2 capture, when the DDR is heavily loaded. We are looking at this right now. And shall let you know, once we have a fix.

    -Prashant.

  • Hello

    this is my server side Gstreamer program , i'll really apriceate if someone can help me with the client side , i'm having a problem ..

    gst-launch v4l2src always-copy=false queue-size=12 num-buffers=2000 ! 'video/x-raw-yuv-strided,format=(fourcc)NV12,width=1280,height=720,framerate=(fraction)25/1' ! omxbufferalloc numBuffers=12 ! omx_h264enc bitrate=5000000 ! gstperf ! udpsink host=192.168.16.182  port=5000 sync=false

    thanks .

  • Hi

    Output a list of all the plugins to a file

    "gst-inspect > file.txt"

    Check out whats available.  ie rtph264pay (which is a payloader) you can search for descriptions on freedesktop.org (search in google )

    type "gst-inspect  rtph264pay" this will give you a description of what you can set in the plugin and compatability between pad src and sinks.

    h264parse is a parser for h264 which does chunking  rtph264 (checks for frame boundries etc)will put it in realtime packets and udp then sends it out

    So basicaly:

    your server should look like this:

    gst-launch v4l2src always-copy=false queue-size=12 ! 'video/x-raw-yuv-strided,format=(fourcc)YUY2,width=1920,height=1080,framerate=(fraction)60/1' !  omxbufferalloc numBuffers=12 ! omx_noisefilter ! omx_h264enc force-idr-period=300 i-period=100 bitrate=12000000 ! h264parse ! rtph264pay ! udpsink host=172.17.25.230 port=1234

    your client side should do the same in reverse using depay... etc

    "use gst-launch -v ......." to get a trace out.

    Robin

  • Hi all,

    Is it possible to capture video using a webcam connected via USB? Has anyone tried the same. I have Microsoft Lifecam VX2000 that is connected to the EVM over USB. Can I capture video using this webcam. I tried few pipelines but no luck yet?

    Regards.

    Amol

  • Somebody know where /dev/video0 create in linux kernel ??

    I have a target based on DM8148 , but tvp7002 is connected to the cpu to video1 .

    i want to redirect the video1 to virtual /dev/video0 for capture using v4l2 .

    someone has an idea ? or can help me ?

  • Hi Prashant,

    Could you please share us any update regarding this stability issue with high frame rate?

    I opened a new thread here, and expecting your input here:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/186865.aspx

     

    Regards,

     

    Jun  

  • Hi Robin

    Do you have any luck to get a higher capture rate?

    The best I got is 1080@15 when streaming over network.

    Regards,

    Jun

  • Jun,

    What is your update regarding capturing video at a higher data rate?  Anything new?

    Thank you.

    -Mike

  • Hello Mike,

    You could try with the latest EZSDK 5.05.02.

    Best Regards,

    Margarita

  • hi satish,

    I am using dm8168 with daughter card, unable to capture video through composite input.

    gst-launch v4l2src always-copy=false queue-size=11 ! 'video/x
    -raw-yuv-strided,format=(fourcc)YUY2,width=1280,height=720,framerate=(fraction)6
    0/1' ! omxbufferalloc numBuffers=11 ! gstperf ! v4l2sink min-queued-bufs=2
    Setting pipeline to PAUSED ...
    ERROR: Pipeline doesn't want to pause.
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0: Cannot identify device '/dev/video1'.
    Additional debug info:
    v4l2_calls.c(493): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Sink:v4l2sink0:
    system error: No such file or directory
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@dm816x-evm:~#

    and also there is no video file in /dev directory.

    Thanks and regards,

    Asif.

  • Hello Asif,

    YOu'd have to load the ti81xxvin.ko kernel module first.

    -Prashant.

  • hi prashant,

    thanks for the reply, where i get  ti81xxvin.ko and how to build it?

    my board is booting fine for both sd card and  tftp,nfs. 

    but unable to encode,decode and loopback  video.

     

    I have connected the hi focus  pal camera at composite input as shown in below figure.

     

    i followed the below steps.

    Video initialization

    echo 0 > /sys/devices/platform/vpss/graphics0/enabled 
    echo 0 > /sys/devices/platform/vpss/graphics1/enabled
    echo 0 > /sys/devices/platform/vpss/graphics2/enabled

    Capture encode demo

    This demo is the capture-encode demo included in the EZSDK. It takes an input video streaming from the component input (case 720p) of the daughter card(marked as J5J6J7) and encodes it in H264, the output is displayed through the HDMI output.

    echo 0 > /sys/devices/platform/vpss/display0/enabled
    echo 720p-60 >/sys/devices/platform/vpss/display0/mode
    echo 1 > /sys/devices/platform/vpss/display0/enabled
    ./usr/share/ti/ti-omx/capture_encode_a8host_debug.xv5T -o sample.h264 -m 720p -f 60 -b 1000000 -d 0 -n 1000

     

     

    Thanks and regards,

    Asif

     

  • Hi Asif,

    For V4L2 capture display you need to use load-hd-v4l2-firmware.sh script which inserts all .kos required.

    Please copy targetfs/usr/share/ti/ti-media-controller-utils/load-hd-v4l2-firmware.sh to targetfs/etc/init.d/load-hd-firmware.sh for V4L2 and 

    copy targetfs/usr/share/ti/ti-media-controller-utils/load-hd-firmware.sh to targetfs/etc/init.d//load-hd-firmware.sh for OMX firmware.

    Capture_Encode demo uses OMX firmware for capture and display. 

    EZSDK05.05.02.00 is the latest available sdk with many bug-fixes. Please use this version.

    Can you please share the logs from booting to capture_encode execution?

    Ram

  • hi ram,

    thanks for the reply,

    yes i copied load-hd-v4l2-firmware.sh and  load-hd-firmware.sh was already present .

    please find the below details for you referrence.

    root@dm816x-evm:~# ./capture_encode_a8host_debug.xv5T -o sample.h264 -m 720p -f
    60 -b 1000000 -d 0 -n 1000
    -sh: ./capture_encode_a8host_debug.xv5T: not found
    root@dm816x-evm:~# cd /usr/share/ti/ti-omx/
    root@dm816x-evm:/usr/share/ti/ti-omx# ls
    adec_snt_a8host_debug.xv5T
    audio_encode_a8host_debug.xv5T
    c6xtest_a8host_debug.xv5T
    capture_encode_a8host_debug.xv5T
    decode_a8host_debug.xv5T
    decode_display_a8host_debug.xv5T
    decode_mosaicdisplay_a8host_debug.xv5T
    display_a8host_debug.xv5T
    encode_a8host_debug.xv5T
    root@dm816x-evm:/usr/share/ti/ti-omx# ./capture_encode_a8host_debug.xv5T -o samp
    le.h264 -m 720p -f 60 -b 1000000 -d 0 -n 1000
    output file: sample.h264
    bit_rate: 1000000
    frame_rate: 60
    num_frames: 1000
    mode: 720p
    display_id: 0
     Capture-Encode example
    ===============================
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 761 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    Segmentation fault
    root@dm816x-evm:/usr/share/ti/ti-omx# ls /etc/init.d/
    alignment.sh              load-hd-v4l2-firmware.sh  save-rtc.sh
    alsa-state                matrix-gui-e              sendsigs
    banner                    modutils.sh               single
    bootmisc.sh               mountall.sh               sysfs.sh
    checkroot                 mountnfs.sh               syslog
    dbus-1                    networking                syslog.busybox
    devpts.sh                 populate-volatile.sh      telnetd
    finish.sh                 psplash                   thttpd
    functions                 pvr-init                  udev
    gplv3-notice              ramdisk                   udev-cache
    halt                      rc                        umountfs
    hostname.sh               rcS                       umountnfs.sh
    hwclock.sh                reboot                    urandom
    load-hd-firmware.sh       rmnologin
    root@dm816x-evm:/usr/share/ti/ti-omx#

    thanks and regards,

    Asif.

  • Hi Asif,

    In init.d only load-hd-firmware.sh should be present

    For cpature_encode(OMX based) , please do following

    cp targetfs/usr/share/ti/ti-media-controller-utils/load-hd-firmware.sh targetfs/etc/init.d/load-hd-firmware.sh and reboot

    and then execute capture_encode example.

    Let me know the result.

    Ram

  • hi ram,

    unable to capture...

    root@dm816x-evm:~# echo 0 > /sys/devices/platform/vpss/graphics0/enabled
    root@dm816x-evm:~# echo 0 > /sys/devices/platform/vpss/graphics1/enabled
    root@dm816x-evm:~# echo 0 > /sys/devices/platform/vpss/graphics2/enabled
    VPSS_GRPX : please open fb2 node first.
    root@dm816x-evm:~# echo 0 > /sys/devices/platform/vpss/display0/enabled
    root@dm816x-evm:~# echo 720p-60 >/sys/devices/platform/vpss/display0/mode
    root@dm816x-evm:~# echo 1 > /sys/devices/platform/vpss/display0/enabled
    root@dm816x-evm:~# cd /usr/share/ti/ti-omx/
    root@dm816x-evm:/usr/share/ti/ti-omx# ls
    adec_snt_a8host_debug.xv5T
    audio_encode_a8host_debug.xv5T
    c6xtest_a8host_debug.xv5T
    capture_encode_a8host_debug.xv5T
    decode_a8host_debug.xv5T
    decode_display_a8host_debug.xv5T
    decode_mosaicdisplay_a8host_debug.xv5T
    display_a8host_debug.xv5T
    encode_a8host_debug.xv5T
    root@dm816x-evm:/usr/share/ti/ti-omx# ./capture_encode_a8host_debug.xv5T -o samp
    le.h264 -m 720p -f 60 -b 1000000 -d 0 -n 1000
    output file: sample.h264
    bit_rate: 1000000
    frame_rate: 60
    num_frames: 1000
    mode: 720p
    display_id: 0
     Capture-Encode example
    ===============================
     OMX_Init completed
     UIAClient is ready to send a UIA configuration command
    UIAClient received UIA_CONFIGURE_ACK
    UIAClient is done sending requests
    UIAClient is ready to send a UIA configuration command
    UIAClient received UIA_CONFIGURE_ACK
    UIAClient is done sending requests
     openeing file
     capture compoenent is created
     control TVP compoenent is created
    Buffer Size computed: 1382400
    set input port params (width = 1280, height = 720)enable capture output port
    got eventEnable/Disable Event
     dei compoenent is created
    set input port params (width = 1280, height = 720)
    set output port params (width = 1280, height = 720)set output port params (width = 1920, height = 1080)set num
    got eventEnable/Disable Event
    enable dei output port 0
    got eventEnable/Disable Event
    enable dei output port 1
    got eventEnable/Disable Event
     encoder compoenent is created
    found handle 0x1244f8 for component OMX.TI.VPSSM3.VFDC
     got display handle
    found handle 0x128500 for component OMX.TI.VPSSM3.CTRL.DC
    Buffer Size computed: 1843200
    set input port params (width = 1280, height = 720)setting input and output memory type to defaultenable input  
    got eventEnable/Disable Event
     connect call for capture-Dei
      connect call for dei- encoder
      connect call for dei-display
     got eventState changed to: OMX_StateIdle
     Capture outport buffers allocated
     got eventState changed to: OMX_StateIdle
     Capture is in IDLE state
     Dei input port use buffer done
      DEI outport buffers allocated
     got eventState changed to: OMX_StateIdle
     DEI is in IDLE state
     encoder input port use buffer done
      encoder outport buffers allocated
     got eventState changed to: OMX_StateIdle
     Encoder state IDLE
     got eventState changed to: OMX_StateIdle
     ctrl-dc state IDLE
      display buffers allocated
     waiting for IDLEgot eventState changed to: OMX_StateIdle
     display state IDLE
     got eventState changed to: OMX_StateExecuting
     display control state execute
     got eventState changed to: OMX_StateExecuting
     display state execute
     got eventState changed to: OMX_StateExecuting
     encoder state execute
     got eventState changed to: OMX_StateExecuting
     dei state execute
     got eventState changed to: OMX_StateExecuting
     capture state execute

    it stop here i pressed ctl+z after some delay but the size of the file is o


    [1] + Stopped                    ./capture_encode_a8host_debug.xv5T -o sample.h264 -m 720p -f 60 -b 1000000 -0
    root@dm816x-evm:/usr/share/ti/ti-omx# ls
    adec_snt_a8host_debug.xv5T
    audio_encode_a8host_debug.xv5T
    c6xtest_a8host_debug.xv5T
    capture_encode_a8host_debug.xv5T
    decode_a8host_debug.xv5T
    decode_display_a8host_debug.xv5T
    decode_mosaicdisplay_a8host_debug.xv5T
    display_a8host_debug.xv5T
    encode_a8host_debug.xv5T
    sample.h264
    root@dm816x-evm:/usr/share/ti/ti-omx# du -sh sample.h264
    0       sample.h264
    root@dm816x-evm:/usr/share/ti/ti-omx#

    thanks and regards,

    Asif

  • hi ram,

    any how i tried to decode the same file using below command it shows segmentation fault..

    ./decode_display_a8host_debug.xv5T -i sample1.h264 -m 720p -f 60 -b 1000000 -d 0 -n 1000

    root@dm816x-evm:/usr/share/ti/ti-omx# ls
    adec_snt_a8host_debug.xv5T
    audio_encode_a8host_debug.xv5T
    c6xtest_a8host_debug.xv5T
    capture_encode_a8host_debug.xv5T
    decode_a8host_debug.xv5T
    decode_display_a8host_debug.xv5T
    decode_mosaicdisplay_a8host_debug.xv5T
    display_a8host_debug.xv5T
    encode_a8host_debug.xv5T
    sample.h264
    sample1.h264
    root@dm816x-evm:/usr/share/ti/ti-omx# du -sh sample1.h264
    0       sample1.h264
    root@dm816x-evm:/usr/share/ti/ti-omx# ./decode_display_a8host_debug.xv5T -i samp
    le1.h264 -m 720p -f 60 -b 1000000 -d 0 -n 1000
    ./decode_display_a8host_debug.xv5T: invalid option -- 'm'
    decode_display -w <image_width> -h <image_height> -f <frame_rate> -i <input_file> -g <gfx on/off> -d <0/1>
    -i | --input           input filename
    -w | --width           image width
    -h | --height          image height
    -f | --framerate       decode frame rate - max 60
    -c | --codec           codec to be used - should be one of h264,h263,mpeg4,vc1,mpeg2,mjpeg
    -g | --gfx             gfx - 0 - off, 1 - on
    -d | --display_id      0 - for on-chip HDMI, 1 for secondary display
     example : ./decode_display_a8host_debug.xv5T -i sample.h264 -w 1920 -h 1080 -f 30 -g 0 -d 0  -c h264
    root@dm816x-evm:/usr/share/ti/ti-omx# ./decode_display_a8host_debug.xv5T -i samp
    le1.h264 -w 1920 -h 1080 -f 60 -g 0 -d 0 -c h264
    input file: sample1.h264
    width: 1920
    height: 1080
    frame_rate: 60
    gfx: fbdev disable
    codec: h264
    display_id: 0
     Decoder-Display example
    ===============================
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 761 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    Segmentation fault
    root@dm816x-evm:/usr/share/ti/ti-omx#

  • hi jun,


    I  am also facing the same problem with my dm8168evm, unable to encode,decode and loopback the video,

    can you solve my problem for the same.

    Thanks and regards,

    Asif.

  • Hello,

    mohammed asif said:
    I am using dm8168 with daughter card, unable to capture video through composite input.

    In EZSDK, currently media controller supports only TVP7002 the component capture through TVP7002. 

    For capture connected to the composite input you should add the external decoder  and to use v4l2 capture driver.

    Please follow these guides:

    http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_Adding_External_Decoders_to_V4L2_Capture_Driver

    and

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_VIDEO_CAPTURE_Driver_User_Guide

    As Ram Prasad wrote you should load the load-hd-v4l2-firmware.sh firmware when you are trying v4l2 capture. For OMX capture (capture_encode demo)the load-hd-firmware.sh should be used. 

    The capture_encode demo will not work if you are trying capture through composite input.

    mohammed asif said:
    root@dm816x-evm:/usr/share/ti/ti-omx# ./decode_display_a8host_debug.xv5T -i samp
    le1.h264 -w 1920 -h 1080 -f 60 -g 0 -d 0 -c h264
    input file: sample1.h264
    width: 1920
    height: 1080
    frame_rate: 60
    gfx: fbdev disable
    codec: h264
    display_id: 0
     Decoder-Display example
    ===============================
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 695 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    ServiceMgr_prime: MessageQ_put failed: status = 0xfffffffe
    Assertion at Line no: 1239 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20d
    Assertion at Line no: 761 in /swcoe/sdk/cm/netra/arago-tmp/work/dm816x-evm-none-linux-gnueabi/ti-syslink-2_20_d
    Segmentation fault
    root@dm816x-evm:/usr/share/ti/ti-omx#

    Could you prove the steps that you are executing before to run the OMX decode_display demo?

    Please for the new issues open a new e2e threads.

    Best Regards,

    Margarita

  • hi  Margarita ,

    thanks for the reply,

    please find the below steps for details for your reference.

    root@dm816x-evm:~# echo 0 > /sys/devices/platform/vpss/graphics0/enabled
    root@dm816x-evm:~# echo 0 > /sys/devices/platform/vpss/graphics1/enabled
    root@dm816x-evm:~# echo 0 > /sys/devices/platform/vpss/graphics2/enabled
    VPSS_GRPX : please open fb2 node first.
    root@dm816x-evm:~# echo 0 > /sys/devices/platform/vpss/display0/enabled
    root@dm816x-evm:~# echo 720p-60 >/sys/devices/platform/vpss/display0/mode
    root@dm816x-evm:~# echo 1 > /sys/devices/platform/vpss/display0/enabled
    root@dm816x-evm:~# cd /usr/share/ti/ti-omx/
    root@dm816x-evm:/usr/share/ti/ti-omx# ls
    adec_snt_a8host_debug.xv5T
    audio_encode_a8host_debug.xv5T
    c6xtest_a8host_debug.xv5T
    capture_encode_a8host_debug.xv5T
    decode_a8host_debug.xv5T
    decode_display_a8host_debug.xv5T
    decode_mosaicdisplay_a8host_debug.xv5T
    display_a8host_debug.xv5T
    encode_a8host_debug.xv5T
    root@dm816x-evm:/usr/share/ti/ti-omx# ./capture_encode_a8host_debug.xv5T -o samp
    le.h264 -m 720p -f 60 -b 1000000 -d 0 -n 1000
    output file: sample.h264
    bit_rate: 1000000
    frame_rate: 60
    num_frames: 1000
    mode: 720p
    display_id: 0
     Capture-Encode example
    ===============================
     OMX_Init completed
     UIAClient is ready to send a UIA configuration command
    UIAClient received UIA_CONFIGURE_ACK
    UIAClient is done sending requests
    UIAClient is ready to send a UIA configuration command
    UIAClient received UIA_CONFIGURE_ACK
    UIAClient is done sending requests
     openeing file
     capture compoenent is created
     control TVP compoenent is created
    Buffer Size computed: 1382400
    set input port params (width = 1280, height = 720)enable capture output port
    got eventEnable/Disable Event
     dei compoenent is created
    set input port params (width = 1280, height = 720)
    set output port params (width = 1280, height = 720)set output port params (width = 1920, height = 1080)set num
    got eventEnable/Disable Event
    enable dei output port 0
    got eventEnable/Disable Event
    enable dei output port 1
    got eventEnable/Disable Event
     encoder compoenent is created
    found handle 0x1244f8 for component OMX.TI.VPSSM3.VFDC
     got display handle
    found handle 0x128500 for component OMX.TI.VPSSM3.CTRL.DC
    Buffer Size computed: 1843200
    set input port params (width = 1280, height = 720)setting input and output memory type to defaultenable input  
    got eventEnable/Disable Event
     connect call for capture-Dei
      connect call for dei- encoder
      connect call for dei-display
     got eventState changed to: OMX_StateIdle
     Capture outport buffers allocated
     got eventState changed to: OMX_StateIdle
     Capture is in IDLE state
     Dei input port use buffer done
      DEI outport buffers allocated
     got eventState changed to: OMX_StateIdle
     DEI is in IDLE state
     encoder input port use buffer done
      encoder outport buffers allocated
     got eventState changed to: OMX_StateIdle
     Encoder state IDLE
     got eventState changed to: OMX_StateIdle
     ctrl-dc state IDLE
      display buffers allocated
     waiting for IDLEgot eventState changed to: OMX_StateIdle
     display state IDLE
     got eventState changed to: OMX_StateExecuting
     display control state execute
     got eventState changed to: OMX_StateExecuting
     display state execute
     got eventState changed to: OMX_StateExecuting
     encoder state execute
     got eventState changed to: OMX_StateExecuting
     dei state execute
     got eventState changed to: OMX_StateExecuting
     capture state execute

    it stop here i pressed ctl+z after some delay but the size of the file is o


    [1] + Stopped                    ./capture_encode_a8host_debug.xv5T -o sample.h264 -m 720p -f 60 -b 1000000 -0
    root@dm816x-evm:/usr/share/ti/ti-omx# ls
    adec_snt_a8host_debug.xv5T
    audio_encode_a8host_debug.xv5T
    c6xtest_a8host_debug.xv5T
    capture_encode_a8host_debug.xv5T
    decode_a8host_debug.xv5T
    decode_display_a8host_debug.xv5T
    decode_mosaicdisplay_a8host_debug.xv5T
    display_a8host_debug.xv5T
    encode_a8host_debug.xv5T
    sample.h264
    root@dm816x-evm:/usr/share/ti/ti-omx# du -sh sample.h264
    0       sample.h264
    root@dm816x-evm:/usr/share/ti/ti-omx#

    Thanks and Regards,

    Asif

  • Hello,

    What is the video source and how is connected to the board?

    Could you execute:

    cd /usr/share/ti/ti-uia/

    ./loggerSMDump.out 0x9e400000 0x100000 all &

    cd /usr/share/ti/ti-omx/

    ./capture_encode_a8host_debug.xv5T -o sample.h264 -m 720p -f 60 -b 1000000 -d 0 -n 1000

    and share the log file.

    Best Regards,

    Margarita

  • hi,

    6471.log.txt

    please find the attached log.txt file for your reference.

    For composite input capture  should add the external decoder and to use v4l2 capture driver.
    http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_Adding_External_Decoders_to_V4L2_Capture_Driver

    i am unable find the structures that needs to be instantiate and filled in according to the external decoder and connectivity between decoder and VIP.

    Thanks and Regards,
    ASIF
  • Hello,

    Based on the omx capture_encode demo log file it seems that the video source is not connected that is why the file is with 0 size.

    N:VPSS  P:2 #:01751 T:0000001d48114b7f S:Trying Video Detection again!!
    N:VPSS  P:2 #:01752 T:0000001d4b5f453b S:Video Not Detected!!

    Provide more details about the video source and how is connected to the board.

    Best Regards,

    Margarita

  • hi,

    my board is booting fine for both sd card and  tftp,nfs. 

    but unable to encode,decode and loopback  video.

     

    I have connected the hi focus  pal camera at composite input as shown in below figure.

    even i tested by connecting same composite cable at green colour of component input as shown below.

     

      Thanks and regards,

    Asif

     

    mohammed asif posted RE: v4l2 Capture pipelines on 8168 EVM using EZSDK (version 5_03_01_15) in DM816x, C6A816x and AM389x Processors Forum.

    hi prashant,

    thanks for the reply, where i get  ti81xxvin.ko and how to build it?

    my board is booting fine for both sd card and  tftp,nfs. 

    but unable to encode,decode and loopback  video.

     

    I have connected the hi focus  pal camera at composite input as shown in below figure.

     

    i followed the below steps.

    Video initialization

    echo 0 > /sys/devices/platform/vpss/graphics0/enabled 
    echo 0 > /sys/devices/platform/vpss/graphics1/enabled
    echo 0 > /sys/devices/platform/vpss/graphics2/enabled

    Capture encode demo

    This demo is the capture-encode demo included in the EZSDK. It takes an input video streaming from the component input (case 720p) of the daughter card(marked as J5J6J7) and encodes it in H264, the output is displayed through the HDMI output.

    echo 0 > /sys/devices/platform/vpss/display0/enabled
    echo 720p-60 >/sys/devices/platform/vpss/display0/mode
    echo 1 > /sys/devices/platform/vpss/display0/enabled
    ./usr/share/ti/ti-omx/capture_encode_a8host_debug.xv5T -o sample.h264 -m 720p -f 60 -b 1000000 -d 0 -n 1000

     

     

    Thanks and regards,

    Asif

     

    E2E http://www.ti.com/e2e-community
  • hi,

    TI81XX PSP VIDEO CAPTURE Driver User Guide

    ti81xxvin.ko(VPSS V4L2 capture driver) is generated under drivers/media/video/ti81xx

    where i can get the below Prerequisites

    V4L2 capture driver requires following modules to be loaded for its functioning.

    1. syslink kernel driver module, referred as "syslink.ko"
    2. loader user space program, referred as "slaveloader"
    3. M3 BIOS Firmware binary, referred as "ti816x_hdvpss.xem3/ti814x_hdvpss_1G.xem3"
    4. VPSS kernel driver module, referred as "vpss.ko"
    5. TVP7002 decoder kernel module referred to as "tvp7002.ko"
    6. V4L2 capture kernel module, referred as "ti81xxvin.ko"

    ----------------------------------------------------------------------------------------------------------------

    DM81xx AM38xx Adding External Decoders to V4L2 Capture Driver

    how to add external decoder. could not find the ti81xx_fb.c under $kernel_source/arch/arm/mach-omap2/

    Thanks and Regards,

    ASIF

  • Hello,

    mohammed asif said:

    For composite input capture  should add the external decoder and to use v4l2 capture driver.

    i am unable find the structures that needs to be instantiate and filled in according to the external decoder and connectivity between decoder and VIP.

    J1 is the Composite input we have TVP5147. You should add is as external decoder by following the user guide:

    http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_Adding_External_Decoders_to_V4L2_Capture_Driver

    Best Regards,

    Margarita

  • hi,

    i followed the below link.

    http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_Adding_External_Decoders_to_V4L2_Capture_Driver

    Steps for Adding new Decoders

    • All the files related to new external decoders should be added in following kernel directory
    $kernel_source/drivers/media/video/<external_decoder_directory_file>
    • MakeFiles and Kconfig files needs to be modified accordingly. Please refer to following kernel documentation on makefiles and Kconfig under following kernel directory.
    $kernel_source/Documentation/kbuild/
    • TVP7002 decoder is added as the sub-device model in Linux Driver stack. Please refer following files for TVP7002 decoder implementation.
    $kernel_source/drivers/media/video/tvp7002.c
    $kernel_source/drivers/media/video/tvp7002_reg.h
    $kernel_source/drivers/media/video/tvp7002_reg.h
    $kernel_source/media/video/Makefile
    $kernel_source/drivers/media/video/Kconfig
    • TVP7002 specifications could be found at tvp7002
    • Data about the external decoders like what inputs they support, how they are interfaced to VPSS VIP port, what is the I2C address etc, needs to be passed to V4L2 capture driver. This data is board dependent and needs to be filled based on decoder and how decoder is connected to VIP port.
    • ti81xxvin_config data structure needs to be field and passed it as platform data to the HDVPSS V4L2 capture driver. It includes many sub-structures and enums all those will be explained in sub-sequent sections in code

    --------------------------------------------------

    All the files related to new external decoders should be added in following kernel directorybelow is the $kernel_source/drivers/media/video/<external_decoder_directory_file>

    but how and what should i...  pleses find the below details for your reference.

    root@ubuntu:/home/user/ti-ezsdk_dm8168-evm_5_04_00_11/board-support/linux-2.6.37-psp04.04.00.01/drivers/media/video# ls
    adv7170.c           mt9v011.c               ti81xx
    adv7175.c           mt9v011.h               tiler
    adv7180.c           mt9v022.c               tlg2300
    adv7343.c           mt9v032.c               tlv320aic23b.c
    adv7343_regs.h      mt9v113.c               tuner-core.c
    ak881x.c            mt9v113_regs.h          tvaudio.c
    arv.c               mx1_camera.c            tveeprom.c
    au0828              mx2_camera.c            tvp514x.c
    bt819.c             mx3_camera.c            tvp514x_regs.h
    bt856.c             mxb.c                   tvp5150.c
    bt866.c             mxb.h                   tvp5150_reg.h
    bt8xx               omap                    tvp7002.c
    btcx-risc.c         omap1_camera.c          tvp7002.ko
    btcx-risc.h         omap24xxcam.c           tvp7002.mod.c
    built-in.o          omap24xxcam-dma.c       tvp7002.mod.o
    bw-qcam.c           omap24xxcam.h           tvp7002.o
    cafe_ccic.c         ov6650.c                tvp7002_reg.h
    cafe_ccic-regs.h    ov7670.c                tw9910.c
    cpia2               ov7670.h                upd64031a.c
    c-qcam.c            ov772x.c                upd64083.c
    cs5345.c            ov9640.c                usbvideo
    cs53l32a.c          ov9640.h                usbvision
    cs8420.h            pms.c                   uvc
    cx18                pvrusb2                 v4l1-compat.c
    cx231xx             pwc                     v4l1-compat.o
    cx2341x.c           pxa_camera.c            v4l2-common.c
    cx23885             rj54n1cb0c.c            v4l2-common.o
    cx25840             s2255drv.c              v4l2-compat-ioctl32.c
    cx88                s5p-fimc                v4l2-ctrls.c
    dabusb.c            saa6588.c               v4l2-ctrls.o
    dabusb.h            saa7110.c               v4l2-dev.c
    davinci             saa7115.c               v4l2-device.c
    em28xx              saa711x_regs.h          v4l2-device.o
    et61x251            saa7121.h               v4l2-dev.o
    fsl-viu.c           saa7127.c               v4l2-event.c
    gspca               saa7134                 v4l2-event.o
    hdpvr               saa7146.h               v4l2-fh.c
    hexium_gemini.c     saa7146reg.h            v4l2-fh.o
    hexium_orion.c      saa7164                 v4l2-int-device.c
    ibmmpeg2.h          saa717x.c               v4l2-int-device.o
    imx074.c            saa7185.c               v4l2-ioctl.c
    indycam.c           saa7191.c               v4l2-ioctl.o
    indycam.h           saa7191.h               v4l2-mem2mem.c
    ir-kbd-i2c.c        se401.c                 v4l2-subdev.c
    isp                 se401.h                 v4l2-subdev.o
    ivtv                sh_mobile_ceu_camera.c  via-camera.c
    Kconfig             sh_mobile_csi2.c        via-camera.h
    ks0127.c            sh_vou.c                videobuf-core.c
    ks0127.h            sn9c102                 videobuf-core.o
    m52790.c            soc_camera.c            videobuf-dma-contig.c
    Makefile            soc_camera_platform.c   videobuf-dma-contig.o
    mem2mem_testdev.c   soc_mediabus.c          videobuf-dma-sg.c
    meye.c              sr030pc30.c             videobuf-dma-sg.o
    meye.h              stk-sensor.c            videobuf-dvb.c
    modules.builtin     stk-webcam.c            videobuf-vmalloc.c
    modules.order       stk-webcam.h            videodev.o
    msp3400-driver.c    tcm825x.c               vino.c
    msp3400-driver.h    tcm825x.h               vino.h
    msp3400-kthreads.c  tda7432.c               vivi.c
    mt9m001.c           tda9840.c               vp27smpx.c
    mt9m111.c           tda9875.c               vpx3220.c
    mt9t001.c           tea6415c.c              w9966.c
    mt9t031.c           tea6415c.h              wm8739.c
    mt9t111.c           tea6420.c               wm8775.c
    mt9t111_reg.h       tea6420.h               zoran
    mt9t112.c           ths7303.c               zr364xx.c
    root@ubuntu:/home/user/ti-ezsdk_dm8168-evm_5_04_00_11/board-support/linux-2.6.37-psp04.04.00.01/drivers/media/video#

    Thanks and Regards,

    ASIF

  • hi margarita,

    genereted and inserted both the modules tvp514x.ko and tvp7002.ko

    kindly let me know the commands to encode/capture,decode and loopback the videos through composite input and hdmi output.

    pleses find the below inserted modules on dm8168 for your reference .

    root@dm816x-evm:/# lsmod
    Module                  Size  Used by
    tvp514x                10260  0
    tvp7002                 6405  0
    ti81xxvin              20388  0
    bufferclass_ti          4950  0
    omaplfb                10794  0
    pvrsrvkm              155594  2 bufferclass_ti,omaplfb
    ti81xxhdmi             16163  0
    ti81xxfb               21979  3
    vpss                   75009  4 ti81xxvin,omaplfb,ti81xxhdmi,ti81xxfb
    syslink              1119122  0
    ipv6                  209855  12
    root@dm816x-evm:/#

    Thanks and Regards,

    ASIF.

  • Hello,

    mohammed asif said:
    kindly let me know the commands to encode/capture,decode

    You can not use OMX capture encode demo in use case capture source connected to the composite input. Check the previous posts. In capture_encode demo the capture component which is running on HDVPSS part of media controller captures the 1080p60/720p/1080i input from TVP7002 decoder on Catalog EIO board. The media controller's source code is under NDA and you can not modify it to add the tvp5147 support but you could obtain it by contacting your local FAE or TI representative. 


    In  use case,  composite capture on the EVM  we have tvp5147 as external decoder that is why you should use v4l2. TVP5147 driver is already avaiable as a part of Linux kernel under $Kernel/driver/media/video/tvp514x.c. You just need to hook this up to V4L2 capture driver.

    You could try to use v4l2 demos described here but you should make some modifications:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_VIDEO_CAPTURE_Driver_User_Guide

    Best Regards,

    Margarita

  • hi,

    yes, according to your suggestion, i got the tvp514x.ko as a part of Linux kernel under $Kernel/driver/media/video.

    even i insmod the same module. but where i can get the below Prerequisites

    TI81XX PSP VIDEO CAPTURE Driver User Guide

    V4L2 capture driver requires following modules to be loaded for its functioning.

    1. syslink kernel driver module, referred as "syslink.ko"
    2. loader user space program, referred as "slaveloader"
    3. M3 BIOS Firmware binary, referred as "ti816x_hdvpss.xem3/ti814x_hdvpss_1G.xem3"
    4. VPSS kernel driver module, referred as "vpss.ko"
    5. TVP7002 decoder kernel module referred to as "tvp7002.ko"
    6. V4L2 capture kernel module, referred as "ti81xxvin.ko"

    Thanks and regards,

    ASIF.

  • hi margarita,

    Installation Guide

    This is the TI81XX Linux VPSS(VPSS capture) Driver user installation guide. This documents the steps to get the VPSS Driver worked up on TI81XX based EVM(Simulator is not tested). This driver has the following dependencies outside of Kernel.

    therefore i am using TI816x-HDVPSS-01.00.01.33.

    unable to insert the modules.

    root@dm816x-evm:/prequest/TI816x-HDVPSS-01.00.01.33# lsmod
    Module Size Used by
    bufferclass_ti 4950 0
    omaplfb 10794 0
    pvrsrvkm 155594 2 bufferclass_ti,omaplfb
    ti81xxhdmi 17685 0
    ti81xxfb 21979 3
    vpss 75009 3 omaplfb,ti81xxhdmi,ti81xxfb
    syslink 1134279 0
    ipv6 209855 12
    root@dm816x-evm:/prequest/TI816x-HDVPSS-01.00.01.33# insmod syslink.ko
    syslink: disagrees about version of symbol module_layout
    insmod: error inserting 'syslink.ko': -1 Invalid module format

    root@dm816x-evm:/prequest/TI816x-HDVPSS-01.00.01.33# ./slaveloader startup VPSS-
    M3 ti816x_hdvpss.xem3

    root@dm816x-evm:/prequest/TI816x-HDVPSS-01.00.01.33# insmod vpss.ko
    vpss: disagrees about version of symbol module_layout
    insmod: error inserting 'vpss.ko': -1 Invalid module format

    root@dm816x-evm:/prequest/TI816x-HDVPSS-01.00.01.33# insmod tvp7002.ko
    tvp7002: disagrees about version of symbol module_layout
    insmod: error inserting 'tvp7002.ko': -1 Invalid module format

    root@dm816x-evm:/prequest/TI816x-HDVPSS-01.00.01.33# insmod ti81xxvin.ko
    ti81xxvin: disagrees about version of symbol module_layout
    insmod: error inserting 'ti81xxvin.ko': -1 Invalid module format
    root@dm816x-evm:/prequest/TI816x-HDVPSS-01.00.01.33#

    thanks and regards,

    Mohammed Asif.

  • Hello,

    mohammed asif said:
    HDVPSS 01.00.01.44 release ----> no file find at this location

    EZSDK 5.05.02 is using this HDVPSS version.

    Best Regards,

    Margarita

  • hi,

    yes i tried from the below link.

    http://software-dl.ti.com/dsps/dsps_public_sw/ezsdk/5_05_02_00/index_FDS.html

    ./ezsdk_dm816x-evm_5_05_02_00_setuplinux

    same problem.......

    Thanks and Regards,

    Mohammed Asif.

  • hi,

    how can i install opencv  library or any other software on dm8168evm.

    opkg install opencv  command is also not working on dm8168evm.

    kindly let me know the command to install the softwares on the same.

    Thanks and Regards,

    Mohammed Asif.

  • Hello,

    Please, could you open a new e2e threads for the new issues. This topic is for different issue.

    Best Regards,

    Margarita

  • Hi All,

           To capture from the TVP5147 (composite) present in the DM816x you need to enable the driver for the TVP5147 and also integrate it with the main V4L2. Furthermore you would need to route the clock signal from the daughter card with a cable (solder it) since the signal is missing. Ridgerun already has the TVP5147 capturing properly and we modified omx_camera to be able to capture NTSC or component from TVP7002:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/326172/1170437.aspx#1170437

    https://github.com/RidgeRun/gst-openmax-dm81xx

    -David