[gst-devel] v4l2 strangeness

Gary Thomas gary at mlbassoc.com
Mon Oct 11 13:33:10 CEST 2010


Note: this *is* a duplicate of an email sent last week.  Does anyone have
any ideas about this, please?  I really need to get this USB camera working
on my embedded OMAP board... Thanks

I have an old USB webcam (Logitech QuickCam Chat) that I'm
trying to use with v4l2src.  When I run it on slightly different
versions of Linux & gst-plugins, I get very different results.

On x86 Linux 2.6.30, gstreamer-0.10.25, gstreamer-plugins-good-0.10.16,
I get these:
    <v4l2src0> probed caps:
      video/x-raw-yuv, format=(fourcc)I420, framerate=(fraction)[ 0/1, 100/1 ], width=(int)[ 160, 352 ], height=(int)[ 120, 288 ];
      video/x-raw-yuv, format=(fourcc)YV12, framerate=(fraction)[ 0/1, 100/1 ], width=(int)[ 160, 352 ], height=(int)[ 120, 288 ];
      video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321, framerate=(fraction)[ 0/1, 100/1 ], 
width=(int)[ 160, 352 ], height=(int)[ 120, 288 ];
      video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, framerate=(fraction)[ 0/1, 100/1 ], 
width=(int)[ 160, 352 ], height=(int)[ 120, 288 ]

On x86 Linux 2.6.34, gstreamer-0.10.30, gstreamer-plugins-good-0.10.25,
I get these:
    0:00:00.037755702 22728  0x9eec050 DEBUG                   v4l2 gstv4l2object.c:882:gst_v4l2_object_fill_format_list:<v4l2src0> getting src format enumerations
    0:00:00.037806177 22728  0x9eec050 INFO                    v4l2 gstv4l2object.c:919:gst_v4l2_object_fill_format_list:<v4l2src0> got 4 format(s):
    0:00:00.037831421 22728  0x9eec050 INFO                    v4l2 gstv4l2object.c:925:gst_v4l2_object_fill_format_list:<v4l2src0>   YU12 (emulated)
    0:00:00.037853538 22728  0x9eec050 INFO                    v4l2 gstv4l2object.c:925:gst_v4l2_object_fill_format_list:<v4l2src0>   YV12 (emulated)
    0:00:00.037886708 22728  0x9eec050 INFO                    v4l2 gstv4l2object.c:925:gst_v4l2_object_fill_format_list:<v4l2src0>   BGR3 (emulated)
    0:00:00.037908230 22728  0x9eec050 INFO                    v4l2 gstv4l2object.c:925:gst_v4l2_object_fill_format_list:<v4l2src0>   RGB3 (emulated)
    <v4l2src0> probed caps:
      video/x-raw-yuv, format=(fourcc)I420, width=(int)352, height=(int)288, framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)320, 
height=(int)240, framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-yuv, format=(fourcc)I420, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw-yuv, format=(fourcc)I420, width=(int)160, 
height=(int)120, framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-yuv, format=(fourcc)YV12, width=(int)352, height=(int)288, framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw-yuv, format=(fourcc)YV12, width=(int)320, 
height=(int)240, framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-yuv, format=(fourcc)YV12, width=(int)176, height=(int)144, framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw-yuv, format=(fourcc)YV12, width=(int)160, 
height=(int)120, framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321, width=(int)352, height=(int)288, 
framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321, width=(int)320, height=(int)240, 
framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321, width=(int)176, height=(int)144, 
framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, endianness=(int)4321, width=(int)160, height=(int)120, 
framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, width=(int)352, height=(int)288, 
framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, width=(int)320, height=(int)240, 
framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, width=(int)176, height=(int)144, 
framerate=(fraction)[ 0/1, 100/1 ];
      video/x-raw-rgb, bpp=(int)24, depth=(int)24, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, endianness=(int)4321, width=(int)160, height=(int)120, 
framerate=(fraction)[ 0/1, 100/1 ]

On ARM Linux 2.6.32, gstreamer-0.10.30, gst-plugins-good-0.10.25,
I get this (but not useful) trace:
    0:00:00.180328399   741    0x15050 INFO                    v4l2 gstv4l2object.c:919:gst_v4l2_object_fill_format_list:<v4l2src0> got 2 format(s):
    0:00:00.180450469   741    0x15050 INFO                    v4l2 gstv4l2object.c:925:gst_v4l2_object_fill_format_list:<v4l2src0>   GBRG
    0:00:00.180603057   741    0x15050 INFO                    v4l2 gstv4l2object.c:925:gst_v4l2_object_fill_format_list:<v4l2src0>   S561
    0:00:00.180725127   741    0x15050 DEBUG                   v4l2 gstv4l2object.c:1151:gst_v4l2_object_v4l2fourcc_to_structure: Unknown fourcc 0x47524247 GBRG
    0:00:00.184051543   741    0x15050 DEBUG                v4l2src gstv4l2src.c:578:gst_v4l2src_get_caps:<v4l2src0> unknown format 1196573255
    0:00:00.184387236   741    0x15050 DEBUG                   v4l2 gstv4l2object.c:1151:gst_v4l2_object_v4l2fourcc_to_structure: Unknown fourcc 0x31363553 S561
    0:00:00.184509307   741    0x15050 DEBUG                v4l2src gstv4l2src.c:578:gst_v4l2src_get_caps:<v4l2src0> unknown format 825636179
    0:00:00.184661894   741    0x15050 INFO                 v4l2src gstv4l2src.c:584:gst_v4l2src_get_caps:<v4l2src0> probed caps: EMPTY

Same camera, same (+/- kernel version) kernel modules, vastly
different behaviour.  What gives?

More importantly, what do I need to do on my ARM system to get
useful caps out of this camera?
    * Kernel module settings/build options?
    * gst-plugins-good configuration?

Any help greatly appreciated

Thanks


-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel




More information about the gstreamer-devel mailing list