Sebastian Dröge [Sat, 18 Sep 2021 08:51:03 +0000 (11:51 +0300)]
avcodecmap: Add support for GBRA_10LE/BE
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/142>
Stéphane Cerveau [Fri, 6 Aug 2021 15:41:19 +0000 (17:41 +0200)]
avdemux: add xwma support
Add xwma tested with the media
b8edfb1e970ed7892f35b34a1ef36fee_wma.wav
from this ticket:
http://trac.ffmpeg.org/ticket/9358
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/138>
Olivier Crête [Wed, 22 Jan 2020 17:41:27 +0000 (12:41 -0500)]
avviddec: Enable subframe decoding for H.264
Enable sending NAL units to the decoder without having to first
group them in a frame (an AU).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/66>
Olivier Crête [Wed, 22 Jan 2020 17:39:47 +0000 (12:39 -0500)]
avviddec: Split allocation tracking from decode-only-ness
When doing subframe decoding, handle_frame will be called multiple
times, so the DECODE_ONLY flag gets re-set when it shouldn't. Instead,
let's create our own flag to track this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/66>
Corentin Damman [Mon, 21 Jun 2021 08:33:59 +0000 (08:33 +0000)]
Update COPYING
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/135>
Doug Nazar [Thu, 3 Jun 2021 10:01:30 +0000 (06:01 -0400)]
avviddec: Fix size of linesize parameter
Although avcodec_align_dimensions2() only copies 4 ints, it expects
a buffer of at least AV_NUM_DATA_POINTERS (8) ints.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/134>
Tim-Philipp Müller [Tue, 1 Jun 2021 14:29:04 +0000 (15:29 +0100)]
Back to development
Tim-Philipp Müller [Mon, 31 May 2021 23:14:52 +0000 (00:14 +0100)]
Release 1.19.1
Doug Nazar [Fri, 30 Apr 2021 01:32:18 +0000 (21:32 -0400)]
avmux: Blacklist ttml subtitles
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/133>
Edward Hervey [Sat, 24 Apr 2021 08:04:23 +0000 (10:04 +0200)]
avviddec: Take into account coded_height for pool
Failure to do this would cause the decoders to constantly request a new
bufferpool thinking the height had changed ... whereas it hadn't.
Fixes #95
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/131>
Tim-Philipp Müller [Mon, 12 Apr 2021 23:45:41 +0000 (00:45 +0100)]
avviddec: deprecated debug-mv property to match deprecation in FFmpeg
This has been unimplemented and non-functional for years
and was deprecated with FFmpeg 4.4.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/126>
Tim-Philipp Müller [Tue, 13 Apr 2021 00:07:15 +0000 (01:07 +0100)]
avdemux: fix build with FFmpeg 4.4
Direct access to avstream->index_entries was removed
in favour of the newly added avformat_index_get_entry()
and friends.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/85
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/127>
Nicholas Jackson [Tue, 19 Jan 2021 21:19:31 +0000 (13:19 -0800)]
avmux: fix segfault when a plugin's long_name is NULL
Some plugins register an empty long_name field. Check for this
before calling strcmp to avoid a crash.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/114>
Jade Macho [Mon, 15 Mar 2021 19:35:35 +0000 (20:35 +0100)]
Hook up audio/x-xma: xmaversion: [1,2] to AV_CODEC_ID_XMA[1,2]
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/124>
Sebastian Dröge [Wed, 3 Mar 2021 08:51:04 +0000 (10:51 +0200)]
avcodecmap: Don't try converting channel layouts with more than 64 channels
We only support up to 64 channels in GStreamer with a specific layout so
it's safe to assume a NONE layout in this case.
Also the arrays of channel positions are allocated everywhere with 64
elements so don't try setting more than 64 to NONE as that will cause
stack corruptions and similar memory safety issues.
Thanks to Natalie Silvanovich for reporting this issue.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/92
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/120>
Matthew Waters [Wed, 2 Dec 2020 04:43:15 +0000 (15:43 +1100)]
avviddec: take the maximum of the height/coded_height
Otherwise, some h.264 streams (particularly with cropping information)
may cause memory corruption after a renegotiation to a smaller size when
decoded and then ffmpeg writes past the end of the buffer.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/80
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/110>
Matthew Waters [Thu, 28 Jan 2021 06:11:14 +0000 (06:11 +0000)]
viddec: don't configure and incorrect buffer pool when receiving a gap event
Scenario is this:
1. libav receives enough data to want a buffer with get_buffer2()
which wants a buffer pool with a certain format, say Y42B but does
not negotiate and therefore GstVideoDecoder does not have any output
state configured
2. A gap event is received which GstVideoDecoder wants to forward. It
needs caps to forward the gap event so attempts to negotiate with some
default information which chooses e.g. I420 and overwrites the
previously configured bufferpool decided on by get_buffer2()
3. There is a mismatch between what ensure_internal_pool() check for
consistency and what decide_allocation() sets when overriding the
internal pool with the downstream pool.
4. FFMpeg then requests a Y42B buffer from an I420 pool and predictably
crashes writing past the contents of the buffer
This is fixed by keeping track of the internal pool states correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/116>
Vivia Nikolaidou [Fri, 29 Jan 2021 12:02:42 +0000 (14:02 +0200)]
avviddec: Support for alternate-field interlacing
Not yet supported in FFmpeg, so we temporarily rely on the parser
setting the correct buffer flags for us.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/115>
Seungha Yang [Tue, 29 Dec 2020 16:15:16 +0000 (01:15 +0900)]
avauddec: Drain decoder on decoding failure
... and call finish_frame() so that baseclass can reset internal
status. Otherwise baseclass will keep holding the status for
decoding failed frame which will result in outputting buffer with
wrong timestamp.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/112>
Jan Schmidt [Mon, 14 Dec 2020 04:33:16 +0000 (15:33 +1100)]
codec map: Add a mapping for the OKI ADPCM variant.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/111>
Nirbheek Chauhan [Wed, 4 Nov 2020 13:14:54 +0000 (18:44 +0530)]
meson: Enable some MSVC warnings for parity with GCC/Clang
This makes it easier to do development with MSVC by making it warn
on common issues that GCC/Clang error out for in our CI configuration.
Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/109>
Arun Raghavan [Tue, 27 Oct 2020 10:33:29 +0000 (06:33 -0400)]
avauddec: Check planar-ness of frame rather than context
The check seems to be to present to verify that the decoded frame
matches the format we expect. The actual check for the layout of the
frame was being performed against the context instead.
The check fails at least for avdec_aptx_hd, where the AVCodecContext has
the sample format set to AV_SAMPLE_FMT_NONE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/107>
Seungha Yang [Tue, 6 Oct 2020 09:19:12 +0000 (18:19 +0900)]
tests: Add audio/video encoder test
Add simple encoder drain test case
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/100>
Edward Hervey [Thu, 1 Oct 2020 09:45:57 +0000 (11:45 +0200)]
build: Re-enable unit tests
Looks like they weren't ported when we switched to meson
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/100>
Seungha Yang [Mon, 5 Oct 2020 18:47:42 +0000 (03:47 +0900)]
avaudenc/avvidenc: Reopen encoding session if it's required
Since the commit https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/
22b25b3ea5c,
ffmpeg will not clear draning flag for encoder by avcodec_flush_buffers() API
by default. Allowed case is only if encoder has AV_CODEC_CAP_ENCODER_FLUSH
capability flag. If it's not supported, we should re-open encoding
session, otherwise ffmpeg encoder will keep returning AVERROR_EOF
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/99>
Sebastian Dröge [Thu, 1 Oct 2020 08:18:58 +0000 (11:18 +0300)]
avvidenc: Call avcodec_flush_buffers() after draining to allow accepting new input again
This is already done in all other codec elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/97>
Sebastian Dröge [Wed, 30 Sep 2020 13:13:28 +0000 (16:13 +0300)]
avauddec/audenc/videnc: Don't return GST_FLOW_EOS when draining
Same behaviour as for avviddec now. FFmpeg will return AVERROR_EOF when it's
completely drained but we should not return that here or otherwise
upstream will receive EOS and not forward us more data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/97>
Seungha Yang [Tue, 15 Sep 2020 18:13:09 +0000 (03:13 +0900)]
avviddec: Don't return GST_FLOW_EOS from drain()/finish()
AVERROR_EOF means that it's fully drained, but it doesn't
mean that that end of stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
Seungha Yang [Mon, 14 Sep 2020 17:12:23 +0000 (02:12 +0900)]
avauddec: Ensure finish_subframe() and finish_frame() are paired
audiodecoder baseclass implementation is expecting that
finish_subframe() is followed by finish_frame() in order clear
its internal state related to subframe.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
Sebastian Dröge [Mon, 14 Sep 2020 11:30:35 +0000 (14:30 +0300)]
avauddec: Forward flow returns from draining instead of assuming OK
It might be useful for upstream to know that draining/finishing didn't
succeed, and why.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
Sebastian Dröge [Mon, 14 Sep 2020 11:24:51 +0000 (14:24 +0300)]
avviddec: Forward flow returns from draining instead of assuming OK
It might be useful for upstream to know that draining/finishing didn't
succeed, and why.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
Edward Hervey [Wed, 9 Sep 2020 06:55:28 +0000 (08:55 +0200)]
avauddec: Avoid dropping non-OK flow return
When sucessfully finishing out frames (or finishing configuration), we must make
sure we don't override any failing GstFlowReturn that might have been detected
previously.
Failure to do this would result in not propagating not-linked, flushing,
etc...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/90>
Olivier Crête [Tue, 27 Sep 2016 00:06:54 +0000 (20:06 -0400)]
avcodecmap: Enable 24 bit WMA Lossless decoding
This now works with not so recent ffmpeg.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/88>
Tim-Philipp Müller [Tue, 8 Sep 2020 16:30:46 +0000 (17:30 +0100)]
ci: include template from gst-ci master branch again
Tim-Philipp Müller [Tue, 8 Sep 2020 15:58:56 +0000 (16:58 +0100)]
Back to development
Tim-Philipp Müller [Mon, 7 Sep 2020 23:08:12 +0000 (00:08 +0100)]
Release 1.18.0
Sebastian Dröge [Mon, 7 Sep 2020 09:15:17 +0000 (12:15 +0300)]
Update for gst_video_transfer_function_*() function renaming
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/89>
Tim-Philipp Müller [Thu, 20 Aug 2020 15:14:50 +0000 (16:14 +0100)]
Release 1.17.90
Jordan Petridis [Mon, 3 Aug 2020 16:28:29 +0000 (19:28 +0300)]
gstavcfg.c: fix max->min typo in limits and implict double conversion
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/86>
Jordan Petridis [Thu, 23 Jul 2020 12:37:05 +0000 (15:37 +0300)]
Revert "docs: update plugins doc cache"
This reverts commit
d1b20eb6558b5188fe539a2aba3dc15630e703b0.
See https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/324
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/85>
Jordan Petridis [Fri, 3 Jul 2020 09:45:44 +0000 (12:45 +0300)]
docs: update plugins doc cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/80>
Tim-Philipp Müller [Wed, 8 Jul 2020 16:23:12 +0000 (17:23 +0100)]
meson: set release date from .doap file for releases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/84>
Vivia Nikolaidou [Mon, 6 Jul 2020 21:33:22 +0000 (00:33 +0300)]
avviddec: Fix typo that duplicated closed caption meta
We examined the output buffer, instead of the input buffer, for
existence of cc meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/83>
Vivia Nikolaidou [Thu, 2 Jul 2020 09:28:34 +0000 (12:28 +0300)]
gstavviddec: Only allow a single closed caption meta
Following discussion in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1396#note_556068
While it is technically possible to store multiple closed caption metas
in the same buffer, we don't currently do that anywhere and for
H264/MPEG2 both parts have to be stored in the same packet, and also the
number of CC bytes you can store per frame is rather limited. This
restriction might be relaxed later once we figured out how to do it
without breaking things.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/82>
Tim-Philipp Müller [Fri, 3 Jul 2020 01:04:01 +0000 (02:04 +0100)]
Back to development
Tim-Philipp Müller [Thu, 2 Jul 2020 23:33:33 +0000 (00:33 +0100)]
Release 1.17.2
Matej Knopp [Tue, 30 Jun 2020 16:33:56 +0000 (18:33 +0200)]
avauddec: fix buffer leak when send packet failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/81>
Sebastian Dröge [Fri, 26 Jun 2020 10:11:56 +0000 (13:11 +0300)]
avcodecmap: Add support for SpeedHQ video codec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/79>
Mathieu Duponchelle [Mon, 22 Jun 2020 22:07:26 +0000 (00:07 +0200)]
meson: mark plugins cache target as always stale
Thibault Saunier [Sat, 20 Jun 2020 02:59:39 +0000 (22:59 -0400)]
doc: Stop documenting properties from parents
Mathieu Duponchelle [Thu, 18 Jun 2020 20:16:30 +0000 (22:16 +0200)]
avmux: zero-initialize packets
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/76>
Tim-Philipp Müller [Fri, 19 Jun 2020 23:28:26 +0000 (00:28 +0100)]
Back to development
Tim-Philipp Müller [Fri, 19 Jun 2020 18:24:14 +0000 (19:24 +0100)]
Release 1.17.1
Thibault Saunier [Tue, 9 Jun 2020 19:33:51 +0000 (15:33 -0400)]
docs: Update plugins cache
Thibault Saunier [Mon, 8 Jun 2020 13:44:43 +0000 (09:44 -0400)]
docs: Update plugins cache
Mathieu Duponchelle [Fri, 5 Jun 2020 22:43:02 +0000 (00:43 +0200)]
plugins: uddate gst_type_mark_as_plugin_api() calls
Thibault Saunier [Wed, 3 Jun 2020 22:35:32 +0000 (18:35 -0400)]
doc: Require hotdoc >= 0.11.0
Sebastian Dröge [Wed, 27 May 2020 13:02:45 +0000 (16:02 +0300)]
docs: Update gst_plugins_cache.json
Sebastian Dröge [Sun, 31 May 2020 07:02:12 +0000 (10:02 +0300)]
plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
Sebastian Dröge [Sun, 31 May 2020 06:59:29 +0000 (09:59 +0300)]
avcodecmap: Remove unused GstFFMpegCompliance type
Mathieu Duponchelle [Wed, 27 May 2020 14:30:41 +0000 (16:30 +0200)]
avdemux: update the context we use to determine stream's caps
The discovered frame rate is only available on the AVStream
itself. Updating the temporary context framerate before
building caps from it seems like a pretty non-intrusive approach.
Fixes #75
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/74>
Mathieu Duponchelle [Wed, 27 May 2020 14:29:27 +0000 (16:29 +0200)]
avcodecmap: use framerate instead of time_base when decoding
Documentation for AVCodecContext::time_base:
> decoding: the use of this field for decoding is deprecated.
> Use framerate instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/74>
Matej Knopp [Sat, 9 May 2020 13:20:00 +0000 (15:20 +0200)]
gstlibav: minor fixes for header files
Move G_BEGIN_DECLS below includes and add missing include
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/71>
Matej Knopp [Fri, 8 May 2020 17:16:41 +0000 (19:16 +0200)]
gstavviddec: only set range when actually reported by avcodec
otherwise we get incomplete colorimetry that video-info complains about
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/70>
Nirbheek Chauhan [Thu, 30 Apr 2020 12:42:19 +0000 (18:12 +0530)]
README: Convert to markdown, clarify licensing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/68>
Nirbheek Chauhan [Thu, 30 Apr 2020 11:43:00 +0000 (17:13 +0530)]
All code in this repository is now LGPL-2.1+
Starting with 1.17, we will not ship a copy of FFmpeg in our release
tarballs, and all the remaining code is LGPL2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/68>
Haihao Xiang [Wed, 15 Apr 2020 07:00:02 +0000 (15:00 +0800)]
avmux: avoid to use unintialized variable
Without this fix, running the command below will get an error randomly.
Example:
gst-launch-1.0 videotestsrc ! vp9enc ! avmux_ivf ! fakesink
ERROR: pipeline doesn't want to preroll.
0:00:02.
388528491 30148 0x5601b424a370 ERROR libav :0::
Tag [1]V[0][0] incompatible with output codec id '167' (VP90)
Seungha Yang [Wed, 11 Mar 2020 09:26:39 +0000 (18:26 +0900)]
avviddec: Update for video-hdr struct change
See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
Julien Isorce [Mon, 27 Jan 2020 22:21:48 +0000 (14:21 -0800)]
avvidenc: handle GST_VIDEO_MULTIVIEW_MODE_MONO
Otherwise videotestsrc ! avenc_libx265 ! fakesink
outputs `Unsupported multiview mode - no mapping in libav`
Sebastian Dröge [Fri, 24 Jan 2020 14:14:28 +0000 (16:14 +0200)]
avcodecmap: Add some more comments about the assumptions in the ffmpeg code about H264/H265/AAC
Sebastian Dröge [Fri, 24 Jan 2020 11:04:46 +0000 (13:04 +0200)]
avdemux: Only set stream-format for H264/H265/AAC when we have a context
Otherwise we don't know yet whether we'll have extradata/codec_data, so
can't decide on the stream-format yet.
Haihao Xiang [Wed, 15 Jan 2020 06:36:19 +0000 (14:36 +0800)]
avivf_mux: support VP9 and AV1
Besides vp8, ff_ivf_muxer supports VP9 and AV1
Sebastian Dröge [Thu, 23 Jan 2020 08:03:40 +0000 (10:03 +0200)]
avcodecmap: Set AAC/H264/H265 stream-format for demuxer/encoder situations if no codec_data is provided
This fixes output of the above formats from demuxers.
Sebastian Dröge [Thu, 23 Jan 2020 07:45:59 +0000 (09:45 +0200)]
avdemux: Pass the URI from the URI query to avformat_open_input()
Some demuxers make use of it in various ways, for example the HLS
demuxer.
Alicia Boya García [Thu, 19 Dec 2019 16:58:56 +0000 (17:58 +0100)]
gstavviddec: Limit default number of decoder threads
When the `max-threads` property is not specified, GStreamer defaults to
the amount of CPU threads in the system.
The number of threads used in avdec has a direct impact on the latency
of the decoder, which is of as many frames as threads. Therefore, big
numbers of threads can make latency levels that can be problematic in
some applications.
For this reason, ffmpeg emits a warning when more than 16 threads are
requested.
This patch limits the default number of threads to 16. This affects only
computers with more than 16 CPU threads when using avviddec without
setting `max-threads`.
Tim-Philipp Müller [Mon, 2 Dec 2019 19:06:04 +0000 (19:06 +0000)]
pkgconfig: remove unused file
Was never hooked up to meson build it seems, and only ever used
by the uninstalled autotools dev env to locate gst-libav plugins
for use in unit tests in other modules.
Edward Hervey [Fri, 29 Nov 2019 08:25:24 +0000 (09:25 +0100)]
avvidenc: Fix error propagation
Instead of returning the default return value (GST_FLOW_OK), actually
return an error one (res vs ret).
Kevin JOLY [Mon, 4 Nov 2019 14:39:59 +0000 (15:39 +0100)]
avdemux: Fix segmentation fault if long_name is NULL
Some plugins (like libcdio) registers empty long_name field. Calling strncmp on this field leads to a segmentation fault.
Signed-off-by: Kevin Joly <joly.kevin25@gmail.com>
Seungha Yang [Tue, 29 Oct 2019 02:43:05 +0000 (11:43 +0900)]
avviddec: Fix huge leak caused by circular reference
AVBufferRef -> GstFFMpegVideoDecVideoFrame -> GstVideoCodecFrame -> AVBufferRef
Instead of holding additional ref there, set read-only which would not be
reused by ff_reget_buffer()
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/63
Seungha Yang [Thu, 24 Oct 2019 16:09:08 +0000 (01:09 +0900)]
avvideenc,avvidedec: Filtering hardware en/decoder by flag
... instead of filtering them by hardcoded string compare.
Seungha Yang [Wed, 23 Oct 2019 15:25:28 +0000 (00:25 +0900)]
avviddec: Enforce allocate new AVFrame per input frame
... if ffmpeg would reuse the allocated AVBuffer. Reused AVFrame by
the ffmpeg seems to break our decoding flow since the reused AVFrame
holds the initial opaque data (GstVideoCodecFrame in this case), so
we couldn't trace the our in/out frames.
To enforce get_buffer() call per output frame, hold another reference
to the AVBuffer in order to mark the AVBuffer as not writable.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/62
Tim-Philipp Müller [Sun, 13 Oct 2019 13:33:27 +0000 (14:33 +0100)]
Remove autotools build system
Seungha Yang [Tue, 24 Sep 2019 14:51:33 +0000 (23:51 +0900)]
avviddec,avcodemap: Use new helper function for map color space information
... between GStreamer and FFmpeg. Note that FFmpeg follows ISO/IEC 23001-8
defined color{matrix,transfer,primaries} values.
Marc Leeman [Wed, 11 Sep 2019 15:59:42 +0000 (15:59 +0000)]
docs: do not require gst-plugins-doc-cache-generator
Do not require the cache generator. This is in line with the other
gstreamer modules
Mathieu Duponchelle [Tue, 13 Aug 2019 20:03:31 +0000 (22:03 +0200)]
avvidenc: timestamp output buffers
Same approach as x264enc, with the one hour offset
Doug Nazar [Thu, 1 Aug 2019 20:27:35 +0000 (16:27 -0400)]
avauddec: Don't warn if drain is successful
Mathieu Duponchelle [Wed, 17 Jul 2019 22:20:16 +0000 (00:20 +0200)]
avviddec: improve latency calculation
When thread_type is set to FF_THREAD_FRAME, per the documentation
a latency of one frame per thread is introduced:
<https://ffmpeg.org/ffmpeg-codecs.html>, search for thread_type.
Additionally, we need in that case to calculate the automatic
number of threads ourselves, so as to accurately calculate the
latency.
Seungha Yang [Sat, 6 Oct 2018 09:51:58 +0000 (18:51 +0900)]
avviddec: Add thread-type property
The thread-type property allows specifying preferred
multithreading methods by user. Note that FF_THREAD_FRAME
may introduce additional latency especially on non-filesrc usecase,
since it introduces a decoding delay of (number of threads) frames.
https://bugzilla.gnome.org/show_bug.cgi?id=797254
Sebastian Dröge [Mon, 15 Jul 2019 07:42:42 +0000 (10:42 +0300)]
avvidenc: Close reference context before freeing it
Otherwise we'll leak some memory.
See https://gitlab.freedesktop.org/gstreamer/gst-libav/merge_requests/32
Knut Andre Tidemann [Fri, 12 Jul 2019 12:41:18 +0000 (14:41 +0200)]
avaudenc: fix memory leak of refcontext after finalize.
Sebastian Dröge [Wed, 19 Jun 2019 12:44:49 +0000 (15:44 +0300)]
avvidenc: Also set the repeat_pict flag correctly and take the TFF flag from caps if available
Sebastian Dröge [Wed, 19 Jun 2019 12:43:42 +0000 (15:43 +0300)]
avvidenc: Correctly signal interlaced input to ffmpeg when the input caps are interlaced
Regression from
1e4529ced2dadbfed4ac10d639a45dbcb0660129
Niels De Graef [Sun, 2 Jun 2019 19:45:19 +0000 (21:45 +0200)]
meson: Bump minimal GLib version to 2.44
This means we can use some newer features and get rid of some
boilerplate code using the G_DECLARE_* macros.
As discussed on IRC, 2.44 is old enough by now to start depending on it.
Guillaume Desmottes [Wed, 29 May 2019 06:19:38 +0000 (11:49 +0530)]
avviddec: remove cdgraphics element
It was never usable as we don't have a parser and we now have 'cdgdec'
in gst-plugins-rs.
Tim-Philipp Müller [Sat, 25 May 2019 11:36:40 +0000 (13:36 +0200)]
configure: pass -Wno-attributes to fix build against broken ffmpeg headers
libavutil/mem.h:342:1: error: ‘alloc_size’ attribute ignored on a function returning ‘int’
av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
^~~~~~~~~~~~~
Hopefully fixes build on jenkins.
Seungha Yang [Fri, 24 May 2019 11:35:41 +0000 (20:35 +0900)]
avcodecmap,avviddec: Map bt2020-10, PQ and HLG transfer functions
Map more transfer functions between Gstreamer and ffmpeg
Arun Raghavan [Fri, 24 May 2019 09:47:58 +0000 (11:47 +0200)]
codecmap: Add caps for aptX and aptX-HD
Thibault Saunier [Thu, 16 May 2019 13:20:56 +0000 (09:20 -0400)]
docs: Stop building the doc cache by default
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
Thibault Saunier [Tue, 14 May 2019 02:58:09 +0000 (22:58 -0400)]
docs: Update plugins documentation cache
Thibault Saunier [Mon, 22 Oct 2018 09:41:07 +0000 (11:41 +0200)]
docs: Port to hotdoc