gstreamer/sys/v4l2
Sjoerd Simons 8e43c0ec9e v4l2: Optimize negotiation by removing the query filter
As cameras tend to have a quite specific set of capabilities (specific
framerates for each resolution), getting the peer caps filtered by our
probed caps can cause a big increase in the caps size which slows down
things quire a bit.

As for negotiation v4l2 iterates through the caps of the peer to find the
first intersection with the probed caps, getting the fully expanded
intersection of capabilities is not useful.

Using the same testcase as for bug #702632, adding this patch on top of
the patches suggested there speeds up getting the inital frame from
around ~14-15 seconds to around ~3-4 seconds.

https://bugzilla.gnome.org/show_bug.cgi?id=702638
2013-06-19 15:05:25 +02:00
..
.gitignore v4l2src: Adding a pre-set-format signal 2012-04-19 09:45:49 +02:00
gstv4l2-marshal.list v4l2src: Adding a pre-set-format signal 2012-04-19 09:45:49 +02:00
gstv4l2.c Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2bufferpool.c v4l2: make sure the element is not deleted before the pool 2013-06-07 20:07:42 +02:00
gstv4l2bufferpool.h v4l2: try to allocate new buffers with VIDIOC_CREATE_BUFS if needed 2013-05-03 11:18:04 +02:00
gstv4l2colorbalance.c Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2colorbalance.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2object.c v4l2: improve pixel aspect ratio handling 2013-06-04 17:37:15 +02:00
gstv4l2object.h v4l2: improve pixel aspect ratio handling 2013-06-04 17:37:15 +02:00
gstv4l2radio.c Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2radio.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2sink.c v4l2: Don't stop streaming when set_caps is called with unchanged caps 2013-05-20 11:13:18 +02:00
gstv4l2sink.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2src.c v4l2: Optimize negotiation by removing the query filter 2013-06-19 15:05:25 +02:00
gstv4l2src.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2tuner.c Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2tuner.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2videooverlay.c Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2videooverlay.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2vidorient.c Fix FSF address 2012-11-04 00:07:18 +00:00
gstv4l2vidorient.h Fix FSF address 2012-11-04 00:07:18 +00:00
Makefile.am gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
README Fix level for multi-channel case. 2007-02-22 14:35:28 +00:00
tuner-marshal.list Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
tuner.c Fix FSF address 2012-11-04 00:07:18 +00:00
tuner.h Fix FSF address 2012-11-04 00:07:18 +00:00
tunerchannel.c Fix FSF address 2012-11-04 00:07:18 +00:00
tunerchannel.h Fix FSF address 2012-11-04 00:07:18 +00:00
tunernorm.c Fix FSF address 2012-11-04 00:07:18 +00:00
tunernorm.h Fix FSF address 2012-11-04 00:07:18 +00:00
v4l2_calls.c v4l2: iterate controls with V4L2_CTRL_FLAG_NEXT_CTRL if possible 2013-06-05 13:00:21 +02:00
v4l2_calls.h v4l2: add a property for arbitrary v4l2 controls 2013-05-29 20:18:11 +02:00

v4l2 plugins
============

The idea is a bit the same as the idea for the v4l1 plugins. We want
one generic v4l2element, and a few child objects (probably only two:
v4l2src and v4l2sink):

                /-------- v4l2src
v4l2element ---=
                \-------- v4l2sink

Both v4l2src and v4l2sink have a uncompressed and a compressed
recording-/playback-mode. Since this is all part of v4l2, the 'client'
of these elements, i.e. an application using v4l2src/v4l2sink, will
hardly notice this. All capsnego stuff is done inside, and the plugin
knows which formats are compressed and which are not.

Please note that the v4l1 and the v4l2 plugins are *not* compatible
concerning properties. Naming has been kept the same where possible,
but in some cases, properties had to be removed or added to make
full use of v4l2.

V4L2 API: http://linux.bytesex.org/v4l2/.
          http://v4l2spec.bytesex.org/
          /usr/include/linux/videodev2.h or

Kernel patches available from
          http://dl.bytesex.org/patches/.

Articles:
          http://lwn.net/Articles/203924/