[gst-devel] v4l2 strangeness
Gary Thomas
gary at mlbassoc.com
Fri Oct 8 16:42:04 CEST 2010
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
------------------------------------------------------------
More information about the gstreamer-devel
mailing list