SRU for libv4l 0.5.1

Bug #286070 reported by Loïc Minier
26
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libv4l (Ubuntu)
Invalid
Undecided
Unassigned
Intrepid
Fix Released
Undecided
Unassigned

Bug Description

libv4l 0.5.1 adds support for cropping to/from some formats which make skype with many webcams.

see e.g. http://lists-archives.org/video4linux/24677-libv4l-release-0-5-1-the-skype-release.html for announcement.

There was also some code move so the changes are larger than just this change. A Debian/Ubuntu patch was merged to not link with pthread when not needed.

 ChangeLog | 14 +
 Makefile | 2
 libv4l1/Makefile | 4
 libv4l2/Makefile | 4
 libv4l2/libv4l2.c | 10
 libv4lconvert/Makefile | 2
 libv4lconvert/crop.c | 88 ++++++
 libv4lconvert/flip.c | 49 +++
 libv4lconvert/libv4lconvert-priv.h | 17 -
 libv4lconvert/libv4lconvert.c | 495 ++++++++++++++++++++-----------------
 10 files changed, 436 insertions(+), 249 deletions(-)

Revision history for this message
Loïc Minier (lool) wrote :
Revision history for this message
Loïc Minier (lool) wrote :

I'll push test packages to my ppa to let interested users try the new version out.

Revision history for this message
Loïc Minier (lool) wrote :

Tested with camorama and cheese and gspca webcam.

My old skype on another box doesn't start anymore, so I'd be happy to hear whether skype works correctly with this libv4l.

Revision history for this message
Henrik Nilsen Omma (henrik) wrote :

As stated on bug 260918: Skype now starts fine and I get the camera working in the test area in preferences. When I call another box with skype I'm not given the option to send video though.

Incidentally, I would support the FEE request for this, even though it's late in the game.

Revision history for this message
Henrik Nilsen Omma (henrik) wrote :

I had a configuration issue on the other client (Hardy and stock skype). I've since confirmed that the latest skype works well with the new 0.5.1 libv4l from the PPA.

Revision history for this message
Steve Langasek (vorlon) wrote :

I don't think we really have time to accomodate this prior to release, and think this should be handled as an SRU instead.

Loïc Minier (lool)
description: updated
Revision history for this message
Martin Pitt (pitti) wrote :

