[linux-dvb] Start thinking about potential Google Summer of Code Projects we could run
hverkuil at xs4all.nl
Wed Dec 19 18:31:43 CET 2007
On Wednesday 19 December 2007 18:23:55 Richard Atterer wrote:
> On Wed, Dec 19, 2007 at 05:36:09PM +0100, Hans Verkuil wrote:
> > I think that this might be an ideal opportunity to develop a v4l2
> > library that can be used by applications to access v4l devices.
> Oh yes, very much agreed!
> The library should
> - provide a single API to access both v4l1 and v4l2
> - maybe allow non-v4l devices (network cams)
> - make it easy to get a picture from any detected cam in a
> particular format (and e.g. perform MJPEG decoding or resolution
> rescaling along the way)
> - provide a standard plug-in API (maybe gstreamer-like) for the
> video stream. This is necessary to support stuff like software
> autofocus for some Logitech webcams, or for turning the picture
> upside down (necessary for some webcams built into notebooks)
> - extend the plugin API to controls, e.g. allow automatic framerate
> (i.e. shutter speed) selection by user-supplied software as well as
> framerate selection by the webcam's firmware.
> - provide a standard way for controls like brightness, focus, motor
> controls. Emulate controls like brightness in software
- standard API to scan for channels (TV & radio), preferably also
setting a standard config format containing the channel info.
- simple video format conversions for the various YUV/RGB formats.
- storing and retrieving card preferences (e.g. recording volume,
brightness, MPEG encoder settings, etc.)
The biggest initial problem is deciding how low or high level the
library will be. I actually think that it might be a good idea to have
perhaps two libraries: one for low-level stuff (i.e. just a relatively
thin layer on top of v4l) and a high-level library allowing format
> The following is a start, but AFAICT nothing has happened WRT an
> implementation (?):
> This is a start from a different perspective, quite a bit more
> low-level, not enough for many of my requirements above:
More information about the linux-dvb