Ayaka
27310365d5
v4l2: Add Video Encoder support
...
This implements H264 encoding support using generic V4L2 interface. It is
reported to work with Samsung MFC driver, IXM.6 CODA driver and
Qualcomm mainline Venus driver. Other platform should be supported as
none of this work is platform specific.
The implementation consist of a GstV4l2VideoEnc base class, which
implements the core streaming functionality. This base class is implemented
by GstV4l2H264Enc class that implements the caps negotiation specific to
H264 profiles and level. This implementation supports hardware with multiple
H264 encoder. Though, to make it simplier to use, the first discovered H264
encoder will be named v4l2h264enc. Other encoder found during discovery will
have a unique name like v4l2video0h264enc.
This work is the combined work of multiple developpers in the last 3
years. Thanks to all of the contributors:
Ayaka <ayaka@soulik.info>
Frédéric Sureau <frederic.sureau@vodalys.com>
Jean-Michel Hautbois <jean-michel.hautbois@veo-labs.com>
Nicolas Dufresne <nicolas.dufresne@collabora.com>
Pablo Anton <pablo.anton@vodalys-labs.com>
https://bugzilla.gnome.org/show_bug.cgi?id=728438
2017-05-24 14:00:22 -04:00
Edgard Lima
8635258046
Update Edgard Lima's email
...
https://bugzilla.gnome.org/show_bug.cgi?id=779230
2017-02-27 00:34:19 +00:00
Luis de Bethencourt
67c2b93106
v4l2: fix v4l2 probe build error
...
A typo in gst_v4l2_probe_and_register() caused a build error when building
with --enable-v4l2-probe. Fixing it.
gstv4l2.c: In function 'gst_v4l2_probe_and_register':
gstv4l2.c:150:25: error: 'struct v4l2_capability' has no member named 'capabilitites'
device_caps = vcap.capabilitites;
2016-07-07 23:55:33 +01:00
Reynaldo H. Verdejo Pinochet
4b16b16aaf
v4l2: use opened device caps instead of physical device ones
...
The same physical device can export multiple devices. In
this case, the capabilities field now contains a union of
all caps available from all exported V4L2 devices alongside
a V4L2_CAP_DEVICE_CAPS flag that should be used to decide
what capabilities to consider. In our case, we need the
ones from the exported device we are using.
https://bugzilla.gnome.org/show_bug.cgi?id=768195
2016-07-07 17:46:06 -04:00
Nicolas Dufresne
1435974c2d
v4l2-probe: Skip devices without supported formats
2015-11-25 14:31:29 -05:00
Nicolas Dufresne
3cdc700e3e
v4l2: Track /dev/video* to triggered required probe
...
If something in /dev/video* get added, removed or replaced, we need to
probe the devices again in order to ensure the dynamic devices are up to
date.
https://bugzilla.gnome.org/show_bug.cgi?id=758085
2015-11-25 14:31:29 -05:00
Arun Raghavan
7b17615da8
v4l2: Set O_CLOEXEC on the device fd
...
This is needed to make sure that child processes don't inherit the video
device fd which can cause problems with some drivers.
2015-11-03 22:02:38 +05:30
Olivier Crête
a9c385686a
Rename GstDeviceMonitor to GstDeviceProvider
2014-06-26 14:57:36 -04:00
Nicolas Dufresne
2676ac9075
v4l2transform: Expose BGRA and ARGB formats
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
b781156625
Implement GstV4l2Transform
...
Implement a v4l2 element that wraps HW video converters.
2014-05-08 15:56:35 -04:00
Tim-Philipp Müller
17c107d4e4
v4l2: minor fix for closing the fd
...
The fd returned by open() could theoretically be 0 as well.
Coverity CID 1211823.
2014-05-05 12:07:25 +01:00
Nicolas Dufresne
aa74871080
v4l2: Use single pass iterator for M2M probe
...
Instead of having each M2M class do their own probing, use the
GstV4l2Iterator and probe all devices in a single pass.
https://bugzilla.gnome.org/show_bug.cgi?id=727925
2014-05-03 23:11:35 -04:00
Nicolas Dufresne
e06c9f7fce
v4l2: Cleanup plugin registration
...
There is no plan to introduce special sources for jpeg, te v4l2src works fine
for this.
https://bugzilla.gnome.org/show_bug.cgi?id=727925
2014-05-03 23:11:34 -04:00
Olivier Crête
cfa5877899
v4l2: Implement GstDeviceMonitor subclass
...
https://bugzilla.gnome.org/show_bug.cgi?id=678402
2014-03-16 20:37:54 -04:00
Benjamin Gaignard
2a870d7d9b
v4l2videodec: Create one element per device
...
For each videoCdevice probe it input/output capabilities
if it match with video decoder requirement register a new element.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
https://bugzilla.gnome.org/show_bug.cgi?id=722128
2014-02-25 14:29:10 -05:00
Nicolas Dufresne
61183670c0
v4l2videodec: Implement v4l2videodec
...
Implement an element that can driver V4L2 M2M decoder device.
https://bugzilla.gnome.org/show_bug.cgi?id=722128
2014-02-25 14:29:10 -05:00
Tim-Philipp Müller
1dfc1f2686
Don't use setlocale in plugins()
...
Only apps should call setlocale(), not libraries.
2013-09-01 21:18:38 +01:00
Wim Taymans
821d99a503
v4l2: don't redefine the PERFORMANCE debug variable
...
It is already defined in core.
fixes https://bugzilla.gnome.org/show_bug.cgi?id=702732
2013-06-20 15:35:11 +02:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Sebastian Dröge
aa2cd462da
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:36:38 +02:00
Stefan Sauer
fb162c8eb4
controller: port to new controller location and api
2011-11-04 20:15:48 +01:00
Wim Taymans
7a296af37f
v4l2: port and enable v4l2sink
2011-07-08 16:10:47 +02:00
Alexey Chernov
e7a63c34ac
v4l2: new v4l2radio element to control analog radio devices
...
https://bugzilla.gnome.org/show_bug.cgi?id=640118
2011-03-27 20:29:43 +01:00
Tim-Philipp Müller
b0eb10cc53
v4l2: mark v4l2sink as experimental and build only if --enable-experimental is passed
...
It's not really of 'good' quality yet, but there's a lot of
code shared with v4l2src, so not so easy to move it elswhere.
https://bugzilla.gnome.org/show_bug.cgi?id=612244
2011-01-02 11:40:29 +00:00
Stefan Kost
a08d4a5447
v4l2src: add controlable colorbalance parameters
...
Expose colorbalance controls as object properties (like we do on xvimagesink).
Make them controlable.
2010-09-10 17:00:58 +03:00
Tim-Philipp Müller
532bbf36ee
v4l2sink: change rank to NONE so it is never autoplugged
2010-02-13 20:59:42 +00:00
Tim-Philipp Müller
114ba3dc6e
v4lsink: lower rank to MARGINAL
2010-02-12 15:56:01 +00:00
Stefan Kost
1a945a32cc
v4l2: log buffer copies on queue underrun in perf category
...
v4l2src has a slow path where it does buffer-copies when it runs out of queued
buffers. Log this to performance category to help monitoring it.
2009-09-11 22:19:23 +03:00
Rob Clark
f19cfbda96
v4l2: Add v4l2sink element
...
This also does the following changes:
(1) pull the bufferpool code out into gstv4l2bufferpool.c, and make a
bit more generic so it can be used both for v4l2src and v4l2sink
(2) move some of the device probing/configuration/caps stuff into
gstv4l2object.c so it does not have to be duplicated between
v4l2src and v4l2sink
Fixes bug #590280 .
2009-08-04 09:16:56 +02:00
Stefan Kost
b51bb31b73
sys/v4l2/gstv4l2.c: Give it a primary rank for autovideosrc.
...
Original commit message from CVS:
* sys/v4l2/gstv4l2.c:
Give it a primary rank for autovideosrc.
2008-11-14 15:42:32 +00:00
Frederic Crozat
426721f717
Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding ( #546822 ).
...
Original commit message from CVS:
Patch by: Frederic Crozat <fcrozat@mandriva.org>
* ext/esd/gstesd.c: (plugin_init):
* ext/flac/gstflac.c: (plugin_init):
* ext/shout2/gstshout2.c: (plugin_init):
* ext/wavpack/gstwavpack.c: (plugin_init):
* sys/oss/gstossaudio.c: (plugin_init):
* sys/v4l2/gstv4l2.c: (plugin_init):
Make sure gettext returns translations in UTF-8 encoding rather
than in the current locale encoding (#546822 ).
2008-08-07 16:11:00 +00:00
Stefan Kost
b638f1c974
sys/v4l2/: Whitespace cleanups, dashify property-names.
...
Original commit message from CVS:
* sys/v4l2/gstv4l2.c:
* sys/v4l2/gstv4l2colorbalance.c:
* sys/v4l2/gstv4l2object.c:
(gst_v4l2_object_install_properties_helper):
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init):
* sys/v4l2/gstv4l2src.h:
Whitespace cleanups, dashify property-names.
2006-09-02 14:45:04 +00:00
Stefan Kost
074e7b0d53
sys/v4l2/: Cleanup error messages and unify header comments
...
Original commit message from CVS:
* sys/v4l2/gstv4l2.c:
* sys/v4l2/gstv4l2colorbalance.c:
* sys/v4l2/gstv4l2colorbalance.h:
* sys/v4l2/gstv4l2object.c:
* sys/v4l2/gstv4l2object.h:
* sys/v4l2/gstv4l2src.c:
* sys/v4l2/gstv4l2src.h:
* sys/v4l2/gstv4l2tuner.c:
* sys/v4l2/gstv4l2tuner.h:
* sys/v4l2/gstv4l2xoverlay.c: (gst_v4l2_xoverlay_open):
* sys/v4l2/gstv4l2xoverlay.h:
* sys/v4l2/v4l2_calls.c: (gst_v4l2_get_capabilities),
(gst_v4l2_open):
* sys/v4l2/v4l2_calls.h:
* sys/v4l2/v4l2src_calls.c: (gst_v4l2src_queue_frame),
(gst_v4l2src_capture_init):
* sys/v4l2/v4l2src_calls.h:
Cleanup error messages and unify header comments
2006-09-02 14:28:55 +00:00
Edgard Lima
ea312722e9
Some clean-ups requested by wingo in bug #338818 .
...
Original commit message from CVS:
Some clean-ups requested by wingo in bug #338818 .
2006-05-19 18:31:25 +00:00
Edgard Lima
9edc0c0365
Changes proposed by Wingo in bug #338818 .
...
Original commit message from CVS:
Changes proposed by Wingo in bug #338818 .
2006-05-11 17:59:59 +00:00
Thomas Vander Stichele
1940330e19
rework build; add translations for v4l2
...
Original commit message from CVS:
rework build; add translations for v4l2
2006-04-01 10:09:11 +00:00
Edgard Lima
2dd8010618
V4L2 ported to 0.10.
...
Original commit message from CVS:
V4L2 ported to 0.10.
2006-03-11 22:50:03 +00:00
Ronald S. Bultje
8033e68ba9
sys/: Remove client-side overlay handling, use the X-server v4l plugin for that. Nicer overlay, less code. Also make ...
...
Original commit message from CVS:
* sys/v4l/Makefile.am:
* sys/v4l/gstv4l.c: (plugin_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_get_type),
(gst_v4lelement_init), (gst_v4lelement_dispose),
(gst_v4lelement_change_state):
* sys/v4l/gstv4lelement.h:
* sys/v4l/gstv4lxoverlay.c: (gst_v4l_xoverlay_open),
(gst_v4l_xoverlay_close), (idle_refresh),
(gst_v4l_xoverlay_set_xwindow_id):
* sys/v4l/gstv4lxoverlay.h:
* sys/v4l/v4l-overlay_calls.c:
* sys/v4l/v4l_calls.h:
* sys/v4l2/Makefile.am:
* sys/v4l2/gstv4l2.c: (plugin_init):
* sys/v4l2/gstv4l2element.c: (gst_v4l2element_get_type),
(gst_v4l2element_init), (gst_v4l2element_dispose),
(gst_v4l2element_change_state):
* sys/v4l2/gstv4l2element.h:
* sys/v4l2/gstv4l2xoverlay.c: (gst_v4l2_xoverlay_open),
(gst_v4l2_xoverlay_close), (idle_refresh),
(gst_v4l2_xoverlay_set_xwindow_id):
* sys/v4l2/gstv4l2xoverlay.h:
* sys/v4l2/v4l2-overlay_calls.c:
* sys/v4l2/v4l2_calls.h:
Remove client-side overlay handling, use the X-server v4l plugin
for that. Nicer overlay, less code. Also make the plugin
compileable without X (but then without overlay, obviously).
Makes xwindowlistener obsolete, should we remove that?
2004-10-25 08:51:15 +00:00
Thomas Vander Stichele
6cc1c73d2b
don't mix tabs and spaces
...
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:27 +00:00
Thomas Vander Stichele
5d25c00e4b
gst-indent
...
Original commit message from CVS:
gst-indent
2004-03-14 22:34:33 +00:00
Thomas Vander Stichele
ca831f952a
remove textdomain calls
...
Original commit message from CVS:
remove textdomain calls
2004-02-02 22:25:38 +00:00
Benjamin Otte
6eabfea8cb
fix missing include
...
Original commit message from CVS:
fix missing include
2004-01-20 01:51:47 +00:00
Thomas Vander Stichele
469936a3bd
putting i18n in place for plugins
...
Original commit message from CVS:
putting i18n in place for plugins
2004-01-19 15:45:55 +00:00
Andy Wingo
e46d34995d
remove copyright field from plugins
...
Original commit message from CVS:
remove copyright field from plugins
2003-12-04 10:37:38 +00:00
Benjamin Otte
bbd6c00598
v4l2 was executing mixmatrix's plugin_init, so make sure to make plugin_init static
...
Original commit message from CVS:
v4l2 was executing mixmatrix's plugin_init, so make sure to make plugin_init static
2003-11-03 22:47:52 +00:00
Ronald S. Bultje
1b570ee7b8
hmm...
...
Original commit message from CVS:
hmm...
2003-11-02 17:02:51 +00:00
Ronald S. Bultje
2381d69692
Move all the several v4l/v4l2 plugins in one v4l and one v4l2 plugin
...
Original commit message from CVS:
Move all the several v4l/v4l2 plugins in one v4l and one v4l2 plugin
2003-09-13 08:58:49 +00:00