=== release 1.28.1 === 2026-02-26 01:44:06 +0000 Tim-Philipp Müller * gst-libav.doap: * meson.build: Release 1.28.1 2025-10-30 15:27:17 +0100 Jan Alexander Steffens (heftig) * ext/libav/gstavviddec.c: * ext/libav/gstavviddec.h: avviddec: Fix handling of mixed interlaced content The decoder would rapidly switch between progressive and interleaved output when fed with PAFF / Telecine input. If field order changes, we see a progressive frame after an interleaved one, or we see a repeat field, switch to mixed interlace mode and stay there. Part-of: 2026-02-23 18:10:21 +0100 Jan Alexander Steffens (heftig) * ext/libav/gstavviddec.c: avviddec: Improve renegotiation debug message Part-of: 2026-02-23 18:08:17 +0100 Jan Alexander Steffens (heftig) * ext/libav/gstavviddec.c: avviddec: Simplify conditional code in context handling Should not cause any functional change. Part-of: 2023-04-02 16:53:45 +0100 Tim-Philipp Müller * meson.build: * scripts/dist-common-files.py: modules: dist common files from monorepo root Less noise when making releases, and just need to maintain one copy. Part-of: 2026-02-15 17:45:19 +0000 Tim-Philipp Müller * README.md: modules: remove subproject README.md from git Will be added to the tarballs based on the monorepo README on dist. Part-of: 2026-02-15 17:20:59 +0000 Tim-Philipp Müller * RELEASE: modules: remove RELEASE from git, will be generated from template on dist Part-of: 2026-02-15 15:02:07 +0000 Tim-Philipp Müller * NEWS: modules: Remove NEWS from git which is generated from full release notes Part-of: 2025-07-08 16:56:00 +0200 Edward Hervey * ext/libav/gstav.c: libav: Don't process lines that won't be outputted They mostly all contain a trailing `\n` Part-of: 2025-11-14 10:50:51 +0100 Sven Püschel * ext/libav/gstavvidcmp.c: gst-libav: avvidcmp: set colorimetry on AVFrame Set the colorimetry on AVFrame based on the GstVideoFrame values. This properly maps potential colorimetry information to libav. Furthermore this fixes the avvideocompare element when used with FFmpeg 8.0. When comparing video frames FFmpeg also uses the scale filter. This has been reworked to use a new API [1], which checks that the color primaries and transfer characteristics are not set to RESERVED, which is the default 0 value. This causes the ff_test_fmt function to fail which in turn causes the avvideocompare element to fail. The implementation is copied from gst_ffmpeg_videoinfo_to_context, but the color range has been adopted to also map the unknown range to unspecified, similar to how gst_ffmpeg_videoinfo_to_context maps AVCOL_RANGE_UNSPECIFIED to GST_VIDEO_COLOR_RANGE_UNKNOWN. This was tested with FFmpeg 8.0 and the following sample pipeline: gst-launch-1.0 videotestsrc num-buffers=100 \ ! video/x-raw,format=NV12 \ ! videobalance brightness=0.005 hue=0.005 \ ! avvideocompare method=psnr stats-file=- name=cmp \ ! fakesink videotestsrc ! video/x-raw,format=NV12 \ ! cmp. Without the patch it doesn't generate any stats output and when called with GST_DEBUG=3 it shows the following errors for each frame: Unsupported input (Operation not supported): fmt:nv12 csp:gbr prim:reserved trc:reserved -> fmt:yuv420p csp:unknown prim:reserved trc:reserved [1] https://github.com/FFmpeg/FFmpeg/commit/04ce01df0bb2d66e143bcfcea439afc2a1b8d96e Part-of: 2026-02-03 15:12:22 +0200 Sebastian Dröge * ext/libav/gstavviddec.c: avviddec: Forward any ready video frames on gap events New frames might be ready to be output since the last input frame. Part-of: 2026-02-03 15:09:32 +0200 Sebastian Dröge * ext/libav/gstavauddec.c: avauddec: Don't increment the AVCodecContext frame counter This is incremented by ffmpeg whenever a new frame is output, there's no point in us incrementing it. Part-of: 2026-02-03 15:08:25 +0200 Sebastian Dröge * ext/libav/gstavviddec.c: avviddec: Don't increment the AVCodecContext frame counter This is incremented by ffmpeg whenever a new frame is output, there's no point in us incrementing it. Part-of: 2026-01-06 09:59:21 +0100 Christian Gräfe * docs/gst_plugins_cache.json: gst: also adapt author names in the gst_plugins_cache.json files Part-of: 2026-01-04 19:02:19 +0100 Christian Gräfe * ext/libav/gstavvidcmp.c: gst: fix author name: add missing closing angle bracket Part-of: 2026-01-21 10:23:16 +0100 Edward Hervey * ext/libav/gstavviddec.c: avviddec: Simplify picture_changed helper function By extracting the various ffmpeg version checks Part-of: 2025-10-16 16:30:47 +0200 Edward Hervey * ext/libav/gstavviddec.c: avviddec: Handle field/order changes in mixed interlace mode The whole point of mixed interlace mode is that the actual nature of the frames will be specified by buffer flags. This does not require a reconfiguration Part-of: 2025-04-10 07:35:30 +0200 Robert Mader * ext/libav/gstavviddec.c: avviddec: Allow stride changes for some decoders The ffmpeg documentation for get_buffer2() states: "Some decoders do not support linesizes changing between frames." For some well known decoders we know that they can. Add a helper function listing those decoders/codecs and allow stride changes for downstream pools in those cases. This notably allows H26x to be used with with udmabuf / the VideoDmabufPool independently of the video resolution, significantly improving performance is various scenarios. Part-of: 2026-01-27 17:10:54 +0000 Tim-Philipp Müller * meson.build: Back to development after 1.28.0 === release 1.28.0 === 2026-01-27 17:02:33 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * gst-libav.doap: * meson.build: Release 1.28.0 2026-01-05 20:20:51 +0000 Tim-Philipp Müller * meson.build: Back to development after 1.27.90 === release 1.27.90 === 2026-01-05 20:15:10 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * gst-libav.doap: * meson.build: Release 1.27.90 2025-12-30 17:53:22 -0500 Doug Nazar * tests/check/generic/libavcodec-locking.c: tests: Fix several memory leaks Part-of: 2025-12-23 19:17:33 +0100 Robert Mader * ext/libav/gstavviddec.c: avviddec: Set video alignment to internal pool In line with what we already do when a downstream pool is used with direct rendering. This *may* fix glitches in some cases. Part-of: 2025-12-09 19:13:20 +0000 Tim-Philipp Müller * meson.build: Back to development after 1.27.50 === release 1.27.50 === 2025-12-09 19:08:48 +0000 Tim-Philipp Müller * NEWS: * RELEASE: * gst-libav.doap: * meson.build: Release 1.27.50 2025-12-08 13:59:11 +0200 Sebastian Dröge * ext/libav/gstavviddec.c: avviddec: Try using all pools provided by the ALLOCATION query This first one might fail but a later one might still work. Part-of: 2025-12-05 19:58:47 +0200 Sebastian Dröge * ext/libav/gstavviddec.c: avviddec: Various fixes to allocation query handling Among other things * correctly aggregate video alignment from the query and the local requirements from ffmpeg, * make sure to use the correct allocation size after alignment * recover correctly from failure to set pool configuration * only set pool configuration once it is actually complete by not calling into the base class' decide_allocation() implementation * don't keep the pool active if direct rendering is not possible which prevents usage of the pool with a different configuration Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4788 Part-of: 2025-10-05 15:17:13 -0400 Doug Nazar * tests/check/generic/libavcodec-locking.c: gst: tests: convert g_assert() to g_assert_*() and mark unused items Part-of: 2025-09-16 19:54:21 +0530 Nirbheek Chauhan * meson.build: gst-libav: Suppress all warnings in the FFmpeg subproject Needs meson-7.1.1 which contains https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/merge_requests/162 Part-of: 2025-09-07 20:39:44 +0100 Tim-Philipp Müller * meson.build: Back to development after 1.27.2 === release 1.27.2 === 2025-09-07 20:34:55 +0100 Tim-Philipp Müller * NEWS: * RELEASE: * gst-libav.doap: * meson.build: Release 1.27.2 2025-09-01 21:02:22 +0530 Nirbheek Chauhan * meson.build: meson: Convert all remaining fallback: usages to [provide] Only commonly-used plugin deps like pango, orc, openh264, libvpx, libnice are enabled by default. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1788 Part-of: 2025-07-31 17:50:33 -0400 Olivier Crête * AUTHORS: AUTHORS: Remove outdated files They only contained historical contributors, the modern version is to look at the git logs. Part-of: 2025-07-08 20:00:07 +0100 Tim-Philipp Müller * meson.build: Back to development after 1.27.1 === release 1.27.1 === 2025-07-08 19:55:15 +0100 Tim-Philipp Müller * NEWS: * RELEASE: * gst-libav.doap: * meson.build: Release 1.27.1 2025-05-30 19:17:38 -0400 Doug Nazar * meson.build: meson: Disable flags not compatible with sanitizers if enabled Part-of: 2025-06-10 14:41:22 +0200 Víctor Manuel Jáquez Leal * scripts/gen-changelog.py: gstreamer-vaapi: remove subproject It's almost superseded by va plugin in gst-plugins-bad. Part-of: 2025-05-21 10:01:24 -0400 Doug Nazar * ext/libav/gstavcfg.c: gstreamer: A few small memory cleanups Part-of: 2025-05-22 09:10:49 -0400 Doug Nazar * ext/libav/gstavauddec.c: * ext/libav/gstavaudenc.c: * ext/libav/gstavcodecmap.c: * ext/libav/gstavcodecmap.h: * ext/libav/gstavviddec.c: * ext/libav/gstavvidenc.c: libav: Only allocate extradata while decoding Part-of: 2025-03-15 20:56:17 +0100 Tim-Philipp Müller * meson.options: meson: rename meson_options.txt to meson.options Which is supported since Meson 1.1: https://mesonbuild.com/Release-notes-for-1-1-0.html#support-for-reading-options-from-mesonoptions Part-of: 2025-03-10 13:14:07 -0300 Thibault Saunier * ext/libav/gstavviddec.c: video: Give better names to buffer pools Making debugging simpler Part-of: 2025-03-12 13:59:45 +0100 Tim-Philipp Müller * RELEASE: * meson.build: Back to development in main branch after 1.26.0 Part-of: === release 1.26.0 ===