platform/upstream/gst-libav.git
4 years agoavaudioenc: Fix build error for tv_profile 52/226152/1 accepted/tizen/unified/20200304.124025 submit/tizen/20200221.064623 submit/tizen/20200302.032418
Gilbok Lee [Thu, 27 Feb 2020 07:15:08 +0000 (16:15 +0900)]
avaudioenc: Fix build error for tv_profile

Change-Id: I18e05fcb24b6fd7d6974e317e94efbd54e0937ea

4 years agoMerge branch 'tizen_gst_1.16.2' into tizen 95/225595/1
Gilbok Lee [Fri, 21 Feb 2020 06:25:40 +0000 (15:25 +0900)]
Merge branch 'tizen_gst_1.16.2' into tizen

Change-Id: I7329ca1d34ab878f5a2b78fdeb945520397ff93f

4 years agoMerge branch 'upstream/1.16' into tizen_gst_1.16.2 99/223599/3 tizen_gst_1.16.2
Gilbok Lee [Thu, 30 Jan 2020 08:57:39 +0000 (17:57 +0900)]
Merge branch 'upstream/1.16' into tizen_gst_1.16.2

Change-Id: I181a882310f8cd7315616dd623dbfb4c49fcd86e

4 years agoarm: Fix SIGBUS on ARM when compiled with binutils 2.29 72/223472/1 accepted/tizen/unified/20200130.214733 submit/tizen/20200130.052510
Jeongmo Yang [Thu, 30 Jan 2020 05:06:29 +0000 (14:06 +0900)]
arm: Fix SIGBUS on ARM when compiled with binutils 2.29

In binutils 2.29, the behavior of the ADR instruction changed so that 1 is
added to the address of a Thumb function (previously nothing was added). This
allows the loaded address to be passed to a BLX instruction and the correct
mode change will occur.

See: https://sourceware.org/bugzilla/show_bug.cgi?id=21458

By using adr with a label that isn't annotated as a thumb function,
we avoid the new behaviour in binutils 2.29 and get the same behaviour
as in prior releases, and as in other assemblers (ms armasm.exe,
clang's built in assembler) - an idea that Janne Grunau came up with.

Signed-off-by: Martin Storsjö <martin@martin.st>
[tizen] Fix crash in libgstlibav.so after toolchain upgrade

Change-Id: I5fe79ed4f9b37968421d3522677180c1984f9421
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
4 years agoRelease 1.16.2 upstream/1.16 1.16.2
Tim-Philipp Müller [Tue, 3 Dec 2019 11:14:31 +0000 (11:14 +0000)]
Release 1.16.2

4 years agoUpdate docs
Tim-Philipp Müller [Tue, 3 Dec 2019 11:14:31 +0000 (11:14 +0000)]
Update docs

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>
5 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

5 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

5 years agoRelease 1.16.1
Tim-Philipp Müller [Mon, 23 Sep 2019 10:16:14 +0000 (11:16 +0100)]
Release 1.16.1

5 years agoUpdate docs
Tim-Philipp Müller [Mon, 23 Sep 2019 10:16:14 +0000 (11:16 +0100)]
Update docs

5 years agodocs: don't include the type hierarchy
Ross Burton [Mon, 9 Sep 2019 21:48:49 +0000 (22:48 +0100)]
docs: don't include the type hierarchy

gtk-doc can't generate a type hierarchy when scanning gst-libav, and gtk-doc
1.30 onwards doesn't write a file if there is no type hierarchy (unlike previous
releases, which wrote an empty file).  This results in the build failing with
gtk-doc 1.30 onwards, so remove the type hierarchy section from the
documentation as it doesn't serve any purpose.

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

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 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 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 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 agoDisable hevc decoder 86/209986/2 accepted/tizen_5.5_unified accepted/tizen_5.5_unified_mobile_hotfix accepted/tizen_5.5_unified_wearable_hotfix tizen_5.5 tizen_5.5_mobile_hotfix tizen_5.5_tv tizen_5.5_wearable_hotfix accepted/tizen/5.5/unified/20191031.005813 accepted/tizen/5.5/unified/mobile/hotfix/20201027.063703 accepted/tizen/5.5/unified/wearable/hotfix/20201027.102901 accepted/tizen/unified/20190716.111246 submit/tizen/20190716.010431 submit/tizen_5.5/20191031.000006 submit/tizen_5.5_mobile_hotfix/20201026.185106 submit/tizen_5.5_wearable_hotfix/20201026.184306 tizen_5.5.m2_release
Jeongmo Yang [Mon, 15 Jul 2019 03:00:47 +0000 (12:00 +0900)]
Disable hevc decoder

