RFC: howto handle driver changes which require libv4l > x.y ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

So recently I've hit 2 issues where kernel side fixes need
to go hand in hand with libv4l updates to not cause regressions.

First lets discuss the 2 cases:
1) The pac207 driver currently limits the framerate (and thus
   the minimum exposure time) because at higher framerate the
   cam starts using a higher compression and we could not
   decompress this. Thanks to Bertrik Sikken we can now handle
   the higher decompression.

   So no I really want to enable the higher framerates as those
   are needed to make the cam work properly in full daylight.

   But if I do this, things will regress for people with an
   older libv4l, as that won't be able to decompress the frames

2) Several zc3xxx cams have a timing issue between the bridge and
   the sensor (the windows drivers have the same issue) which
   makes them do only 320x236 instead of 320x240. Currently
   we report their resolution to userspace as 320x240, leading to
   a bar of noise at the bottom of the screen.

   The fix here obviously is to report the real effective resoltion
   to userspace, but this will cause regressions for apps which blindly
   assume 320x240 is available (such as skype). The latest libv4l will
   make the apps happy again by giving them 320x240 by adding small
   black borders.


Now I see 2 solutions here:

a) Just make the changes, seen from the kernel side these are most
   certainly bugfixes. I tend towards this for case 2)

b) Come up with an API to tell the libv4l version to the kernel and
   make these changes in the drivers conditional on the libv4l version


So this is my dilemma, your input is greatly appreciated.

Regards,

Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux