platform/upstream/gstreamer.git
3 years agogstavviddec: Only allow a single closed caption meta
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>

3 years agoBack to development
Tim-Philipp Müller [Fri, 3 Jul 2020 01:04:01 +0000 (02:04 +0100)]
Back to development

4 years agoRelease 1.17.2
Tim-Philipp Müller [Thu, 2 Jul 2020 23:33:33 +0000 (00:33 +0100)]
Release 1.17.2

4 years agoavauddec: fix buffer leak when send packet failed
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>

4 years agoavcodecmap: Add support for SpeedHQ video codec
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>

4 years agomeson: mark plugins cache target as always stale
Mathieu Duponchelle [Mon, 22 Jun 2020 22:07:26 +0000 (00:07 +0200)]
meson: mark plugins cache target as always stale

4 years agodoc: Stop documenting properties from parents
Thibault Saunier [Sat, 20 Jun 2020 02:59:39 +0000 (22:59 -0400)]
doc: Stop documenting properties from parents

4 years agoavmux: zero-initialize packets
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>

4 years agoBack to development
Tim-Philipp Müller [Fri, 19 Jun 2020 23:28:26 +0000 (00:28 +0100)]
Back to development

4 years agoRelease 1.17.1
Tim-Philipp Müller [Fri, 19 Jun 2020 18:24:14 +0000 (19:24 +0100)]
Release 1.17.1

4 years agodocs: Update plugins cache
Thibault Saunier [Tue, 9 Jun 2020 19:33:51 +0000 (15:33 -0400)]
docs: Update plugins cache

4 years agodocs: Update plugins cache
Thibault Saunier [Mon, 8 Jun 2020 13:44:43 +0000 (09:44 -0400)]
docs: Update plugins cache

4 years agoplugins: uddate gst_type_mark_as_plugin_api() calls
Mathieu Duponchelle [Fri, 5 Jun 2020 22:43:02 +0000 (00:43 +0200)]
plugins: uddate gst_type_mark_as_plugin_api() calls

4 years agodoc: Require hotdoc >= 0.11.0
Thibault Saunier [Wed, 3 Jun 2020 22:35:32 +0000 (18:35 -0400)]
doc: Require hotdoc >= 0.11.0

4 years agodocs: Update gst_plugins_cache.json
Sebastian Dröge [Wed, 27 May 2020 13:02:45 +0000 (16:02 +0300)]
docs: Update gst_plugins_cache.json

4 years agoplugins: Use gst_type_mark_as_plugin_api() for all non-element plugin types
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

4 years agoavcodecmap: Remove unused GstFFMpegCompliance type
Sebastian Dröge [Sun, 31 May 2020 06:59:29 +0000 (09:59 +0300)]
avcodecmap: Remove unused GstFFMpegCompliance type

4 years agoavdemux: update the context we use to determine stream's caps
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>

4 years agoavcodecmap: use framerate instead of time_base when decoding
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>

4 years agogstlibav: minor fixes for header files
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>

4 years agogstavviddec: only set range when actually reported by avcodec
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>

4 years agoREADME: Convert to markdown, clarify licensing
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>

4 years agoAll code in this repository is now LGPL-2.1+
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>

4 years agoavmux: avoid to use unintialized variable
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)

4 years agoavviddec: Update for video-hdr struct change
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

4 years agoavvidenc: handle GST_VIDEO_MULTIVIEW_MODE_MONO
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`

4 years agoavcodecmap: Add some more comments about the assumptions in the ffmpeg code about...
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

4 years agoavdemux: Only set stream-format for H264/H265/AAC when we have a context
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.

4 years agoavivf_mux: support VP9 and AV1
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

4 years agoavcodecmap: Set AAC/H264/H265 stream-format for demuxer/encoder situations if no...
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.

4 years agoavdemux: Pass the URI from the URI query to avformat_open_input()
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.

4 years agogstavviddec: Limit default number of decoder threads
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`.

4 years agopkgconfig: remove unused file
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.

4 years agoavvidenc: Fix error propagation
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).

4 years agoavdemux: Fix segmentation fault if long_name is NULL
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>
4 years agoavviddec: Fix huge leak caused by circular reference
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

4 years agoavvideenc,avvidedec: Filtering hardware en/decoder by flag
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.

4 years agoavviddec: Enforce allocate new AVFrame per input frame
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

4 years agoRemove autotools build system
Tim-Philipp Müller [Sun, 13 Oct 2019 13:33:27 +0000 (14:33 +0100)]
Remove autotools build system

4 years agoavviddec,avcodemap: Use new helper function for map color space information
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.

4 years agodocs: do not require gst-plugins-doc-cache-generator
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

4 years agoavvidenc: timestamp output buffers
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

4 years agoavauddec: Don't warn if drain is successful
Doug Nazar [Thu, 1 Aug 2019 20:27:35 +0000 (16:27 -0400)]
avauddec: Don't warn if drain is successful

4 years agoavviddec: improve latency calculation
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.

4 years agoavviddec: Add thread-type property
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

4 years agoavvidenc: Close reference context before freeing it
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

4 years agoavaudenc: fix memory leak of refcontext after finalize.
Knut Andre Tidemann [Fri, 12 Jul 2019 12:41:18 +0000 (14:41 +0200)]
avaudenc: fix memory leak of refcontext after finalize.

5 years agoavvidenc: Also set the repeat_pict flag correctly and take the TFF flag from caps...
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

5 years agoavvidenc: Correctly signal interlaced input to ffmpeg when the input caps are interlaced
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

5 years agomeson: Bump minimal GLib version to 2.44
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.

5 years agoavviddec: remove cdgraphics element
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.

5 years agoconfigure: pass -Wno-attributes to fix build against broken ffmpeg headers
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.

5 years agoavcodecmap,avviddec: Map bt2020-10, PQ and HLG transfer functions
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

5 years agocodecmap: Add caps for aptX and aptX-HD
Arun Raghavan [Fri, 24 May 2019 09:47:58 +0000 (11:47 +0200)]
codecmap: Add caps for aptX and aptX-HD

5 years agodocs: Stop building the doc cache by default
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

5 years agodocs: Update plugins documentation cache
Thibault Saunier [Tue, 14 May 2019 02:58:09 +0000 (22:58 -0400)]
docs: Update plugins documentation cache

5 years agodocs: Port to hotdoc
Thibault Saunier [Mon, 22 Oct 2018 09:41:07 +0000 (11:41 +0200)]
docs: Port to hotdoc

5 years agoautotools: add bcrypt to win32 libs
Christoph Reiter [Sun, 5 May 2019 07:38:01 +0000 (09:38 +0200)]
autotools: add bcrypt to win32 libs

The included libav requires it now. Otherwise the builds fails with:

  CCLD     libgstlibav.la
build-i686-w64-mingw32/gst-libs/ext/.libs/libavutil.a(random_seed.o): In function `av_get_random_seed':
gst-libav-1.16.0/gst-libs/ext/libav/libavutil/random_seed.c:126: undefined reference to `BCryptOpenAlgorithmProvider@16'
gst-libav-1.16.0/gst-libs/ext/libav/libavutil/random_seed.c:129: undefined reference to `BCryptGenRandom@16'
gst-libav-1.16.0/gst-libs/ext/libav/libavutil/random_seed.c:130: undefined reference to `BCryptCloseAlgorithmProvider@8'
collect2.exe: error: ld returned 1 exit status

5 years agoavviddec: Extract HDR information if any
Seungha Yang [Mon, 18 Feb 2019 11:53:58 +0000 (20:53 +0900)]
avviddec: Extract HDR information if any

Convert mastering display information (a.k.a HDR static metadata) and
content light level information provided by FFMPEG to Gstreamer.

5 years agogstav: Use libavcodec util function for version check
Yeongjin Jeong [Mon, 29 Apr 2019 02:52:31 +0000 (11:52 +0900)]
gstav: Use libavcodec util function for version check

The version of libavutil is printed in the log instead of libavcodec
because avutil_version() returns LIBAVUTIL_VERSION_INT. This can be confusing,
so we should be replace it with avcodec_version().

