Sebastian Dröge
7dc03df3de
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:56:48 +01:00
Sebastian Dröge
5dd1a28906
x264enc: Don't set max latency to the same value as the encoder latency
...
The meaning of the max latency is *not* the maximum latency this element will
introduce. It is the maximum latency this element can endure without
overflowing any buffers, which is infinite for x264enc.
Fixes latency configuration in zero latency mode, where max latency was
becoming 0... which usually won't work well if something else introduces
latency as then max < min in the end, and latency configuration just fails.
2015-02-06 19:04:32 +01:00
Vincent Penquerc'h
5f075f3361
x264enc: set annexb=1 in byte stream mode when downstream has ANY caps
...
This matches what is done when downstream caps are not ANY, and fixes
prerolling in byte stream mode when typefind is downstream.
2015-02-02 14:28:33 +00:00
Nicolas Dufresne
acc9529a36
x264enc: Don't set an allocation maximum
...
There is no reason x264enc should enforce a maximum allocation size.
The maximum is normally set by buffer pool which cannot grow, but we
don't offer a buffer pool. This would lead to stall when used with
element that don't implement allocation query.
Related to: https://bugzilla.gnome.org/show_bug.cgi?id=738302
2015-01-18 11:07:43 -05:00
Tim-Philipp Müller
5872a1454e
x264: fix colour inversion with YV12 format
...
It's the same as I420 but with the U/V planes swapped.
2014-08-05 19:47:26 +01:00
Nicolas Dufresne
8aea88d261
x264enc: Request buffers in allocation query
...
https://bugzilla.gnome.org/show_bug.cgi?id=732288
2014-07-25 14:29:21 -04:00
Nicolas Dufresne
698714fc97
x264enc: Shift both PTS and DTS to ensure positive timestamp
...
Currently we only shift DTS to compensate that we don't support negative
timestamp. This cause a problem that PTS is no longer >= DTS and may
make muxers live much harder. Instead, shift both PTS/DTS forward. Also
remove all the hack to handle this which seems the result of thinking libx264
is bugged.
https://bugzilla.gnome.org/show_bug.cgi?id=731351
2014-07-19 12:59:05 -04:00
Aurélien Zanelli
84b2009155
x264enc: fix caps leak in set_format()
...
https://bugzilla.gnome.org/show_bug.cgi?id=730865
2014-05-28 10:09:41 +02:00
Dirk Van Haerenborgh
e15eb270f9
x264enc: allow lossless compression (qp=0)
...
https://bugzilla.gnome.org/show_bug.cgi?id=725051
2014-02-26 09:18:37 +01:00
Tim-Philipp Müller
88b27e30c9
x264enc: fix compiler warning
...
Compiler warns rightly about possibly uninitialized variable.
2013-11-29 15:54:55 +00:00
Tim-Philipp Müller
20d6dbd2f6
x264enc: fix crash on NULL caps when negotiation happens without a downstream peer
...
gst-launch-1.0 videotestsrc ! x264enc
2013-11-29 15:54:55 +00:00
Michael Esemplare
fc29cbaa54
x264enc: If FPS is available, set VFR to false
...
https://bugzilla.gnome.org/show_bug.cgi?id=708940
2013-10-04 12:07:31 +02:00
Andoni Morales Alastruey
03a98eabce
x264enc: Update the documentation to match the default profile used
...
https://bugzilla.gnome.org/show_bug.cgi?id=708036
2013-09-24 10:47:41 +02:00
Olivier Crête
b82703170a
x264enc: Implement getcaps that restricts the input format depending on the output profile
...
Also add some x264enc profile tests
https://bugzilla.gnome.org/show_bug.cgi?id=708326
2013-09-18 19:33:01 -04:00
Mathieu Duponchelle
0243810e1e
x264enc: Don't unref future state but the old one
...
Being silly will lead us nowhere.
2013-09-05 22:56:48 +02:00
Sebastian Dröge
55037ab411
x264enc: Check if we have an input state before using it
...
Flushing might happen before caps were set on the encoder,
which would lead to crashes here.
Thanks to Matej Knopp for analyzing this.
https://bugzilla.gnome.org/show_bug.cgi?id=707414
2013-09-04 16:33:18 +02:00
Matej Knopp
ae45623450
x264enc: fix unsigned comparison warning
2013-09-04 10:47:55 +02:00
Tim-Philipp Müller
6572393629
x264enc: log when we output a lower profile than requested
2013-08-27 14:13:06 +01:00
Sebastian Dröge
aab5534573
x264enc: Consider subset relations of profiles when setting srcpad caps
...
constrained-baseline is a subset of baseline, is a subset of main,
is a subset of high profile.
https://bugzilla.gnome.org/show_bug.cgi?id=705425
2013-08-21 18:35:09 +02:00
Tim-Philipp Müller
e0ae81ebac
x264enc: propagate flow return back to base class and upstream
...
https://bugzilla.gnome.org/show_bug.cgi?id=705425
2013-08-21 12:35:32 +01:00
Tim-Philipp Müller
71ce5136d1
x264enc: minor clean-up
...
We requires x264 build >= 120 now.
2013-08-17 23:09:15 +01:00
Sebastian Dröge
f541f94262
ext: Use new flush vfunc of video codec base classes and remove reset implementations
2013-08-15 15:27:48 +02:00
Edward Hervey
767005d8c0
x264: Fix dts comparision
...
We were assigning to a guint64 value (frame->dts) the sum of a unsigned
and signed value... resulting it the result never being < 0.
Instead just check if it is smaller before assigning to frame->dts.
2013-07-26 16:47:30 +02:00
Sebastian Dröge
a4a89275f8
x264enc: React properly to flushing/resetting the encoder
...
https://bugzilla.gnome.org/show_bug.cgi?id=656007
2013-07-25 12:48:55 +02:00
Tim-Philipp Müller
62ac56668a
x264enc: output byte-stream if downstream has ANY caps
...
It's what people expect when they pipe the output to
filesink or into a tcp connection or pipe.
2013-04-30 10:04:23 +01:00
Tom Greenwood
2e38f24b56
x264enc: Fix for 0/1 framerate - now uses VFR in this case
...
Previously did a division by zero.
https://bugzilla.gnome.org/show_bug.cgi?id=695728
2013-03-25 10:08:44 +01:00
Tim-Philipp Müller
5f83e4101f
x264enc: simplify template caps
...
No need to make an array for one single element.
2013-02-08 00:15:01 +00:00
Tim-Philipp Müller
201e3f74be
x264enc: put all theoretically possible formats in template caps
...
and decide at runtime which subset of these (8-bit or 10-bit video
formats) is supported. libx264 will be compiled for one of these
two options, and it is possible to switch by pointing the dynamic
linker to a different libx264 build at runtime. If we want our
template caps to be correct, they should contain all then, with
the actually supported ones determined at runtime.
https://bugzilla.gnome.org/show_bug.cgi?id=691935
2013-02-08 00:11:03 +00:00
Tim-Philipp Müller
e765deb01b
x264enc: detect supported bit depth and pixel formats at runtime
...
http://bugs.debian.org/667573
https://bugzilla.gnome.org/show_bug.cgi?id=691935
2013-02-07 13:37:44 +00:00
Sebastian Dröge
fcd55cfd12
x264enc: Add support for 10-bit color formats
...
Requires x264 to be built with 10-bit support, which disables
9-bit support. Also only advertise the color formats that were
compiled into x264.
2012-11-15 16:42:09 +01:00
Sebastian Dröge
d098eb0941
x264enc: Add support for Y444, Y42B and NV12
2012-11-15 16:21:49 +01:00
Tim-Philipp Müller
9c690b2018
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:40:37 +00:00
Tim-Philipp Müller
4935096912
x264enc: when setting fallback decoder latency, set valid min_latency
...
Min. latency needs to be a valid time, so pass 0 as default
value in the fallback case where we can't determine any latency,
and avoid nasty criticals at runtime.
2012-09-26 01:05:52 +01:00
Mark Nauwelaerts
b06e81b532
x264enc: clean up some debug statements
2012-09-09 16:04:56 +02:00
Mark Nauwelaerts
839e75d5d1
x264enc: handle possibly negative DTS provided by codec
...
... by arranging for an offset such that DTS == PTS for keyframes,
which is expected elsewhere to go along with semantics of PTS and DTS.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679443
2012-09-07 17:38:40 +02:00
Sebastian Dröge
9390195cfe
x264enc: Use new video encoder base class API for handling tags
2012-08-09 16:30:10 +02:00
Sebastian Dröge
32857a7621
tag: Update for taglist/tag event API changes
2012-07-28 00:35:59 +02:00
Wim Taymans
f711750bba
update for query api changes
2012-07-06 11:50:55 +02:00
Wim Taymans
ef07bb9d47
update for allocation query changes
2012-07-06 11:05:17 +02:00
Matej Knopp
711d2b18a7
x264enc: Fix unitialized variable and taglist event
2012-06-21 08:45:22 +01:00
Wim Taymans
e956902511
fix compilation
2012-06-20 10:39:24 +02:00
Sebastian Dröge
d424827283
x264enc: Fix compiler warning
2012-06-19 15:19:28 +01:00
Sebastian Dröge
f664108a6e
x264enc: Port to 0.11 again
2012-06-19 09:26:02 +01:00
Nicolas Dufresne
3527ccc07e
x264enc: Don't set latency while holding object lock
...
This reverts commit 30a0b50e9ca0d625e61f994d4f8acd022dcddf38.
https://bugzilla.gnome.org/show_bug.cgi?id=675762
2012-06-18 16:01:20 +01:00
Nicolas Dufresne
017bb86d82
x264enc: Use video encoder stream lock to avoid deadlock
2012-06-18 16:01:20 +01:00
Nicolas Dufresne
43093dffea
x264enc: Port to new way of passing frame reference
2012-06-18 16:01:20 +01:00
Nicolas Dufresne
2656e42bb7
x264enc: Set default stream-format to avc as it's a better format
2012-06-18 16:01:20 +01:00
Nicolas Dufresne
c3cc8d416c
x264enc: Fix setting latency
...
Fixes setting latency when framerate is dynamic and round up the latency
to avoid rounding issues.
2012-06-18 16:01:20 +01:00
Nicolas Dufresne
6e920bc4aa
x264enc: gst_video_encoder_get_frame() is now transfer full
2012-06-18 16:01:20 +01:00
Nicolas Dufresne
31b5e86ebd
x264enc: don't leak output state
2012-06-18 16:01:20 +01:00