Philippe Normand
6ce195e9d1
v4l2: Profile and level probing support for encoders and decoders
...
There used to be some profile/level support in encoders. This code was moved to
GstV4l2Codecs and is now also used for decoders. The caps templates for the
H.264, H.265, MPEG4, VP8 and VP9 encoders and decoders should now reflect the
profiles and levels advertised by the kernel.
2019-06-05 10:23:40 +01:00
Amit Pandya
15429ee411
v4l2videoenc: Add HEVC support
...
Add HEVC encoder support.
https://bugzilla.gnome.org/show_bug.cgi?id=797141
2018-10-24 12:01:59 +01:00
Ezequiel Garcia
63535d9086
v4l2: Add JPEG encoding support
...
This commit adds the support for V4L JPEG stateful encoders.
2018-09-13 20:48:09 -04:00
Ezequiel Garcia
944debd3db
v4l2: Add FWHT codec support
...
The recently added vicodec (virtual codec) V4L driver
uses the Fast Walsh-Hadamard Transform for encoding
and decoding.
Add support for it.
2018-09-13 20:48:09 -04:00
Nicolas Dufresne
040e25218a
v4l2: Add VP8/9 encoder support
2017-08-01 16:01:11 -04:00
Nicolas Dufresne
2c7dfff047
v4l2: Add H263 Encoder support
2017-07-31 16:46:25 -04:00
Nicolas Dufresne
27cdcaf363
v4l2: Add missing no-inst header
2017-07-27 13:51:25 -04:00
Nicolas Dufresne
c5d0264bc9
v4l2: Add interface for MPEG4 encoding
2017-07-27 12:12:00 -04:00
Nicolas Dufresne
bec03858fa
v4l2: Merge v4l2_calls.h into gstv4l2object.h
...
First step of a larger cleanup, all function from v4l2_calls are in fact
methods on GstV4l2Object. This split makes the code really confusing.
This also remove no longer unused macros.
2017-07-17 20:48:28 -04:00
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