5 years agoavauddec: Ensure drain even if codec has not delay capabilities
Yeongjin Jeong [Mon, 29 Apr 2019 06:22:52 +0000 (15:22 +0900)]
avauddec: Ensure drain even if codec has not delay capabilities

There are decoders that need to be drained if they work on multi-threads,
even if AV_CODEC_CAP_DELAY is not set.

5 years agoavviddec: Ensure drain even if codec has not delay capabilities
Yeongjin Jeong [Mon, 29 Apr 2019 06:02:06 +0000 (15:02 +0900)]
avviddec: Ensure drain even if codec has not delay capabilities

There are decoders that need to be drained if they work on multi-threads,
even if AV_CODEC_CAP_DELAY is not set.

5 years agoBack to development
Tim-Philipp Müller [Fri, 19 Apr 2019 09:38:06 +0000 (10:38 +0100)]
Back to development

5 years agoRelease 1.16.0
Tim-Philipp Müller [Thu, 18 Apr 2019 23:33:22 +0000 (00:33 +0100)]
Release 1.16.0

5 years agoUpdate docs
Tim-Philipp Müller [Thu, 18 Apr 2019 23:33:22 +0000 (00:33 +0100)]
Update docs

5 years agolibav: Update to ffmpeg n4.1.3
Sebastian Dröge [Fri, 12 Apr 2019 07:05:53 +0000 (10:05 +0300)]
libav: Update to ffmpeg n4.1.3

5 years agoRelease 1.15.90
Tim-Philipp Müller [Wed, 10 Apr 2019 23:34:12 +0000 (00:34 +0100)]
Release 1.15.90

5 years agoUpdate docs
Tim-Philipp Müller [Wed, 10 Apr 2019 23:34:12 +0000 (00:34 +0100)]
Update docs

5 years agoavcfg: Override type of bitrate property from int64 to int
Sebastian Dröge [Tue, 9 Apr 2019 13:56:20 +0000 (16:56 +0300)]
avcfg: Override type of bitrate property from int64 to int

See https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/41#note_142808

The switch to the new ffmpeg property system changed the type of the
bitrate property from int to int64, which potentially breaks many
existing applications at runtime as properties are usually set via
g_object_set().

As such, override the type to int until GStreamer 2.0.

5 years agoavviddec: do not add 708 caption meta if already exists
Aaron Boxer [Thu, 28 Mar 2019 18:24:42 +0000 (14:24 -0400)]
avviddec: do not add 708 caption meta if already exists

(this is only used for CEA 708 raw data). another element
such as mpegvideoparse may have already added the meta.

5 years agoavvidenc: pass Closed Caption metadata to libav
Mathieu Duponchelle [Fri, 22 Mar 2019 23:24:25 +0000 (00:24 +0100)]
avvidenc: pass Closed Caption metadata to libav

5 years agoavauddec: fix decoding of APE and Cook audio
Tim-Philipp Müller [Tue, 26 Feb 2019 00:00:33 +0000 (00:00 +0000)]
avauddec: fix decoding of APE and Cook audio

.. and other formats where ffmpeg gives us multiple
subframes per input frame.

Since we now support non-interleaved audio, we can't
just concat buffers any more. Also, audio metas won't
be combined when buffers are merged, so when we push
out the combined buffer we'll look at the meta describing
only the first subframe and think it covers the whole
frame leading to stutter/gaps in the output.

We could fix this by copying the output data into a new
buffer when we merge buffers, but that's suboptimal, so
let's add some API to GstAudioDecoder to push out subframes
and use that instead.

https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/49

5 years agoBack to development
Tim-Philipp Müller [Mon, 4 Mar 2019 09:12:35 +0000 (09:12 +0000)]
Back to development

5 years agoRelease 1.15.2
Tim-Philipp Müller [Tue, 26 Feb 2019 11:57:15 +0000 (11:57 +0000)]
Release 1.15.2

