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
Nicolas Dufresne
b68d936ae0
Remove plugin specific static build option
...
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:41:19 -04:00
Olivier Crête
a9c385686a
Rename GstDeviceMonitor to GstDeviceProvider
2014-06-26 14:57:36 -04:00
Nicolas Dufresne
fd13e9e96d
Implement V4l2 Allocator
...
This goal of this allocator is mainly to allow tracking the memory.
Currently, when a buffer memory has been modified, the buffer and it's
memory is disposed and lost until the stream is restarted.
2014-05-08 15:56:36 -04:00
Nicolas Dufresne
b781156625
Implement GstV4l2Transform
...
Implement a v4l2 element that wraps HW video converters.
2014-05-08 15:56:35 -04:00
Nicolas Dufresne
726fc3b524
v4l2: Add a common device enumerator
...
This will allow removing code duplication (hence bugs duplication).
https://bugzilla.gnome.org/show_bug.cgi?id=727925
2014-05-03 23:11:35 -04:00
Rico Tzschichholz
f3caba6847
v4l2: fix distcheck
...
Make sure ext/*.h are dist'ed
2014-03-28 19:35:53 +00: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
Nicolas Dufresne
11103c6c47
v4l2: Remove XV support
...
XV support for v4l2 never became upstream and ended up being
commented out with an undef for a long time now.
2014-03-15 13:54:47 +01: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
fdddc35f20
v4l2: remove unused enumtypes and use generic marshaller
2013-08-04 11:03:49 +01:00
Sebastian Dröge
b0b0557c48
gst: Add better support for static plugins
2013-04-15 15:54:11 +02:00
Benjamin Gaignard
e29ab42922
v4l2: Add support of dmabuf
...
v4l has add a new IOCTL to export a buffer by using dmabuf.
This patch allow to use this new IOTCL if it has been defined in videodev2.h
I introduce a new IO mode (GST_V4L2_IO_DMABUF) to enable this way of working.
https://bugzilla.gnome.org/show_bug.cgi?id=693826
2013-02-19 12:57:07 +01:00
Tim-Philipp Müller
527c218533
v4l2src: link against -lrt for clock_gettime()
...
Need to explicitly link against -lrt for clock_gettime(), which
we don't get in the libs any more, because core moved the
gmodule-no-export-2.0 bit into Requires.Private.
Not required for newer glibc, but for older ones, so check for that.
2012-11-30 23:18:12 +00:00
Víctor Manuel Jáquez Leal
8c5d8b52ea
v4l2: ensure autogenerated files are created
...
The tuner marshal and enumtypes are autogenerated, and they need
to be created before the compilation of gstv4l2tuner.c
This patch adds the automake instruction for ensuring the
autogeneration of those files previous the compilation.
2012-04-13 17:13:22 +02:00
Sebastian Dröge
d99eb6d2cb
Update everything for the removal of the interface library and mixer/tuner interfaces
2012-04-13 13:15:11 +02:00
Sebastian Dröge
5cdd49bf25
gst: Update versioning
2012-04-04 14:37:47 +02:00
Stefan Sauer
fb162c8eb4
controller: port to new controller location and api
2011-11-04 20:15:48 +01:00
Tim-Philipp Müller
d5db5ca9be
v4l2: update for GstXOverlay => GstVideoOverlay rename
2011-08-08 15:25:31 +01:00
Wim Taymans
7c5f5b1b7f
v4l2: move capture code to device object
...
Move the details of how to capture to the device object. Remove the
v4l2src_calls.[ch] files because they are empty now.
Provide two simple methods to get and return a buffer to the device.
Also do a slow copy when the buffer is not from our pool.
2011-07-13 18:32:00 +02: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
Rob Clark
67cd90408f
v4l2: re-enable x-overlay support
2010-12-29 11:46:41 -06: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
9590df3c2e
v4l2: fix make distcheck by disting some more headers
2009-08-11 03:08:01 +01: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
Filippo Argiolas
946c20a8ba
v4l2src: optional support for device probing with gudev
...
Enumerate v4l2 devices using gudev if available.
Fixes bug #583640 .
2009-07-13 16:16:05 +02:00
Bastien Nocera
a50de826a2
Optionally use libv4l to access v4l2 devices. Fixes bug #545033 .
...
Original commit message from CVS:
Patch by: Bastien Nocera <hadess at hadess dot net>,
Hans de Goede <jwrdegoede at fedoraproject dot org>
* configure.ac:
* sys/v4l2/Makefile.am:
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_get_read):
* sys/v4l2/v4l2_calls.c: (gst_v4l2_get_capabilities),
(gst_v4l2_fill_lists), (gst_v4l2_open), (gst_v4l2_close),
(gst_v4l2_get_norm), (gst_v4l2_set_norm), (gst_v4l2_get_frequency),
(gst_v4l2_set_frequency), (gst_v4l2_signal_strength),
(gst_v4l2_get_attribute), (gst_v4l2_set_attribute),
(gst_v4l2_get_input), (gst_v4l2_set_input):
* sys/v4l2/v4l2_calls.h:
* sys/v4l2/v4l2src_calls.c: (gst_v4l2_buffer_finalize),
(gst_v4l2_buffer_new), (gst_v4l2_buffer_pool_finalize),
(gst_v4l2_buffer_pool_new), (gst_v4l2_buffer_pool_activate),
(gst_v4l2src_fill_format_list),
(gst_v4l2src_probe_caps_for_format_and_size),
(gst_v4l2src_probe_caps_for_format), (gst_v4l2src_grab_frame),
(gst_v4l2src_set_capture), (gst_v4l2src_capture_init),
(gst_v4l2src_capture_start), (gst_v4l2src_capture_stop),
(gst_v4l2src_get_nearest_size):
Optionally use libv4l to access v4l2 devices. Fixes bug #545033 .
2008-11-04 12:32:48 +00:00
Stefan Kost
084812bffd
Don't install static libs for plugins. Fixes #550851 for -good.
...
Original commit message from CVS:
* ext/aalib/Makefile.am:
* ext/annodex/Makefile.am:
* ext/cairo/Makefile.am:
* ext/dv/Makefile.am:
* ext/esd/Makefile.am:
* ext/flac/Makefile.am:
* ext/gconf/Makefile.am:
* ext/gdk_pixbuf/Makefile.am:
* ext/hal/Makefile.am:
* ext/jpeg/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/libcaca/Makefile.am:
* ext/libmng/Makefile.am:
* ext/libpng/Makefile.am:
* ext/mikmod/Makefile.am:
* ext/pulse/Makefile.am:
* ext/raw1394/Makefile.am:
* ext/shout2/Makefile.am:
* ext/soup/Makefile.am:
* ext/speex/Makefile.am:
* ext/taglib/Makefile.am:
* ext/wavpack/Makefile.am:
* gst/alpha/Makefile.am:
* gst/apetag/Makefile.am:
* gst/audiofx/Makefile.am:
* gst/auparse/Makefile.am:
* gst/autodetect/Makefile.am:
* gst/avi/Makefile.am:
* gst/cutter/Makefile.am:
* gst/debug/Makefile.am:
* gst/effectv/Makefile.am:
* gst/equalizer/Makefile.am:
* gst/flx/Makefile.am:
* gst/goom/Makefile.am:
* gst/goom2k1/Makefile.am:
* gst/icydemux/Makefile.am:
* gst/id3demux/Makefile.am:
* gst/interleave/Makefile.am:
* gst/law/Makefile.am:
* gst/level/Makefile.am:
* gst/matroska/Makefile.am:
* gst/median/Makefile.am:
* gst/monoscope/Makefile.am:
* gst/multifile/Makefile.am:
* gst/multipart/Makefile.am:
* gst/oldcore/Makefile.am:
* gst/qtdemux/Makefile.am:
* gst/replaygain/Makefile.am:
* gst/rtp/Makefile.am:
* gst/rtsp/Makefile.am:
* gst/smpte/Makefile.am:
* gst/spectrum/Makefile.am:
* gst/udp/Makefile.am:
* gst/videobox/Makefile.am:
* gst/videocrop/Makefile.am:
* gst/videofilter/Makefile.am:
* gst/videomixer/Makefile.am:
* gst/wavenc/Makefile.am:
* gst/wavparse/Makefile.am:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
* sys/oss/Makefile.am:
* sys/osxaudio/Makefile.am:
* sys/osxvideo/Makefile.am:
* sys/sunaudio/Makefile.am:
* sys/v4l2/Makefile.am:
* sys/waveform/Makefile.am:
* sys/ximage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for -good.
2008-11-04 12:28:34 +00:00
Edgard Lima
24088fed0a
Improved comments in ELEMENT_ERROR/WARNING and added "#if 0" to xoverlay code that is still not implemented.
...
Original commit message from CVS:
Improved comments in ELEMENT_ERROR/WARNING and added "#if 0" to xoverlay code that is still not implemented.
2006-11-01 19:48:26 +00:00
Wim Taymans
27bde5b96e
sys/v4l2/Makefile.am: Fix makefile, list libs in stack order.
...
Original commit message from CVS:
* sys/v4l2/Makefile.am:
Fix makefile, list libs in stack order.
* sys/v4l2/gstv4l2colorbalance.c:
* sys/v4l2/gstv4l2colorbalance.h:
* sys/v4l2/gstv4l2object.c: (gst_v4l2_device_get_type),
(gst_v4l2_object_install_properties_helper):
* sys/v4l2/gstv4l2object.h:
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_get_read),
(gst_v4l2src_get_mmap), (gst_v4l2src_create):
* sys/v4l2/gstv4l2src.h:
* sys/v4l2/gstv4l2tuner.h:
* sys/v4l2/gstv4l2vidorient.h:
* sys/v4l2/gstv4l2xoverlay.h:
* sys/v4l2/v4l2_calls.h:
* sys/v4l2/v4l2src_calls.h:
Fix coding style:
- Remove extern from functions.
- Fix header indentation.
Fix Flags, add defaults for properties.
Remove unused enums.
Fix TOO_LAZY in error messages.
2006-09-26 13:18:06 +00:00
Edgard Lima
7e3c500f05
Add Video Orientation interface support to v4l2src.
...
Original commit message from CVS:
Add Video Orientation interface support to v4l2src.
2006-09-19 13:08:35 +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
Edgard Lima
ee5f475e67
Few improvements to move to good.
...
Original commit message from CVS:
Few improvements to move to good.
2006-05-01 21:37:51 +00:00
Julien Moutte
b6fc501669
Fix build of v4l2 (sigh)
...
Original commit message from CVS:
2006-03-13 Julien MOUTTE <julien@moutte.net>
* docs/plugins/gst-plugins-bad-plugins-decl-list.txt:
* sys/v4l2/Makefile.am: Fix build of v4l2 (sigh)
2006-03-13 10:05:09 +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
Ronald S. Bultje
00b0cdf8ff
ext/divx/: Set category to divx4linux instead of divx (too generic).
...
Original commit message from CVS:
2004-01-14 Ronald Bultje <rbultje@ronald.bitfreak.net>
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
Set category to divx4linux instead of divx (too generic).
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_parse_fmt), (gst_wavparse_handle_sink_event),
(gst_wavparse_loop), (gst_wavparse_change_state):
* gst/wavparse/gstwavparse.h:
fix parsing of WAV files with non-standard fmt-tag size and fix
skipping of unrecognized chunks... Someone please fix this thing
to use rifflib so all this is automated.
* sys/v4l/Makefile.am:
* sys/v4l2/Makefile.am:
Add X_CFLAGS because we depend on X (for overlay).
2004-01-14 10:48:18 +00:00
David Schleef
cbd51d3bd3
distcheck fixes
...
Original commit message from CVS:
distcheck fixes
2003-11-22 04:06:06 +00:00
Jan Schmidt
d236cce511
All the interfaces are collected in libgstinterfaces now.
...
Original commit message from CVS:
All the interfaces are collected in libgstinterfaces now.
2003-11-06 15:24:41 +00:00
Ronald S. Bultje
6ea149569f
Forgot to commit Makefile.am - these remove the marshallers and add interface implementation files
...
Original commit message from CVS:
Forgot to commit Makefile.am - these remove the marshallers and add interface implementation files
2003-10-14 10:13:05 +00:00
Ronald S. Bultje
3a98c2756f
typos
...
Original commit message from CVS:
typos
2003-09-13 10:44:47 +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
David Schleef
0fbf4221a6
Remove redundant definition of plugindir
...
Original commit message from CVS:
Remove redundant definition of plugindir
2003-08-10 00:03:39 +00:00
Ronald S. Bultje
1a8a2ef6e4
Unification of the way to speak to v4l2 and v4l elements... Also fix a segfautl when doing gst-inspect v4l2src
...
Original commit message from CVS:
Unification of the way to speak to v4l2 and v4l elements... Also fix a segfautl when doing gst-inspect v4l2src
2003-03-02 21:58:52 +00:00
Thomas Vander Stichele
e16c50551b
parallel install fixes
...
Original commit message from CVS:
parallel install fixes
2002-12-08 14:50:09 +00:00
Ronald S. Bultje
9413402bc6
this adds video4linux2 source and element plugins. The division in v4l2* plugins is the same as for v4l1 - i.e. an el...
...
Original commit message from CVS:
this adds video4linux2 source and element plugins. The division in v4l2* plugins is the same as for v4l1 - i.e. an element, a src and a sink, but there won't be separate encoding plugins (like v4lmjpegsrc) - all functionality is (thanks to video4linux2) integrated in one plugin: v4l2src. v4l2sink is still to be done, that'll come later.
2002-09-09 07:14:35 +00:00