Commit graph

2239 commits

Author SHA1 Message Date
Sebastian Dröge 2596e5bd6f avvidenc: Also set the repeat_pict flag correctly and take the TFF flag from caps if available 2019-06-19 15:44:49 +03:00
Sebastian Dröge 6359385df5 avvidenc: Correctly signal interlaced input to ffmpeg when the input caps are interlaced
Regression from 1e4529ced2
2019-06-19 15:43:42 +03:00
Niels De Graef 8e948f9e14 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.
2019-06-02 21:45:19 +02:00
Guillaume Desmottes 2e59973cca avviddec: remove cdgraphics element
It was never usable as we don't have a parser and we now have 'cdgdec'
in gst-plugins-rs.
2019-05-29 11:49:38 +05:30
Tim-Philipp Müller 0bf5b537d6 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.
2019-05-25 13:36:40 +02:00
Seungha Yang 2b50a0ce93 avcodecmap,avviddec: Map bt2020-10, PQ and HLG transfer functions
Map more transfer functions between Gstreamer and ffmpeg
2019-05-24 20:44:12 +09:00
Arun Raghavan 597578ca41 codecmap: Add caps for aptX and aptX-HD 2019-05-24 09:51:44 +00:00
Thibault Saunier e3e99ddfa0 docs: Stop building the doc cache by default
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
2019-05-16 09:35:11 -04:00
Thibault Saunier 93d1d9ec71 docs: Update plugins documentation cache 2019-05-13 22:58:09 -04:00
Thibault Saunier 357a9b4a19 docs: Port to hotdoc 2019-05-13 17:00:00 -04:00
Christoph Reiter 5705e4ea7d 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
2019-05-05 09:38:01 +02:00
Seungha Yang 8d9b30695b 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.
2019-05-01 23:24:56 +09:00
Yeongjin Jeong 603c78b1a1 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().
2019-04-29 16:02:05 +00:00
Yeongjin Jeong 472f2ef104 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.
2019-04-29 15:40:08 +09:00
Yeongjin Jeong 93e2466115 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.
2019-04-29 15:38:42 +09:00
Tim-Philipp Müller 2b6e9d303d Back to development 2019-04-19 11:00:07 +01:00
Tim-Philipp Müller d6c61e69b3 Release 1.16.0 2019-04-19 00:33:23 +01:00
Tim-Philipp Müller 1ef16a7ca1 Update docs 2019-04-19 00:33:22 +01:00
Sebastian Dröge 724c7c2b2a libav: Update to ffmpeg n4.1.3 2019-04-12 10:06:43 +03:00
Tim-Philipp Müller b83229f73b Release 1.15.90 2019-04-11 00:34:12 +01:00
Tim-Philipp Müller 7de9fee26d Update docs 2019-04-11 00:34:12 +01:00
Sebastian Dröge 935c21a9a9 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.
2019-04-09 16:56:20 +03:00
Aaron Boxer b2cc8a57d4 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.
2019-04-01 17:11:36 -04:00
Mathieu Duponchelle be579c426d avvidenc: pass Closed Caption metadata to libav 2019-03-23 00:27:55 +01:00
Tim-Philipp Müller ef8a1bdd90 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
2019-03-04 11:54:15 +00:00
Tim-Philipp Müller caf953bd5d Back to development 2019-03-04 09:12:35 +00:00
Tim-Philipp Müller c693e62a44 Release 1.15.2 2019-02-26 11:57:15 +00:00
Tim-Philipp Müller 88166aeb78 Update docs 2019-02-26 11:57:15 +00:00
Guillaume Desmottes 1d293764e5 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.
2019-02-21 08:56:34 +01:00
Sebastian Dröge 1e01f2764b configure: Only disable dxva2 once 2019-02-12 17:23:55 +02:00
Sebastian Dröge 43d3c883fb Update to ffmpeg n4.1.1 2019-02-12 10:57:24 +02:00
Tim-Philipp Müller 240cb809a9 Release 1.15.1 2019-01-17 02:21:50 +00:00
Tim-Philipp Müller c94c6555c3 Update docs 2019-01-17 02:21:35 +00:00
Seungha Yang a2c88ec9da avcfg: Fix AVOptionRanges leak
It must be freed with av_opt_freep_ranges as documented.
2019-01-13 00:47:07 +09:00
Thibault Saunier 6ffe685b89 Automatic update of common submodule
From ed78bee to 59cb678
2018-12-05 17:24:43 -03:00
Sebastian Dröge 1060502ff1 libav: Update to ffmpeg n4.1 2018-11-15 11:29:54 +02:00
Jordan Petridis ae1bb83e0a
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
2018-11-12 13:04:51 +02:00
Edward Hervey 9d41d2747b codecmap: Add mapping for Voxware metasound
Allows actually decoding such streams :)
2018-11-08 16:33:57 +01:00
Sebastian Dröge f7ba104749 libav: Update to ffmpeg n4.0.3 2018-11-05 10:22:19 +02:00
Matthew Waters fe86e9d6f9 Update common submodule location
Remove the git directory
2018-11-05 05:40:03 +00:00
Haihao Xiang 00722bd693 Clone the code from gitlab
This fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/issues/43
2018-11-05 13:24:48 +08:00
Nirbheek Chauhan b9ef445679 meson: Remove leftover debug logging 2018-10-29 14:31:52 +00:00
Nirbheek Chauhan 21a18e22e1 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.
2018-10-16 04:29:37 +05:30
Arun Raghavan ef106350d4 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
2018-10-12 19:23:21 +05:30
Nirbheek Chauhan 26585686b0 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.
2018-10-09 18:14:23 +05:30
Tim-Philipp Müller f749504848 meson: use new 'python' module instead of deprecated 'python3' one
https://github.com/mesonbuild/meson/pull/4169
2018-10-08 20:55:08 +01:00
Nirbheek Chauhan 50311411f4 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.
2018-10-01 16:13:29 +05:30
Edward Hervey 46cc79c43a avviddec: Remove unneeded check
frame is always valid in this function (but wasn't before the
refactoring from a few months ago).

CID #1439540
2018-09-21 16:01:53 +02:00
Edward Hervey 143aa80cdf avcfg: Simplify code
The existence of 'opt' is checked, the remainder of the code can therefore
rely on it being valid.

CID #1439537
2018-09-21 11:30:58 +02:00
Tim-Philipp Müller 5e4f6cadb0 libav: update internal snapshot to ffmpeg n4.0.2 2018-08-15 19:33:58 +01:00