5 years agoUpdate docs
Tim-Philipp Müller [Tue, 26 Feb 2019 11:57:15 +0000 (11:57 +0000)]
Update docs

5 years agoavdemux: fix negative pts if start_time is bigger than the ts
Guillaume Desmottes [Thu, 21 Feb 2019 07:48:31 +0000 (08:48 +0100)]
avdemux: fix negative pts if start_time is bigger than the ts

The start time is supposed to be the ts of the first frame.
FFmpeg uses fractions to represent timestamps and the start time may use a
different base than the frame pts. So we may end up having the start
time bigger than the pts because of rounding when converting to gst ts.

See https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/51
for details.

5 years agoconfigure: Only disable dxva2 once
Sebastian Dröge [Tue, 12 Feb 2019 15:23:55 +0000 (17:23 +0200)]
configure: Only disable dxva2 once

5 years agoUpdate to ffmpeg n4.1.1
Sebastian Dröge [Tue, 12 Feb 2019 08:57:24 +0000 (10:57 +0200)]
Update to ffmpeg n4.1.1

5 years agoRelease 1.15.1
Tim-Philipp Müller [Thu, 17 Jan 2019 02:21:41 +0000 (02:21 +0000)]
Release 1.15.1

5 years agoUpdate docs
Tim-Philipp Müller [Thu, 17 Jan 2019 02:21:35 +0000 (02:21 +0000)]
Update docs

5 years agoavcfg: Fix AVOptionRanges leak
Seungha Yang [Sat, 12 Jan 2019 15:46:50 +0000 (00:46 +0900)]
avcfg: Fix AVOptionRanges leak

It must be freed with av_opt_freep_ranges as documented.

5 years agoAutomatic update of common submodule
Thibault Saunier [Wed, 5 Dec 2018 20:24:43 +0000 (17:24 -0300)]
Automatic update of common submodule

From ed78bee to 59cb678

5 years agolibav: Update to ffmpeg n4.1
Sebastian Dröge [Thu, 15 Nov 2018 09:29:54 +0000 (11:29 +0200)]
libav: Update to ffmpeg n4.1

5 years agoAdd Gitlab CI configuration
Jordan Petridis [Mon, 12 Nov 2018 11:04:51 +0000 (13:04 +0200)]
Add Gitlab CI configuration

This commit adds a .gitlab-ci.yml file, which uses a feature
to fetch the config from a centralized repository. The intent is
to have all the gstreamer modules use the same configuration.

The configuration is currently hosted at the gst-ci repository
under the gitlab/ci_template.yml path.

Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29

5 years agocodecmap: Add mapping for Voxware metasound
Edward Hervey [Thu, 8 Nov 2018 15:33:57 +0000 (16:33 +0100)]
codecmap: Add mapping for Voxware metasound

Allows actually decoding such streams :)

5 years agolibav: Update to ffmpeg n4.0.3
Sebastian Dröge [Mon, 5 Nov 2018 08:22:19 +0000 (10:22 +0200)]
libav: Update to ffmpeg n4.0.3

5 years agoUpdate common submodule location
Matthew Waters [Mon, 5 Nov 2018 05:40:03 +0000 (05:40 +0000)]
Update common submodule location

Remove the git directory

5 years agoClone the code from gitlab
Haihao Xiang [Mon, 5 Nov 2018 05:17:08 +0000 (13:17 +0800)]
Clone the code from gitlab

This fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/43

5 years agomeson: Remove leftover debug logging
Nirbheek Chauhan [Mon, 29 Oct 2018 14:31:52 +0000 (14:31 +0000)]
meson: Remove leftover debug logging

5 years agoavcfg: Ensure that ternary operator always evaluates to int64
Nirbheek Chauhan [Mon, 15 Oct 2018 22:38:57 +0000 (04:08 +0530)]
avcfg: Ensure that ternary operator always evaluates to int64

When building with MSVC, if the 3rd operator is a double, the entire
expression always promoted double, and is then cast to int64.

When TRUE, this evaluates to (gint64) (gdouble) (INT64_MAX)
which overflows to INT64_MIN on MSVC, but not on C99 compilers.

This causes us to fail the g_return_if_fail inside g_param_spec_int64
when built with MSVC.

5 years agoavdemux: Expose IFF container support
Arun Raghavan [Fri, 12 Oct 2018 13:50:51 +0000 (19:20 +0530)]
avdemux: Expose IFF container support

This exposes support for the "iff" demuxer. This is a general purpose
format, and the reason to expose this now is to allow reading DSD data
(which is supported via a variant called DSDIFF).

More information at:
  https://wiki.multimedia.cx/index.php?title=IFF
  https://www.loc.gov/preservation/digital/formats/fdd/fdd000245.shtml

5 years agomeson: Generate a pkgconfig file for gstlibav
Nirbheek Chauhan [Tue, 9 Oct 2018 12:37:09 +0000 (18:07 +0530)]
meson: Generate a pkgconfig file for gstlibav

This matches all other plugins in the other gstreamer repos. This is
also necessary for generating the correct libtool archive (.la) files
in Cerbero which are needed for static linking on Android and iOS.

5 years agomeson: use new 'python' module instead of deprecated 'python3' one
Tim-Philipp Müller [Mon, 8 Oct 2018 19:55:08 +0000 (20:55 +0100)]
meson: use new 'python' module instead of deprecated 'python3' one

https://github.com/mesonbuild/meson/pull/4169

5 years agomeson: Don't export symbols from linked static libraries
Nirbheek Chauhan [Mon, 1 Oct 2018 10:43:29 +0000 (16:13 +0530)]
meson: Don't export symbols from linked static libraries

We don't want to export any symbols from the ffmpeg static libraries
we link to when building inside Cerbero. In the Autotools build, we
pass -export-symbols-regex to libtool which ensures this for us.

5 years agoavviddec: Remove unneeded check
Edward Hervey [Fri, 21 Sep 2018 14:01:53 +0000 (16:01 +0200)]
avviddec: Remove unneeded check

frame is always valid in this function (but wasn't before the
refactoring from a few months ago).

CID #1439540

5 years agoavcfg: Simplify code
Edward Hervey [Fri, 21 Sep 2018 09:30:58 +0000 (11:30 +0200)]
avcfg: Simplify code

The existence of 'opt' is checked, the remainder of the code can therefore
rely on it being valid.

CID #1439537

5 years agolibav: update internal snapshot to ffmpeg n4.0.2
Tim-Philipp Müller [Wed, 15 Aug 2018 18:33:29 +0000 (19:33 +0100)]
libav: update internal snapshot to ffmpeg n4.0.2

5 years agodecoders: fix draining
Mathieu Duponchelle [Tue, 31 Jul 2018 16:35:22 +0000 (18:35 +0200)]
decoders: fix draining

https://bugzilla.gnome.org/show_bug.cgi?id=796900

5 years agoavmux: Place pva case after generic case
Georg Ottinger [Tue, 3 Jul 2018 11:15:54 +0000 (13:15 +0200)]
avmux: Place pva case after generic case

In the function gst_ffmpeg_formatid_get_codecids() in the if / else if
construct the special case !strcmp (format_name, "pva") should be
handled before the generic case (plugin->audio_codec !=
AV_CODEC_ID_NONE) || (plugin->video_codec != AV_CODEC_ID_NONE)
This patch fixes the ordering.

I stumbled accorss this issue while adding a new format to
gst_ffmpeg_formatid_get_codecids()

https://bugzilla.gnome.org/show_bug.cgi?id=796738

5 years agoavauddec: add support for decoding in non-interleaved layout
George Kiagiadakis [Mon, 23 Jul 2018 13:16:10 +0000 (16:16 +0300)]
avauddec: add support for decoding in non-interleaved layout

This removes the internal interleave loop and always negotiates
the native output layout of the libav decoder. Users can use
audioconvert to interleave if necessary.

Special care has been taken to leave the encoder unaffected by
the changes in avcodecmap, since GstAudioEncoder doesn't support
the non-interleaved layout yet.

https://bugzilla.gnome.org/show_bug.cgi?id=705977