Sebastian Dröge
c5b081edc2
videoencoder: Add min-force-key-unit-interval property
...
This allows configuring the minimum interval between subsequent
force-key-unit requests and prevents a big bitrate increase if a lot of
key-units are requested.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/684 >
2020-06-05 10:04:43 +00:00
Guillaume Desmottes
3e32896912
videoencoder: add API to push subframes
...
Introduce a new API so encoders can split the encoding in subframes.
This can be useful to reduce the overall latency as we no longer need to
wait for the full frame to be encoded to start decoding or sending it.
2019-12-21 02:59:14 +00:00
Olivier Crête
6b283d9e78
Revert "videoencoder: factor out logic from gst_video_encoder_finish_frame()"
...
This reverts commit b1ec312b8e
.
2019-12-19 17:52:12 -05:00
Stéphane Cerveau
b1ec312b8e
videoencoder: factor out logic from gst_video_encoder_finish_frame()
...
No semantic change, I'm going to reuse all those functions in a new
finish_slice() methods.
2019-12-19 21:59:10 +00:00
Niels De Graef
93daa1435a
Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally
...
Since we started depending on GLib 2.44, we can be sure this macro is
defined (it will be a no-op on compilers that don't support it). For
plugins we should just start using `G_DECLARE_FINAL_TYPE` which means we
no longer need the macro there, but for most types in base/gst-libs we
don't want to break ABI, which means it's better to just keep it like it
is (and use the `#ifdef` instead).
2019-06-04 20:31:09 -04:00
Sebastian Dröge
03a85de734
libs: Fix various Since markers
2019-04-23 12:28:26 +00:00
Tim-Philipp Müller
ae429de8f6
video: GST_EXPORT -> GST_VIDEO_API
...
We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
2018-03-13 12:16:42 +00:00
Sebastian Dröge
30833f6242
video: Change struct padding from void* to gpointer
...
gobject-introspection causes inconsistent type information for the
former and we use gpointer everywhere else.
2018-02-07 18:40:49 +02:00
Guillaume Desmottes
7950a4614c
videoencoder: add qos property
...
This new property control if the encoder base class should gather QoS
stats and if subclasses should use them by dropping late frames.
https://bugzilla.gnome.org/show_bug.cgi?id=789467
2017-10-25 14:22:15 +02:00
Guillaume Desmottes
bcca3b926c
videoencoder: implement QoS
...
It allows encoders to detect and drop input frames which are already
late to increase the chance of the pipeline to catch up.
The QoS logic and code is directly copied from gstvideodecoder.c.
https://bugzilla.gnome.org/show_bug.cgi?id=582166
2017-10-19 16:26:22 +02:00
Tim-Philipp Müller
820c34740f
video: mark symbols explicitly for export with GST_EXPORT
2017-05-16 15:23:12 +01:00
Sebastian Dröge
5be3c5f6b2
videodecoder/encoder: Correct GST_IS_*CODER_CLASS macros
...
They are currently not used, but would result in a compiler error due to wrong
variable name usage.
https://bugzilla.gnome.org/show_bug.cgi?id=766203
2016-05-10 10:01:12 +03:00
Thibault Saunier
1bf18f6f44
videoencoder: Deprecate GST_VIDEO_ENCODER_FLOW_DROPPED
...
It was never actually supported or used
https://bugzilla.gnome.org/show_bug.cgi?id=760666
2016-01-20 09:51:09 +02:00
Xavier Claessens
429860e51f
base: Add g_autoptr() support to all types
...
https://bugzilla.gnome.org/show_bug.cgi?id=754464
2015-12-14 13:39:43 -05:00
Thiago Santos
d259a233a5
videoencoder: remove empty line to make g-i-scanner happy
...
gstvideoencoder.h:228: Warning: GstVideo: "@transform_meta"
parameter unexpected at this location:
* @transform_meta: Optional. Transform the metadata on ...
2015-08-10 10:40:19 -03:00
Sebastian Dröge
ceef2cc12d
videoencoder: Add transform_meta() vfunc with default implementation
...
The default implementation copies all metadata without tags, and metadata
with only the video tag. Same behaviour as in GstVideoFilter.
https://bugzilla.gnome.org/show_bug.cgi?id=742385
2015-06-30 10:40:09 +02:00
Matej Knopp
dc7b254805
videoencoder: Add gst_video_encoder_set_min_pts()
...
For streams with reordered frames this can be used to ensure that there
is enough time to accomodate first DTS, which may be less than first PTS
https://bugzilla.gnome.org/show_bug.cgi?id=740575
2015-06-12 17:17:25 -04:00
Sebastian Dröge
729e3c8a10
videoencoder: Add sink_query() src_query() virtual functions
...
Based on the videodecoder change by Nicolas Dufresne and applied
here for consistency.
https://bugzilla.gnome.org/show_bug.cgi?id=720103
2013-12-09 16:34:19 +01:00
Olivier Crête
779e360352
videoencoder: Remove gst_video_encoder_set/get_discont
...
They've never existed outside the header file.
2013-12-06 16:24:46 -05:00
Sebastian Dröge
146bb1a153
video{en,de}coder: Add new flush vfunc as a replacement for reset
2013-08-15 13:26:39 +02:00
Sebastian Dröge
9df036c216
video{en,de}coder: Revert to old ::reset() behaviour and deprecate it
2013-08-15 13:26:38 +02:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Andoni Morales Alastruey
8a5cf5ef4d
audio/video: update documentation for vfunc's that require chaining up
2012-10-08 13:04:02 +02:00
Mark Nauwelaerts
214b7b6d1d
video: add some padding
...
... and clean up some related resolved FIXMEs
2012-09-10 14:03:49 +02:00
Sebastian Dröge
bdc056c12d
video: Add methods to return a list of all pending GstVideoCodecFrames
2012-08-16 12:13:25 +02:00
Víctor Manuel Jáquez Leal
c02dcda885
videoencoder: getter for allocator
...
Sometimes the encoder would need to use the allocator for something else than
just allocating output buffers, for example, querying different parameters.
This patch expose a getter accessor for the negotiated memory allocator.
2012-08-14 15:47:23 +02:00
Sebastian Dröge
3c915afc39
videoencoder: Add API to conveniently handle tags
2012-08-09 16:02:15 +02:00
Sebastian Dröge
e37bb460bd
videoencoder: Add negotiate vfunc that is used to negotiate with downstream
...
The default implementation negotiates a buffer pool and allocator
with downstream.
2012-08-09 14:47:46 +02:00
Vivia Nikolaidou
d2e1b64e0c
videoencoder: Expose _negotiate function
...
This is to be called by encoders once they have set the output format
in order for (re)negotiation to be triggered as early as possible.
https://bugzilla.gnome.org/show_bug.cgi?id=679878
2012-07-24 20:42:49 +02:00
Sebastian Dröge
1645ea4a90
video: Rename alloc_output_buffer() to allocate_output_buffer()
2012-07-23 10:18:41 +02:00
Sebastian Dröge
fc24035790
videoencoder: Fix parameters names in header
2012-07-23 09:54:50 +02:00
Sebastian Dröge
cce1078fe9
videoencoder: Add decide_allocation vfunc and functions to allocate buffers with the information from the allocation query
2012-07-23 09:39:47 +02:00
Edward Hervey
2817bdadc9
libs: Remove "Since" markers and minor doc fixups
2012-07-13 12:11:06 +02:00
Sebastian Dröge
76f47979c1
videoencoder: Don't propose video-meta by default
2012-04-25 13:19:11 +02:00
Sebastian Dröge
3de8d58c4e
videoencoder: Add support for subclasses to propose allocation parameters
2012-04-24 22:42:59 +02:00
Sebastian Dröge
13b88908ce
videoencoder: Require to chain up to the parent's sink event functions
2012-04-24 19:47:22 +02:00
Sebastian Dröge
f7bc9cc5ba
video: Initial port of video base classes and related things to 0.11
2012-04-24 19:35:24 +02:00
Edward Hervey
f6cfd763e4
video: Base classes for video decoders and encoders
2012-04-24 17:03:40 +02:00