v4l2 strangeness

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

v4l2 strangeness

Gary Thomas
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: v4l2 strangeness

Raseel


On Mon, Oct 11, 2010 at 5:03 PM, Gary Thomas <[hidden email]> wrote:
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?


Since it's the 2.6.32 kernel, you obviously have the latest webcam driver (either gspca or uvcvideo) as well.
The only other thing that might me older is the libv4l library.
Try updating the libv4l library with  "opkg update libv4l" . The latest version I think is libv4l_0.6 .


Thanks,
Raseel

------------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel