[Touch-packages] [Bug 260918] Re: needed: libv4l and associated application patches (or "gspca stopped working in 2.6.27")
Launchpad has imported 11 comments from the remote bug at https://bugzilla.redhat.com/show_bug.cgi?id=457796. If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. On 2008-08-04T17:32:35+00:00 Hans wrote: Created attachment 313380 xawtv-3.95-fixes.patch Short intro: I'm a long time Linux developer currently working on improving webcam support in Linux, see: http://fedoraproject.org/wiki/Features/BetterWebcamSupport I'm one of the authors of the v4l2 rewrite of the gspca usb webcam driver framework (which supports more then 100 different cams), this v4l2 rewrite has been merged into the 2.6.27 kernel and thus will become available in the official Linux kernel soon. One of the parts of the v4l2 rewrite has been removing conversion from various manufacturer cam specific video formats to more normal videoformats from the drivers, as this really does not belong in kernel space. As a result of this the gspca subdrivers can generate raw video frames in the following formats: #define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compressed bayer #define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') /* YUYV per line #define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') /* YYUV per line #define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line #define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer #define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer As we do not want to see each application implement (nor having to implement) support for these various formats, as we like to have one code base and only one code base for these formats. A library has been written (with me as the main author) to convert from these formats to BGR24 or YUV420. For more on this library see: http://hansdegoede.livejournal.com/3636.html As such I've been working (for a number of days!) on a patch to add support for libv4l to xawtv. This has resulted in my doing a whole patch series, listed in the order in which the patches should be applied. xawtv-3.95-fixes.patch -- Some small fixes which are needed for xawtv-3.95 to work with some v4l2 devices at all. xawtv-3.95-libv4l2.patch Use libv4l2 to gain support for all kind of camera specific video formats xawtv-3.95-no-dga.patch --- xawtv does not work on many videocards without specifying -nodga, this patch fixes this by catching the error and continuing as if the server does not support DGA at all xawtv-3.95-v4l-conf-user-bpl.patch -- Allow root to override the detected number of bytes per line, this is needed to get direct pci transfers to the framebuffer to work on my ati x1950pro Note that for xawtv to work properly atleast version 0.4.0 of libv4l is needed, rawhide currently has 0.3.9 and I cannot build 0.4.0 due to an error in the kernel-headers package. p.s. While writing all these patches and with all my recent v4l work in general I've become quite familiar with the xawtv code, so if you want I can become a co-maintainer (and push these patches myself). Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/10 On 2008-08-04T17:46:25+00:00 Hans wrote: Created attachment 313381 xawtv-3.95-libv4l2.patch Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/11 On 2008-08-04T17:46:58+00:00 Hans wrote: Created attachment 313382 xawtv-3.95-no-dga.patch Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/12 On 2008-08-04T18:20:31+00:00 Hans wrote: Created attachment 313392 xawtv-3.95-v4l-conf-user-bpl.patch Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/13 On 2008-08-23T07:41:07+00:00 Hans wrote: Ping, I would really like to see this fixed before F10-beta freeze so that the better webcam support feature can get some good testing in the Beta. Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/18 On 2008-08-25T16:36:06+00:00 Dmitry wrote: Pong. I am still thinking how to make libv4l2 support optional... It seems that an option is not suitable here, as there are several applications (xawtv, streamer, fbtv, ...) and it is not good to hack all their cmdline interfaces. Perhaps LD_PRELOAD is a way? If the only
[Touch-packages] [Bug 260918] Re: needed: libv4l and associated application patches (or "gspca stopped working in 2.6.27")
Launchpad has imported 10 comments from the remote bug at https://bugzilla.redhat.com/show_bug.cgi?id=456825. If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. On 2008-07-27T20:49:53+00:00 Hans wrote: As you probably know I'm one of the authors of the v4l2 rewrite of the gspca usb webcam driver framework (which supports more then 100 different cams), this v4l2 rewrite has been merged into the 2.6.27 kernel and thus will become available in the official Linux kernel soon. One of the parts of the v4l2 rewrite has been removing conversion from various manufacturer cam specific video formats to more normal videoformats from the drivers, as this really does not belong in userspace. As a result of this the gspca subdrivers can generate raw video frames in the following formats: #define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compressed bayer #define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') /* YUYV per line #define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') /* YYUV per line #define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line #define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer #define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer As we do not want to see each application implement (nor having to implement) support for these various formats, as we like to have one code base and only one code base for these formats. A library has been written (with me as the main author) to convert from these formats to BGR24 or YUV420. For more on this library see: http://hansdegoede.livejournal.com/3636.html The attached patch adds support to the gstreamer v4l2 plugin to use this library if available on the system, it has also been submitted upstream: http://bugzilla.gnome.org/show_bug.cgi?id=545033 libv4l will show up in rawhide as soon as a cvsadmin gets around to creating a cvs module for it, see libv4l'2 review request: bug 456772 Getting this patch into Fedora is important for the F-10 better webcam support feature: https://fedoraproject.org/wiki/Features/BetterWebcamSupport ### A note about the patch, the patch is actually quite simple, as libv4l has been designed for quick porting of existing apps to libv4l, for this reason libv4l fully mimicks the raw /dev/video interface (and if no conversion is needed and for non relevant calls like setting ctrl's, passes through all calls unmodified). All that the patch does and all that needs to be changed to use libv4l is replace the relevant xxx calls on /dev/video with v4l2_xxx calls. The only special thing about the patch is that it passes the V4L2_ENABLE_ENUM_FMT_EMULATION flag to libv4l2 on open, this patch tells libv4l2 to report the "emulated" formats in the ENUM_FMT ioctl results. Which libv4l2 does not do be default so that ENUM_FMT only reports the really supported formats (a TRY_FMT with one of the 2 supported emulated formats can then be done to see if conversion is supported for the specific device). Given the working of the v4l2 plugin, enabling the ENUM_FMT emulation is needed. I've successfully tested this patch with cheese and 2 spca561 cams (quite popular IC, used by both logitech and creative), 2 pac207 cams (another quite popular IC), 3 SN9C10X cams (also very popular) and 1 spca501 cam. All of which do not work without this patch, as gstreamer does not support their proprietary video formats (and rightfully so). ### p.s. While doing a local rpm testbuild of gstreamer-plugins-good with this patch, it failed because it build a couple of plugins not in the %files list due to me having to much foo-devel packages installed, can you please add: "--disable-esd --disable-libcaca --disable-aalib" to the %configure flags to fix this? Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/0 On 2008-07-27T20:49:53+00:00 Hans wrote: Created attachment 312745 PATCH adding support for using libv4l to the v4l2 plugin Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/1 On 2008-07-28T09:28:03+00:00 Hans wrote: libv4l has just been build for rawhide, and should show up in the next rawhide push, in the mean time you can get it from koji: http://koji.fedoraproject.org/koji/buildinfo?buildID=57774 Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/2 On 2008-07-28T13:45:56+00:00 Adam wrote: Patch looks plausible, but I'm no expert. I'm curious to see how the upstream bug go
[Touch-packages] [Bug 260918] Re: needed: libv4l and associated application patches (or "gspca stopped working in 2.6.27")
Launchpad has imported 6 comments from the remote bug at https://bugzilla.redhat.com/show_bug.cgi?id=456868. If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. On 2008-07-28T09:28:08+00:00 Hans wrote: Short intro: I'm a long time Linux developer currently working on improving webcam support in Linux, see: http://fedoraproject.org/wiki/Features/BetterWebcamSupport I'm one of the authors of the v4l2 rewrite of the gspca usb webcam driver framework (which supports more then 100 different cams), this v4l2 rewrite has been merged into the 2.6.27 kernel and thus will become available in the official Linux kernel soon. One of the parts of the v4l2 rewrite has been removing conversion from various manufacturer cam specific video formats to more normal videoformats from the drivers, as this really does not belong in kernel space. As a result of this the gspca subdrivers can generate raw video frames in the following formats: #define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compressed bayer #define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') /* YUYV per line #define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') /* YYUV per line #define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line #define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer #define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer As we do not want to see each application implement (nor having to implement) support for these various formats, as we like to have one code base and only one code base for these formats. A library has been written (with me as the main author) to convert from these formats to BGR24 or YUV420. For more on this library see: http://hansdegoede.livejournal.com/3636.html The attached patch adds support to the pwlib v4l2 plugin to use this library if available on the system. It has also been submitted upstream: http://bugzilla.gnome.org/show_bug.cgi?id=545108 libv4l has just been build for rawhide, and should show up in the next rawhide push, in the mean time you can get it from koji: http://koji.fedoraproject.org/koji/buildinfo?buildID=57774 ### A note about the patch, the patch is actually quite simple, as libv4l has been designed for quick porting of existing apps to libv4l, for this reason libv4l fully mimicks the raw /dev/video interface (and if no conversion is needed and for non relevant calls like setting ctrl's, passes through all calls unmodified). All that the patch does and all that needs to be changed to use libv4l is replace the relevant xxx calls on /dev/video with v4l2_xxx calls. I've successfully tested this patch with ekiga and 2 spca561 cams (quite popular IC, used by both logitech and creative), 2 pac207 cams (another quite popular IC), 3 SN9C10X cams (also very popular) and 1 spca501 cam. All of which do not work (unless using gspca version 1) without this patch, as pwlib does not support their proprietary video formats (and rightfully so). Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/0 On 2008-07-28T09:28:08+00:00 Hans wrote: Created attachment 312759 PATCH: use libv4l in v4l2 plugin, adding support for many cam specific formats Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/1 On 2008-07-29T19:08:36+00:00 Hans wrote: Note that this patch has just been accepted upstream, see: http://bugzilla.gnome.org/show_bug.cgi?id=545108 If you want and the CVS ACL's allow it I can push this to rawhide myself. Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/2 On 2008-08-23T07:40:11+00:00 Hans wrote: Ping! I really want to see this hit rawhide before we go into a beta freeze, and as the patch has been accepted upstream I so no reasons for not putting this in rawhide. If I get no response soon I'll commit it to rawhide myself (assuming the ACL's will let me). Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/3 On 2008-09-19T21:08:37+00:00 Jesse wrote: Seems it's a bit late for that. Punting to F10Target. Reply at: https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/260918/comments/7 On 2008-09-20T17:19:12+00:00 Hans wrote: (In reply to comment #4) > Seems it's a bit late for that. Punting to F10Target. Actually this is long fixed, byt I f
[Touch-packages] [Bug 260918] Re: needed: libv4l and associated application patches (or "gspca stopped working in 2.6.27")
** Changed in: libv4l (Ubuntu) Status: Fix Committed => Fix Released -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to gst-plugins-good0.10 in Ubuntu. https://bugs.launchpad.net/bugs/260918 Title: needed: libv4l and associated application patches (or "gspca stopped working in 2.6.27") Status in Adobe Flash Plugin Tools: Won't Fix Status in Cheese Camera Application: Unknown Status in Ekiga Voice Over IP Suite: Fix Released Status in The Mozilla Firefox Browser: Invalid Status in GStreamer Plugins (Good): Fix Released Status in The GStreamer Multimedia Framework: Fix Released Status in KDE Non-Linear Video Editor: Fix Released Status in Kopete: Fix Released Status in Medibuntu: Fix Released Status in Open Source Computer Vision library: Unknown Status in VLC media player: Fix Released Status in Wine: Confirmed Status in amsn package in Ubuntu: Fix Released Status in came package in Ubuntu: Fix Released Status in camorama package in Ubuntu: Invalid Status in camstream package in Ubuntu: Fix Released Status in cheese package in Ubuntu: Invalid Status in ekiga package in Ubuntu: Invalid Status in gst-plugins-good0.10 package in Ubuntu: Fix Released Status in libv4l package in Ubuntu: Fix Released Status in mplayer package in Ubuntu: Fix Released Status in pwlib package in Ubuntu: Fix Released Status in vlc package in Ubuntu: Fix Released Status in xawtv package in Ubuntu: Fix Released Status in cheese source package in Lucid: Invalid Status in amsn source package in Intrepid: Fix Released Status in came source package in Intrepid: Fix Released Status in camorama source package in Intrepid: Invalid Status in camstream source package in Intrepid: Invalid Status in cheese source package in Intrepid: Invalid Status in ekiga source package in Intrepid: Invalid Status in gst-plugins-good0.10 source package in Intrepid: Fix Released Status in libv4l source package in Intrepid: Fix Released Status in mplayer source package in Intrepid: Won't Fix Status in pwlib source package in Intrepid: Fix Released Status in vlc source package in Intrepid: Won't Fix Status in xawtv source package in Intrepid: Fix Released Status in camorama package in Debian: Fix Released Status in gst-plugins-good0.10 package in Fedora: Fix Released Status in pwlib package in Fedora: Fix Released Status in xawtv package in Fedora: Fix Released Bug description: libv4l is a user-space library used by several applications in order to convert webcam streams in user-space instead of kernel-space. As gspca is included in 2.6.27 this is needed in order to (re)support a multitude of webcams supported with ordinary applications. See http://hansdegoede.livejournal.com/3636.html for a more complete description of the software. The latest version is 0.4.0 and is available from http://people.atrpms.net/~hdegoede/ To manage notifications about this bug go to: https://bugs.launchpad.net/adobe-flash-plugin-tools/+bug/260918/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp