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.
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
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.
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
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.
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
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
Tim-Philipp Müller [Wed, 15 Aug 2018 18:33:29 +0000 (19:33 +0100)]
libav: update internal snapshot to ffmpeg n4.0.2
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
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
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
Seungha Yang [Wed, 18 Jul 2018 10:41:50 +0000 (19:41 +0900)]
libav: Fix symbol redefine build error
https://bugzilla.gnome.org/show_bug.cgi?id=796827
Tim-Philipp Müller [Wed, 18 Jul 2018 14:43:41 +0000 (15:43 +0100)]
Remove obsolete #if 0-ed code
Tim-Philipp Müller [Mon, 16 Jul 2018 22:47:45 +0000 (23:47 +0100)]
Remove swscale plugin code
This has been disabled for 5.5 years, time to remove it.
Mathieu Duponchelle [Mon, 16 Jul 2018 17:45:35 +0000 (19:45 +0200)]
libav: Update to ffmpeg release/4.0 HEAD
Edward Hervey [Mon, 16 Jul 2018 06:44:45 +0000 (08:44 +0200)]
avcfg: Properly initalize GValue
.. to the expected property value type.
Mathieu Duponchelle [Fri, 13 Jul 2018 16:03:27 +0000 (18:03 +0200)]
avcfg: actually remove call to g_object_getv
(Sorry about that)
Mathieu Duponchelle [Fri, 13 Jul 2018 15:24:07 +0000 (17:24 +0200)]
av*dec: Ignore decoding errors
We were ignoring these before the port to 4.0, interpreting them
as GST_FLOW_ERROR / GST_ELEMENT_ERROR causes check failures.
We should start using GST_*_DECODER_ERROR in latter commits,
for now simply restore the previous behaviour.
Mathieu Duponchelle [Fri, 13 Jul 2018 15:21:25 +0000 (17:21 +0200)]
avcfg: use g_object_get_property, not g_object_getv
I simply confused those two, we didn't need g_object_getv
here anyway.
Mathieu Duponchelle [Thu, 12 Jul 2018 20:05:27 +0000 (22:05 +0200)]
avcfg: ignore some generic properties
We expose profile, level and colorimetry / colorspaces through
caps.
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Thu, 12 Jul 2018 19:57:57 +0000 (21:57 +0200)]
avcfg: add skip support to overrides system
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Tue, 3 Jul 2018 22:21:45 +0000 (00:21 +0200)]
meson: add FFmpeg meson as a fallback
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Tue, 3 Jul 2018 22:18:44 +0000 (00:18 +0200)]
auddec: fix luck-based sinkpad access
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Mon, 2 Jul 2018 15:55:00 +0000 (17:55 +0200)]
Update ffmpeg version requirements
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Mon, 2 Jul 2018 15:39:30 +0000 (17:39 +0200)]
Remove obsolete scale and resample sources
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Mon, 2 Jul 2018 15:38:13 +0000 (17:38 +0200)]
configure: update libav configure args
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Mon, 2 Jul 2018 15:31:08 +0000 (17:31 +0200)]
libav: Update to n4.0.1 release
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Mon, 2 Jul 2018 02:14:09 +0000 (04:14 +0200)]
meson: stop ignoring deprecation warnings!
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Mon, 2 Jul 2018 02:12:36 +0000 (04:12 +0200)]
avvidenc: port to send_frame / receive_packet
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Mon, 2 Jul 2018 02:05:19 +0000 (04:05 +0200)]
avviddec: fix invalid alignment calculations.
avcodec_align_dimensions2 uses context->pix_fmt to make its
calculations, we thus need to make sure it is adequately set
when calling it.
Fixes:
gst-launch-1.0 videotestsrc ! video/x-raw, width=1920, height=1080 \
! avenc_mpeg4 ! avdec_mpeg4 ! xvimagesink
This showed invalid writes under valgrind, then segfault.
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Sun, 1 Jul 2018 15:09:05 +0000 (17:09 +0200)]
avaudenc: port to send_frame / receive_packet
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Sun, 1 Jul 2018 00:34:41 +0000 (02:34 +0200)]
avmux: fix remaining warnings
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Sun, 1 Jul 2018 00:23:06 +0000 (02:23 +0200)]
avauddec: fix remaining warnings
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Sun, 1 Jul 2018 00:21:46 +0000 (02:21 +0200)]
avauddec: port to new decoding API
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Sat, 30 Jun 2018 21:28:31 +0000 (23:28 +0200)]
avaudenc: further cleanup
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Sat, 30 Jun 2018 21:27:06 +0000 (23:27 +0200)]
avaudenc: install options generically
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Sat, 30 Jun 2018 00:18:43 +0000 (02:18 +0200)]
avviddec: fix signed/unsigned comparisons
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Sat, 30 Jun 2018 00:14:33 +0000 (02:14 +0200)]
avvidec: port to new decoding API
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Fri, 29 Jun 2018 19:54:11 +0000 (21:54 +0200)]
gstav: stop calling deprecated registration methods
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Fri, 29 Jun 2018 19:46:00 +0000 (21:46 +0200)]
auddec: stop using deprecated getters
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Fri, 29 Jun 2018 19:38:50 +0000 (21:38 +0200)]
av_oformat_next (deprecated) -> av_muxer_iterate
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Fri, 29 Jun 2018 19:37:06 +0000 (21:37 +0200)]
av_iformat_next (deprecated) -> av_demuxer_iterate
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Fri, 29 Jun 2018 19:21:30 +0000 (21:21 +0200)]
avauddec: remove obsolete version check
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Fri, 29 Jun 2018 19:20:36 +0000 (21:20 +0200)]
av_codec_next (deprecated) -> av_codec_iterate
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Fri, 29 Jun 2018 18:59:46 +0000 (20:59 +0200)]
avdemux: port to AVCodecParameters
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Fri, 29 Jun 2018 18:37:14 +0000 (20:37 +0200)]
avmux: port to AVCodecParameters
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Fri, 29 Jun 2018 02:52:02 +0000 (04:52 +0200)]
Remove all uses of AVPicture
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Mon, 2 Jul 2018 15:10:03 +0000 (17:10 +0200)]
avaudenc: remove obsolete setting of rc_strategy
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Mathieu Duponchelle [Wed, 27 Jun 2018 18:41:37 +0000 (20:41 +0200)]
Refactor avcfg / avvidenc
We were previously installing hardcoded properties for all
video encoders, refactor to instead use FFmpeg's AVOption API.
avvidenc still exposes a few properties related to the pass
mechanism: while the AVOption API allows specifying both passes
as flags at the same time, this is not practical in GStreamer's
context, where passes need to be run separately using a stats file.
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Nicolas Dufresne [Mon, 30 Apr 2018 20:02:21 +0000 (16:02 -0400)]
avviddec: Stop using deperated EDGE API
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Nicolas Dufresne [Mon, 30 Apr 2018 19:54:44 +0000 (15:54 -0400)]
Use AV_ namespace for all CODEC_ macro
The remaining use of CODEC_ are codec flags that has been moved into the
new codec private properties or have been deperated. Will be fixed in
later patches.
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Nicolas Dufresne [Mon, 30 Apr 2018 19:41:40 +0000 (15:41 -0400)]
Use AV_ namespace for INPUT_BUFFER_PADDING_SIZE
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Nicolas Dufresne [Mon, 30 Apr 2018 19:37:50 +0000 (15:37 -0400)]
Don't include deprecated avfiltergraph.h header
https://bugzilla.gnome.org/show_bug.cgi?id=792900
Roland Jon [Thu, 31 May 2018 09:28:44 +0000 (17:28 +0800)]
avdemux: fix memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=796452
Edward Hervey [Fri, 11 May 2018 12:24:03 +0000 (14:24 +0200)]
libav: Switch to common include
Edward Hervey [Fri, 11 May 2018 12:19:42 +0000 (14:19 +0200)]
avmux: Remove unneeded constant variable
Since the removal of the gif hacks, the variable was always set to
its default value of FALSE. Just remove it.
CID #1433656
Edward Hervey [Thu, 22 Feb 2018 14:57:24 +0000 (15:57 +0100)]
avvidec: Expose Closed Caption as GstVideoCaptionMeta
Mathieu Duponchelle [Sat, 5 May 2018 16:00:06 +0000 (18:00 +0200)]
Expose support for DSD
DSD is usually wrapped in DSF, for which we now also expose the
demuxer.
https://bugzilla.gnome.org/show_bug.cgi?id=721186
Matej Knopp [Sat, 12 Jul 2014 13:26:36 +0000 (15:26 +0200)]
gstavdemux: adjust seeking offset according to start_time
https://bugzilla.gnome.org/show_bug.cgi?id=733094
Nirbheek Chauhan [Sat, 5 May 2018 14:33:49 +0000 (20:03 +0530)]
meson: Update option names to omit disable_ and with- prefixes
Also yield common options to the outer project (gst-build in our case)
so that they don't have to be set manually.
Jan Schmidt [Tue, 1 May 2018 04:57:43 +0000 (14:57 +1000)]
Update gas-preprocessor submodule
Jan Schmidt [Mon, 30 Apr 2018 19:19:28 +0000 (05:19 +1000)]
configure: Always use full path for gas-preprocessor PATH entry
Don't pass a relative path to gas-preprocessor, always use an
absolute path to make sure it's found
Jan Schmidt [Fri, 27 Apr 2018 14:14:45 +0000 (00:14 +1000)]
configure: fix handling of the input AS var passed to ffmpeg
Store the original AS environment variable passed to configure
correctly, and export it so it's actually available to the sub-process
when configuring the embedded ffmpeg
Tim-Philipp Müller [Mon, 16 Apr 2018 09:53:36 +0000 (10:53 +0100)]
Automatic update of common submodule
From 3fa2c9e to ed78bee
Tim-Philipp Müller [Tue, 20 Mar 2018 09:41:11 +0000 (09:41 +0000)]
Back to development
Tim-Philipp Müller [Mon, 19 Mar 2018 20:25:38 +0000 (20:25 +0000)]
Release 1.14.0
Tim-Philipp Müller [Mon, 19 Mar 2018 20:25:38 +0000 (20:25 +0000)]
Update docs
Tim-Philipp Müller [Tue, 13 Mar 2018 19:26:51 +0000 (19:26 +0000)]
Release 1.13.91
Tim-Philipp Müller [Tue, 13 Mar 2018 19:26:51 +0000 (19:26 +0000)]
Update docs
Nicolas Dufresne [Thu, 8 Mar 2018 16:22:29 +0000 (11:22 -0500)]
configure.ac: enable largefile support if possible
https://bugzilla.gnome.org/show_bug.cgi?id=793103
Matthew Waters [Tue, 6 Mar 2018 03:40:20 +0000 (14:40 +1100)]
build: prefer using *.la references when creating our own libtool files
Otherwise we will reference the dependant libraries with -lfoo rather than
/path/to/libfoo.la which breaks with the Android-based .la parser which
simply passes through all -l libraries.
https://bugzilla.gnome.org/show_bug.cgi?id=786403
Tim-Philipp Müller [Sat, 3 Mar 2018 22:44:19 +0000 (22:44 +0000)]
Release 1.13.90
Tim-Philipp Müller [Sat, 3 Mar 2018 22:44:19 +0000 (22:44 +0000)]
Update docs
Mathieu Duponchelle [Thu, 1 Mar 2018 18:01:58 +0000 (19:01 +0100)]
meson: enable more warnings
Matthew Waters [Wed, 14 Feb 2018 12:45:51 +0000 (23:45 +1100)]
explicitly disable v4l2_m2m codecs
They fail with android NDK r16
Tim-Philipp Müller [Thu, 15 Feb 2018 19:44:26 +0000 (19:44 +0000)]
Back to development
Tim-Philipp Müller [Thu, 15 Feb 2018 17:15:15 +0000 (17:15 +0000)]
Release 1.13.1
Tim-Philipp Müller [Thu, 15 Feb 2018 17:14:36 +0000 (17:14 +0000)]
docs: update plugin docs
Edward Hervey [Mon, 12 Feb 2018 07:32:01 +0000 (08:32 +0100)]
av*mux: Disable gif related "hacks"
This is properly handled by the previous commit now
Mathieu Duponchelle [Tue, 13 Jun 2017 16:50:50 +0000 (18:50 +0200)]
Enable gif format, and make it so avdemux_gif and avdec_gif can autoplug
https://bugzilla.gnome.org/show_bug.cgi?id=784684
Edward Hervey [Mon, 12 Feb 2018 06:38:13 +0000 (07:38 +0100)]
libav: Update to n3.4.2 release
Edward Hervey [Sat, 10 Feb 2018 14:18:11 +0000 (15:18 +0100)]
avvid*: Don't expose V4L2 mem-to-mem decoder and encoders
It's not going to work without special handling. Mask for now.
Edward Hervey [Sat, 10 Feb 2018 13:56:50 +0000 (14:56 +0100)]
gst-libs: Switch to ffmpeg n3.4.1
Tim-Philipp Müller [Thu, 8 Feb 2018 19:18:21 +0000 (19:18 +0000)]
meson: make version numbers ints and fix int/string comparison
WARNING: Trying to compare values of different types (str, int).
The result of this is undefined and will become a hard error
in a future Meson release.
Tim-Philipp Müller [Mon, 5 Feb 2018 07:47:18 +0000 (08:47 +0100)]
autotools: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
Tim-Philipp Müller [Tue, 30 Jan 2018 20:37:18 +0000 (20:37 +0000)]
meson: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
Ting-Wei Lan [Sat, 20 Jan 2018 07:45:45 +0000 (15:45 +0800)]
configure: Replace -Bsymbolic-functions with -Bsymbolic
The documentation of libav says -Bsymbolic may be needed when building a
shared library which links statically to libav.
Fixes linking error on FreeBSD:
gst-libav/gst-libs/ext/.libs/libavcodec.a(simple_idct10.o):
relocation R_X86_64_PC32 against `ff_pw_1023' can not be used when making a
shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
https://bugzilla.gnome.org/show_bug.cgi?id=791783
U. Artie Eoff [Tue, 24 Oct 2017 02:35:31 +0000 (19:35 -0700)]
libav: use LIBAV_CPPFLAGS for -I include paths
Autotools automatically appends user CPPFLAGS after target
CPPFLAGS. Also, it puts all CPPFLAGS before CFLAGS in final
generated gcc compile command. The internal ffmpeg include
paths need to come before any other external include paths
to ensure we don't accidentally pickup external ffmpeg
headers first (i.e. from user CPPFLAGS include paths). Thus,
move the internal LIBAV include paths to LIBAV_CPPFLAGS so
that they come before any user defined CPPFLAGS.
This allows ffmpeg and gst-ffmpeg to coexist on users system.
https://bugzilla.gnome.org/show_bug.cgi?id=789379
Ashish Kumar [Tue, 3 Oct 2017 08:27:24 +0000 (13:57 +0530)]
avprotocol: fix leak in error code paths
https://bugzilla.gnome.org/show_bug.cgi?id=788481
Matthew Waters [Thu, 14 Dec 2017 03:53:10 +0000 (14:53 +1100)]
Automatic update of common submodule
From e8c7a71 to 3fa2c9e
Matthew Waters [Mon, 27 Nov 2017 09:16:52 +0000 (20:16 +1100)]
Automatic update of common submodule
From 3f4aa96 to e8c7a71
Sebastian Dröge [Tue, 31 Oct 2017 06:54:29 +0000 (08:54 +0200)]
libav: Update to ffmpeg n3.3.5
Jan Alexander Steffens (heftig) [Thu, 19 Oct 2017 14:15:26 +0000 (16:15 +0200)]
avdemux: Whitelist the demuxers required for GC/Wii/WiiU ADPCM streams
Required to play .brstm (GameCube/Wii) and .bfstm (Wii U) files. Needs
at least avdec_adpcm_thp too, but that one is already accessible.
https://bugzilla.gnome.org/show_bug.cgi?id=789139
Nicola Murino [Sat, 23 Sep 2017 15:14:03 +0000 (17:14 +0200)]
avdemux: reset to 0 negative pts
for us pts are unsigned so reset to 0 negative pts returned from libav.
This is better than outputs completly wrong timestamps
https://bugzilla.gnome.org/show_bug.cgi?id=787795
Sebastian Dröge [Mon, 18 Sep 2017 12:45:32 +0000 (15:45 +0300)]
libav: Update to ffmpeg n3.3.4
Mathieu Duponchelle [Thu, 17 Aug 2017 12:28:22 +0000 (14:28 +0200)]
gstavcodecmap: Do not require a channel-mask
.. for mono or stereo input.
https://bugzilla.gnome.org/show_bug.cgi?id=786401
Tim-Philipp Müller [Thu, 17 Aug 2017 11:25:58 +0000 (12:25 +0100)]
Automatic update of common submodule
From 48a5d85 to 3f4aa96
Tim-Philipp Müller [Fri, 11 Aug 2017 19:26:06 +0000 (20:26 +0100)]
meson: don't export symbols by default
Only plugin entry points should be exported.
Sebastian Dröge [Thu, 10 Aug 2017 15:55:29 +0000 (18:55 +0300)]
Revert "avviddec: Remove usage of deprecated EDGE APIs"
This reverts commit
4284d791bc2c3ae716e4f99cedd870de9f575aec.
It causes crashes on various h264 and DNXHD/VC3 streams, where the
decoders write to arbitrary memory far after what we've allocated.
Sebastian Dröge [Thu, 10 Aug 2017 14:22:46 +0000 (17:22 +0300)]
libav: Update to ffmpeg n3.3.3