Pretty intrusive, but ok for me if it gets testing also with programs/devices which work fine with the *current* version. Please upload to intrepid-proposed (yes, that works, we just won't accept it until after the final release).

Changed in libv4l:
status: New → Confirmed
Loïc Minier (lool)
Changed in libv4l:
status: Confirmed → Invalid
Revision history for this message
Loïc Minier (lool) wrote :
Download full text (3.6 KiB)

So, I didn't come to upload this SRU due to various distractions and also because libv4l kept rolling stable updates to libv4l handling more and more issues. In particular, last release fixes two quite annoying bugs:
- linux uvcvideo driver issue (this is pending a fix in intrepid's kernel)
- cheese slowness (takes a minute or more to show the webcam's picture because of the way it negociates formats)

The upstream changelog looks like this:
libv4l-0.5.6
------------
* Always do a s_fmt on uvc cams even if this changes nothing, as not doing
  the s_fmt triggers a bug in the uvcvideo driver in kernel <= 2.6.28
  (with certain cams)

libv4l-0.5.5
------------
* Avoid the use of try_fmt as much as possible on UVC cams, instead use the
  results of the enum_framesizes ioctl. This is because:
  1) try_fmt actually causes IO with UVC cams making apps which do lot of
     querrying of device capabilities slow (cheese)
  2) some buggy cams don't like getting lots of UVC video probes and crash
     when they do

libv4l-0.5.4
------------
* Don't report DQBUF errors when errno is EAGAIN, this fixes flooding the
  screen with errors when applications use non blocking mode
* Add support for downscaling to make apps which want low resolutions
  (skype, spcaview) happy when used with cams which can only do high
  resolutions (by Lukáš Karas <email address hidden>).
* Add support for converting to YV12 planar (next to the already supported
  YU12 / I420)
* Implement RGB/BGR24 -> YU/YV12 conversion

libv4l-0.5.3
------------
* When conversion requires multiple passes don't alloc the needed temporary
  buffer on the stack, as some apps (ekiga) use so much stack themselves
  this causes us to run out of stack space

libv4l-0.5.2
------------
* Add Philips SPC210NC to list of cams with upside down sensor, reported by
  Rieker Flaik
* Work around some drivers (pwc) not properly reflecting what one gets after a
  s_fmt in their try_fmt answer
* Check that s_fmt atleast gives us the width, height and pixelformat try_fmt
  promised us, and if not disable conversion
* Only check width, height and pixelformat when checking if we are doing
  conversion, instead of doing a memcmp, as that are the only things which
  the convert code checks
* Take into account that the buffers only contain half of the lines when
  field is V4L2_FIELD_ALTERNATE

libv4l-0.5.1
------------
* Add support for software cropping from 352x288 -> 320x240 / 176x144 ->
  160x120, so that apps which will only work with vga resolutions like
  320x240 (Skype!) will work with cams/drivers which do not support cropping
  CIF resolutions to VGA resolutions in hardware. This makes all 2.6.27 gspca
  supported cams, except for the pac7302 which only does 640x480 (and skype
  wants 320x240), work with skype
* The v4lconvert_convert function was becoming a bit of a mess, so split the
  functionailiy into separate v4lconvert_convert_pixfmt, v4lconvert_rotate and
  v4lconvert_crop functions, and make v4lconvert_convert a frontend to
  these
* Do not link the wrapper libs against libpthread (patch from Gregor Jasny)

In my opinion, these changes are sane, make sense, and are an useful update to intrepid; ho...

Read more...

Revision history for this message
Martin Pitt (pitti) wrote :

It doesn't look too bad, and although the diff is quite big, every single change looks focused and relatively narrow. Except for the addition of crop.c, but that already got approved earlier and is the main issue here. Please upload to the queue, and then we need to collect lots of testing.

Revision history for this message
Martin Pitt (pitti) wrote :

Accepted into intrepid-proposed, please test and give feedback here. Please see https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in libv4l:
status: Confirmed → Fix Committed
Revision history for this message
Rayman2200 (info-rayman2200) wrote :

I tested the new package and it works with Skype, but cheese doesn't work but also dosen't hang any more :(

Compiling the gscpa descriped on the page http://ubuntuforums.org/showthread.php?t=966398 is working for me.

Revision history for this message
Andres Mujica (andres.mujica) wrote :

this package has been tested in several bug reports, with success most of the time. When there's no success is because of webcam driver not for the package.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libv4l - 0.5.6-1~intrepid1

---------------
libv4l (0.5.6-1~intrepid1) intrepid-proposed; urgency=low

  * Stable update for intrepid with many fixes and new workarounds for a bunch
    of webcams; LP: #286070.

libv4l (0.5.6-1) unstable; urgency=low

  * New Upstream Version

libv4l (0.5.4-1) unstable; urgency=low

  * New Upstream Version

 -- Loic Minier <email address hidden> Wed, 26 Nov 2008 20:57:55 +0100

Changed in libv4l:
status: Fix Committed → Fix Released
Revision history for this message
pablomme (pablomme) wrote :

I've a webcam which identifies itself as 064e:d101 Suyin Corp., the one in the Acer Aspire One ZG5 netbook. With the libv4l 0.5.6-1~intrepid1 from intrepid-updates all video applications except cheese would work. However with the more recent 0.5.7-1~dooz1 from https://edge.launchpad.net/~lool/+archive cheese works too.

Revision history for this message
Loïc Minier (lool) wrote :

pablomme, thanks for your feedback; it's the clearest I got so far and I was tempted to stop SRU-ing libv4l at 0.5.6 because well we have to stop somewhere, but your comment makes me want to have a look again.

Revision history for this message
Loïc Minier (lool) wrote :

See bug #308890 for the 0.5.7 SRU.

Revision history for this message
Darkbook (darkbook4008) wrote :

this update is not working in my laptop acer 4720Z please update to the new version libv4l-0 0.5.7
https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/307241

Revision history for this message
pablomme (pablomme) wrote :

More webcams: a Logitech Orbicam 046d:0896 on an Acer Aspire 9420 laptop does _not_ work with libv4l-0 0.5.7: Skype diplays a shapeless green-coloured picture (which does move as the objects in front of the camera move, so it's trying to do something, but not quite the right thing), and cheese fails to display a picture at all, printing this on stderr (in Spanglish, apparently):

 libv4l2: error dequeuing buf: Error de entrada/salida

(Input/output error) and lots of lines like this one appear on dmesg:

 [ 1064.428587] gspca: frame overflow 616402 > 614400

Also, cheese does not let the user pick a resolution for the camera -- presumably it cannot detect the resolution properly?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.