[Version] 1.12.2-1
[Profile] Common
[Issue Type] Update

Change-Id: Ibec96e900bfbcbfa6f87c32155209bac72ea53dc
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
5 years agoci: use template from 1.16 branch
Tim-Philipp Müller [Thu, 2 May 2019 11:35:32 +0000 (12:35 +0100)]
ci: use template from 1.16 branch

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

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

6 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.

6 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

6 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.

6 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

6 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.

6 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

6 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

6 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

6 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

6 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

6 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

6 years agolibav: Fix symbol redefine build error
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

6 years agoRemove obsolete #if 0-ed code
Tim-Philipp Müller [Wed, 18 Jul 2018 14:43:41 +0000 (15:43 +0100)]
Remove obsolete #if 0-ed code

6 years agoRemove swscale plugin 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.

6 years agolibav: Update to ffmpeg release/4.0 HEAD
Mathieu Duponchelle [Mon, 16 Jul 2018 17:45:35 +0000 (19:45 +0200)]
libav: Update to ffmpeg release/4.0 HEAD

6 years agoavcfg: Properly initalize GValue
Edward Hervey [Mon, 16 Jul 2018 06:44:45 +0000 (08:44 +0200)]
avcfg: Properly initalize GValue

.. to the expected property value type.

6 years agoavcfg: actually remove call to g_object_getv
Mathieu Duponchelle [Fri, 13 Jul 2018 16:03:27 +0000 (18:03 +0200)]
avcfg: actually remove call to g_object_getv

(Sorry about that)

6 years agoav*dec: Ignore decoding errors
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.

6 years agoavcfg: use g_object_get_property, not g_object_getv
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.

6 years agoavcfg: ignore some generic properties
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

6 years agoavcfg: add skip support to overrides system
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

6 years agomeson: add FFmpeg meson as a fallback
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

6 years agoauddec: fix luck-based sinkpad access
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

6 years agoUpdate ffmpeg version requirements
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

6 years agoRemove obsolete scale and resample sources
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

6 years agoconfigure: update libav configure args
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

6 years agolibav: Update to n4.0.1 release
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

6 years agomeson: stop ignoring deprecation warnings!
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

6 years agoavvidenc: port to send_frame / receive_packet
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

6 years agoavviddec: fix invalid alignment calculations.
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

6 years agoavaudenc: port to send_frame / receive_packet
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

6 years agoavmux: fix remaining warnings
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

6 years agoavauddec: fix remaining warnings
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

6 years agoavauddec: port to new decoding API
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

6 years agoavaudenc: further cleanup
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

6 years agoavaudenc: install options generically
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

6 years agoavviddec: fix signed/unsigned comparisons
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

6 years agoavvidec: port to new decoding API
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

6 years agogstav: stop calling deprecated registration methods
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

6 years agoauddec: stop using deprecated getters
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

6 years agoav_oformat_next (deprecated) -> av_muxer_iterate
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

6 years agoav_iformat_next (deprecated) -> av_demuxer_iterate
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

6 years agoavauddec: remove obsolete version check
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

6 years agoav_codec_next (deprecated) -> av_codec_iterate
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

6 years agoavdemux: port to AVCodecParameters
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

6 years agoavmux: port to AVCodecParameters
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

6 years agoRemove all uses of AVPicture
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

6 years agoavaudenc: remove obsolete setting of rc_strategy
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

6 years agoRefactor avcfg / avvidenc
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

6 years agoavviddec: Stop using deperated EDGE API
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

6 years agoUse AV_ namespace for all CODEC_ macro
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

6 years agoUse AV_ namespace for INPUT_BUFFER_PADDING_SIZE
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

6 years agoDon't include deprecated avfiltergraph.h header
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

6 years agoavdemux: fix memory leaks
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

6 years agolibav: Switch to common include
Edward Hervey [Fri, 11 May 2018 12:24:03 +0000 (14:24 +0200)]
libav: Switch to common include