John-Mark Bell
d9cedee042
vp8enc: finish support for temporally scaled encoding
...
- introduce two new properties:
* temporal-scalability-layer-flags:
Provide fine-grained control of layer encoding to the
outside world. The flags sequence should be a multiple of
the periodicity and is indexed by a running count of encoded
frames modulo the sequence length.
* temporal-scalability-layer-sync-flags:
Specify the pattern of inter-layer synchronisation (i.e.
which of the frames generated by the layer encoding
specification represent an inter-layer synchronisation).
There must be one entry per entry in
temporal-scalability-layer-flags.
- apply temporal scalability settings and expose as buffer
metadata.
This allows the codec to allocate a given frame to the correct
internal bitrate allocator. Additionally, all the
non-bitstream metadata needed to payload a temporally scaled
stream is now attached to each output buffer as a
GstVideoVP8Meta.
- add unit test for temporally scaled encoding.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/728 >
2020-10-16 09:25:10 +00:00
Thibault Saunier
95efaf9d56
vpx: Fix links to baseclass properties
2020-06-23 12:47:44 -04:00
Mathieu Duponchelle
3429ddde38
docstrings: port ulinks to markdown links
2019-08-23 18:56:01 +02:00
Mathieu Duponchelle
d704790519
doc: fix element section documentations
...
Element sections were not rendered anymore after the hotdoc
port, fixing this revealed a few incorrect links.
2019-05-25 16:57:31 +02:00
Thibault Saunier
0a6a62aa76
docs: Port all docstring to gtk-doc markdown
2019-05-13 10:24:40 -04:00
Vineeth TM
1071309870
good: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Sebastian Dröge
70db210315
vp8enc: Ensure that we always have valid frame user data before using it
...
Otherwise we're going to dereference NULL pointers.
2016-01-20 13:41:33 +02:00
Prashant Gotarne
5c7eb0f886
vpx: created common baseclass GstVPXEnc
...
GstVP8Enc and GstVP9Enc has almost 80% code in common.
created common baseclass GstVPXEnc for GstVP8Enc and GstVP9Enc
https://bugzilla.gnome.org/show_bug.cgi?id=755510
2015-12-15 14:03:29 -05:00
Reynaldo H. Verdejo Pinochet
97a94b02ae
vp8enc: remove unnecessary NULL check before g_free()
2015-11-15 01:43:08 -08:00
Thiago Santos
1b27badcfd
videoencoders: use template subset check for accept-caps
...
It is faster than doing a query that propagates downstream and
should be enough
Elements: jpegenc, pngenc, vp8enc, vp9enc, y4menc
2015-08-16 14:30:57 -03:00
Tim-Philipp Müller
98527a6ea2
vp8enc, vp9enc: reset multipass file index when stopping encoder
...
Fixes multipass encoding when re-using the same element/pipeline
for subsequent encoding runs.
https://bugzilla.gnome.org/show_bug.cgi?id=747728
2015-08-15 11:21:02 +01:00
Oleksij Rempel
abc33c928f
vp8enc: provide support for multiple pass cache files
...
Some files may provide different caps insight of one stream. Since vp8enc
support caps reinit, we should support cache reinit too.
If more then file cache file will be created, the naming will be:
cache
cache.1
cache.2
...
https://bugzilla.gnome.org/show_bug.cgi?id=747728
2015-08-14 11:40:58 +01:00
Sebastian Dröge
a0b69c8dac
vp[89]enc: Properly convert between GStreamer and encoder timebase
...
... by switching numerator and denominator when scaling.
https://bugzilla.gnome.org/show_bug.cgi?id=749122
2015-05-12 12:13:16 +03:00
Sebastian Dröge
eb365cc3bb
vp[89]enc: Don't set timebase from the framerate
...
The framerate very often is just an indication of the ideal framerate, not the
actual framerate of the stream. By just using the framerate, we confuse the
rate control algorithm algorithm as multiple frames will map to the same PTS
or have durations of 0.
https://bugzilla.gnome.org/show_bug.cgi?id=749122
2015-05-12 11:54:40 +03:00
Tim-Philipp Müller
2e412a447a
docs: update example pipelines in element docs
...
Mostly gst-launch -> gst-launch-1.0
Use autovideosink/autoaudiosink more often.
Sprinkle some converters here and there.
2015-05-10 11:05:00 +01:00
Olivier Crête
12867fcb3d
vp8enc: Expose VP8 width/height limitations in the caps template
...
The VP8 format specification (RFC 6386 section 18.1) specifies
that the maximum size is 16383x16383.
2015-04-01 19:31:18 -04:00
Sebastian Dröge
a52e432fda
vp[89]enc: Reset the encoder when flushing
...
https://bugzilla.gnome.org/show_bug.cgi?id=745704
2015-03-09 16:47:57 +01:00
Sebastian Dröge
379621fd0b
vp8enc: Use 0 as duration for the EOS "frame"
2015-03-02 15:06:09 +01:00
Sebastian Dröge
51ebca3c03
vp{8,9}enc: Tell the encoder about actual timestamps and durations of frames
...
... instead of just counting frames. The values are supposed to be in timebase
units, not frame units. This fixes various quality problems with VP8/VP9
encoding and in general makes the encoder behave better.
Thanks to Nirbheek Chauhan for noticing this bug.
2015-03-02 15:03:49 +01:00
Sebastian Dröge
f4b5107796
Improve and fix LATENCY query handling
...
This now follows the design docs everywhere, especially the maximum latency
handling.
https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 13:53:02 +01:00
Thibault Saunier
7874bba773
vpXenc: CLOCK_TIME_NONE is not a valid min_latency value
...
We should just use 0 if we do not have the information
2014-12-09 20:38:22 +01:00
Aurélien Zanelli
d0e8a385e0
vpx: mark arnr-type properties as deprecated and set them to no-op
...
ARNR type control in libvpx has been deprecated so this commit mark the
vp8enc and vp9enc associated properties as deprecated and change their
behavior to just display a warning message.
https://bugzilla.gnome.org/show_bug.cgi?id=739476
2014-11-10 16:14:17 +01:00
Sebastian Dröge
23a3377b1e
vp8enc/vp9enc: Protect the encoder with a mutex in all situations
2014-09-30 11:35:42 +03:00
Sebastian Dröge
ced5d657e3
vp8enc: finish() and drain() should return a GstFlowReturn
2014-09-30 11:35:42 +03:00
Jose Antonio Santos Cadenas
a2e2012ae3
vp8enc: Allow caps renegotiation
...
https://bugzilla.gnome.org/show_bug.cgi?id=726329
2014-09-30 11:35:35 +03:00
Edward Hervey
b4a129ad71
vp8enc: Don't dereference NULL variable
...
CID #1139838
2014-06-02 09:46:05 +02:00
Edward Hervey
ce4bb3ffef
vp8enc: Don't dereference NULL variable
...
CID #1139838
2014-05-20 08:24:48 +02:00
Vincent Penquerc'h
a6e7948711
vp8enc: guard against NULL pointer dereference
...
Coverity 1139838
2014-05-02 14:02:52 +01:00
Tom Greenwood
5532989728
vp8enc: Add property to manually specify the timebase of the encoder
...
https://bugzilla.gnome.org/show_bug.cgi?id=695709
2013-05-26 10:23:08 +02:00
Tom Greenwood
4d0542220e
vp8enc: Fix for divide by zero when using 0/1 framerate
...
https://bugzilla.gnome.org/show_bug.cgi?id=695709
2013-03-25 10:05:25 +01:00
Sebastian Dröge
0726b71ceb
ext/sys: Fix some compilation errors caused by circular includes
2012-12-12 17:35:04 +00:00
Sebastian Dröge
9ad88d265c
vp8enc: Don't leak GstVideoCodecFrames that cause the creation of invisible frames
...
Fixes bug #682714 .
2012-11-12 13:01:23 +01: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
Oleksij Rempel
83a47cdd0e
vp8enc: set DECODE_ONLY flag on invisible AltRef frames
...
https://bugzilla.gnome.org/show_bug.cgi?id=654216
2012-10-23 16:14:43 +01:00
Tim-Philipp Müller
9dcdc413a7
jpeg, png, vpx: use gst_element_class_set_static_metadata()
...
Avoids some string copies.
2012-10-17 17:03:39 +01:00
Sebastian Dröge
7ceef442a7
vp8enc: And this time fix the default target-bitrate value for real
2012-10-15 15:36:04 +02:00
Sebastian Dröge
1962384cff
vp8enc: Fix default target-bitrate value
2012-10-15 15:32:22 +02:00
Edward Hervey
e39fd693d7
vp8enc: Disable GLIB deprecation warnings
...
GValueArray has been deprecated since 2.32 ... but there's no usable
replacement for it.
See https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-09-25 14:47:25 +02:00
Sebastian Dröge
ee295d3fd5
vp8enc: Correctly finish frames
...
Previously we would always get the same frame if multiple frames are pending,
leaking memory of the previous frames and breaking timestamps.
2012-09-17 09:48:56 +02:00
Sebastian Dröge
3e86ea8fb5
vp8enc: Allow changing bitrate and other parameters during playback
...
Fixes bug #648276 .
2012-09-17 09:40:41 +02:00
Sebastian Dröge
4815036708
vp8enc: Store configuration in the vpx_codec_enc_cfg_t struct instead of duplicating all variables
...
Also protect encoder with a mutex.
2012-09-17 09:29:26 +02:00
Sebastian Dröge
8ed85c7538
vp8enc: Update documentation to reflect new property names
...
...and also link to the WebM encoder parameters website.
2012-09-16 16:03:06 +02:00
Sebastian Dröge
acd0824cf6
vp8enc: Make some property names more readable
2012-09-16 15:58:51 +02:00
Sebastian Dröge
2a4e3d2110
vpx: Rename vp8 plugin to vpx
...
This is using libvpx, which can support more codecs than just VP8
and will likely support future codecs.
2012-09-16 15:33:57 +02:00