public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/ffmpeg] epel9-next: Rebase to 7.0.2 (rhbz#2273572)
@ 2026-07-20 17:31 Neal Gompa
0 siblings, 0 replies; only message in thread
From: Neal Gompa @ 2026-07-20 17:31 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/ffmpeg
Branch : epel9-next
Commit : 0c021328bab3d76894ba055e5d55393e29888bbe
Author : Neal Gompa <ngompa@fedoraproject.org>
Date : 2024-09-07T11:45:32+02:00
Stats : +322/-899 in 15 file(s)
URL : https://src.fedoraproject.org/rpms/ffmpeg/c/0c021328bab3d76894ba055e5d55393e29888bbe?branch=epel9-next
Log:
Rebase to 7.0.2 (rhbz#2273572)
- Drop OpenH264 dlopen headers as we use noopenh264 now
- Use modern bconds
Co-authored-by: Robert-André Mauchin <eclipseo@fedoraproject.org>
---
diff --git a/.gitignore b/.gitignore
index f0c157a..381c5ba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,5 @@ ffmpeg-*.asc
ffmpeg-*.rpm
ffmpeg-*.tar.xz
/ffmpeg.keyring
+/results_*
+/*.rpm
diff --git a/0001-lavc-libopenh264-Drop-openh264-runtime-version-check.patch b/0001-lavc-libopenh264-Drop-openh264-runtime-version-check.patch
deleted file mode 100644
index 7066f16..0000000
--- a/0001-lavc-libopenh264-Drop-openh264-runtime-version-check.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From a641e629591d68bd3edd99bddec623dc31295f6b Mon Sep 17 00:00:00 2001
-From: Kalev Lember <klember@redhat.com>
-Date: Wed, 6 Dec 2023 14:37:34 +0100
-Subject: [PATCH] lavc/libopenh264: Drop openh264 runtime version checks
-
-Years ago, openh264 releases often changed their ABI without changing
-the library soname. To avoid running into ABI issues, a version check
-was added to lavc libopenh264 code to error out at runtime in case the
-build time and runtime openh264 versions don't match.
-
-This should no longer be an issue with newer openh264 releases and we
-can drop the runtime version check and rely on upstream doing the right
-thing and bump the library soname if the ABI changes, similar to how
-other libraries are consumed in ffmpeg.
-
-Almost all major distributions now include openh264 and this means there
-are more eyes on ABI changes and issues are discovered and reported
-quickly. See e.g. https://github.com/cisco/openh264/issues/3564 where an
-ABI issue was quickly discovered and fixed.
-
-Relaxing the check allows downstream distributions to build ffmpeg
-against e.g. openh264 2.3.1 and ship an update to ABI-compatible
-openh264 2.4.0, without needing to coordinate a lock step update between
-ffmpeg and openh264 (which can be difficult if openh264 is distributed
-by Cisco and ffmpeg comes from the distro, such as is the case for
-Fedora).
-
-Signed-off-by: Kalev Lember <klember@redhat.com>
----
- libavcodec/libopenh264.c | 15 ---------------
- libavcodec/libopenh264.h | 2 --
- libavcodec/libopenh264dec.c | 4 ----
- libavcodec/libopenh264enc.c | 4 ----
- 4 files changed, 25 deletions(-)
-
-diff --git a/libavcodec/libopenh264.c b/libavcodec/libopenh264.c
-index 0f6d28ed88..c80c85ea8b 100644
---- a/libavcodec/libopenh264.c
-+++ b/libavcodec/libopenh264.c
-@@ -46,18 +46,3 @@ void ff_libopenh264_trace_callback(void *ctx, int level, const char *msg)
- int equiv_ffmpeg_log_level = libopenh264_to_ffmpeg_log_level(level);
- av_log(ctx, equiv_ffmpeg_log_level, "%s\n", msg);
- }
--
--int ff_libopenh264_check_version(void *logctx)
--{
-- // Mingw GCC < 4.7 on x86_32 uses an incorrect/buggy ABI for the WelsGetCodecVersion
-- // function (for functions returning larger structs), thus skip the check in those
-- // configurations.
--#if !defined(_WIN32) || !defined(__GNUC__) || !ARCH_X86_32 || AV_GCC_VERSION_AT_LEAST(4, 7)
-- OpenH264Version libver = WelsGetCodecVersion();
-- if (memcmp(&libver, &g_stCodecVersion, sizeof(libver))) {
-- av_log(logctx, AV_LOG_ERROR, "Incorrect library version loaded\n");
-- return AVERROR(EINVAL);
-- }
--#endif
-- return 0;
--}
-diff --git a/libavcodec/libopenh264.h b/libavcodec/libopenh264.h
-index dbb9c5d429..0b462d6fdc 100644
---- a/libavcodec/libopenh264.h
-+++ b/libavcodec/libopenh264.h
-@@ -34,6 +34,4 @@
-
- void ff_libopenh264_trace_callback(void *ctx, int level, const char *msg);
-
--int ff_libopenh264_check_version(void *logctx);
--
- #endif /* AVCODEC_LIBOPENH264_H */
-diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
-index 7d650ae03e..b6a9bba2dc 100644
---- a/libavcodec/libopenh264dec.c
-+++ b/libavcodec/libopenh264dec.c
-@@ -52,13 +52,9 @@ static av_cold int svc_decode_init(AVCodecContext *avctx)
- {
- SVCContext *s = avctx->priv_data;
- SDecodingParam param = { 0 };
-- int err;
- int log_level;
- WelsTraceCallback callback_function;
-
-- if ((err = ff_libopenh264_check_version(avctx)) < 0)
-- return AVERROR_DECODER_NOT_FOUND;
--
- if (WelsCreateDecoder(&s->decoder)) {
- av_log(avctx, AV_LOG_ERROR, "Unable to create decoder\n");
- return AVERROR_UNKNOWN;
-diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c
-index f518d0894e..6f231d22b2 100644
---- a/libavcodec/libopenh264enc.c
-+++ b/libavcodec/libopenh264enc.c
-@@ -110,14 +110,10 @@ static av_cold int svc_encode_init(AVCodecContext *avctx)
- {
- SVCContext *s = avctx->priv_data;
- SEncParamExt param = { 0 };
-- int err;
- int log_level;
- WelsTraceCallback callback_function;
- AVCPBProperties *props;
-
-- if ((err = ff_libopenh264_check_version(avctx)) < 0)
-- return AVERROR_ENCODER_NOT_FOUND;
--
- if (WelsCreateSVCEncoder(&s->encoder)) {
- av_log(avctx, AV_LOG_ERROR, "Unable to create encoder\n");
- return AVERROR_UNKNOWN;
---
-2.43.0
-
diff --git a/README.md b/README.md
index 9b921a7..d42d487 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ community or a corporation.
2. Set the `Release` to 0 in the spec file.
3. Set `pkg_suffix` to `%nil`
4. Do a full build locally: `fedpkg mockbuild --with full_build`
-5. Run `./ffmpeg_update_free_sources.sh results_ffmpeg/5.0/0.fc35/build.log`
+5. Run `./ffmpeg_update_free_sources.sh results_ffmpeg/7.0/0.fc40/build.log`
This will update the `ffmpeg_free_sources` file list.
Note that header files will need to be manually added
to the `ffmpeg_free_sources` file list.
diff --git a/enable_decoders b/enable_decoders
index ea1c38e..7b812cc 100644
--- a/enable_decoders
+++ b/enable_decoders
@@ -81,7 +81,6 @@ aura
aura2
av1 # libaom
av1_qsv # libaom
-ayuv # trivial
bethsoftvid # trivial
bfi # trivial
bink
@@ -162,7 +161,7 @@ gsm_ms
gsm_ms_at
h261
h263
-h263_v4l2m2m
+h263_v4l2m2m # hardware
h263i
h263p
hap
@@ -244,13 +243,13 @@ mp3on4
mp3on4float
mpc7
mpc8
-mpeg1video
mpeg1_v4l2m2m
-mpeg2video
+mpeg1video
mpeg2_qsv
mpeg2_v4l2m2m
+mpeg2video
mpeg4
-mpeg4_v4l2m2m
+mpeg4_v4l2m2m # hardware
mpegvideo
mpl2
msa1
@@ -335,6 +334,7 @@ qcelp
qdm2
qdmc
qdraw
+qoa
qoi
qpeg
qtrle
diff --git a/enable_encoders b/enable_encoders
index 10dd53a..810d081 100644
--- a/enable_encoders
+++ b/enable_encoders
@@ -31,7 +31,6 @@ av1_amf
av1_nvenc
av1_qsv
av1_vaapi
-ayuv # trival
bitpacked # trivial
bmp # trivial
cinepak
@@ -70,9 +69,9 @@ hevc_v4l2m2m # hardware
hevc_vaapi # hardware
huffyuv # trivial+zlib
ilbc # ilbc
-jpegls
jpeg2000
-libaom # libaom
+jpegls
+libaom
libaom_av1 # libaom
libcodec2 # codec2
libgsm # libgsm
@@ -85,7 +84,6 @@ libopenh264 # openh264_dlopen
libopenjpeg # openjpeg
libopus # opus
librav1e # rav1e
-libschroedinger # schroedinger
libspeex # speex
libsvtav1
libtheora # libtheora
@@ -104,9 +102,9 @@ mlp
mp2 # twolame
mp2fixed # twolame
mpeg1video
-mpeg2video
mpeg2_qsv
mpeg2_vaapi
+mpeg2video
mpeg4
mpeg4_v4l2m2m # hardware
msmpeg4v2
diff --git a/ffmpeg-CVE-2023-49528.patch b/ffmpeg-CVE-2023-49528.patch
deleted file mode 100644
index c42275c..0000000
--- a/ffmpeg-CVE-2023-49528.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 2d9ed64859c9887d0504cd71dbd5b2c15e14251a Mon Sep 17 00:00:00 2001
-From: Paul B Mahol <onemda@gmail.com>
-Date: Sat, 25 Nov 2023 12:54:28 +0100
-Subject: [PATCH] avfilter/af_dialoguenhance: fix overreads
-
----
- libavfilter/af_dialoguenhance.c | 17 +++++++++--------
- 1 file changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/libavfilter/af_dialoguenhance.c b/libavfilter/af_dialoguenhance.c
-index 1762ea7cde..29c8ab10a7 100644
---- a/libavfilter/af_dialoguenhance.c
-+++ b/libavfilter/af_dialoguenhance.c
-@@ -96,12 +96,12 @@ static int config_input(AVFilterLink *inlink)
- if (!s->window)
- return AVERROR(ENOMEM);
-
-- s->in_frame = ff_get_audio_buffer(inlink, s->fft_size * 4);
-- s->center_frame = ff_get_audio_buffer(inlink, s->fft_size * 4);
-- s->out_dist_frame = ff_get_audio_buffer(inlink, s->fft_size * 4);
-- s->windowed_frame = ff_get_audio_buffer(inlink, s->fft_size * 4);
-- s->windowed_out = ff_get_audio_buffer(inlink, s->fft_size * 4);
-- s->windowed_prev = ff_get_audio_buffer(inlink, s->fft_size * 4);
-+ s->in_frame = ff_get_audio_buffer(inlink, (s->fft_size + 2) * 2);
-+ s->center_frame = ff_get_audio_buffer(inlink, (s->fft_size + 2) * 2);
-+ s->out_dist_frame = ff_get_audio_buffer(inlink, (s->fft_size + 2) * 2);
-+ s->windowed_frame = ff_get_audio_buffer(inlink, (s->fft_size + 2) * 2);
-+ s->windowed_out = ff_get_audio_buffer(inlink, (s->fft_size + 2) * 2);
-+ s->windowed_prev = ff_get_audio_buffer(inlink, (s->fft_size + 2) * 2);
- if (!s->in_frame || !s->windowed_out || !s->windowed_prev ||
- !s->out_dist_frame || !s->windowed_frame || !s->center_frame)
- return AVERROR(ENOMEM);
-@@ -250,6 +250,7 @@ static int de_stereo(AVFilterContext *ctx, AVFrame *out)
- float *right_osamples = (float *)out->extended_data[1];
- float *center_osamples = (float *)out->extended_data[2];
- const int offset = s->fft_size - s->overlap;
-+ const int nb_samples = FFMIN(s->overlap, s->in->nb_samples);
- float vad;
-
- // shift in/out buffers
-@@ -258,8 +259,8 @@ static int de_stereo(AVFilterContext *ctx, AVFrame *out)
- memmove(left_out, &left_out[s->overlap], offset * sizeof(float));
- memmove(right_out, &right_out[s->overlap], offset * sizeof(float));
-
-- memcpy(&left_in[offset], left_samples, s->overlap * sizeof(float));
-- memcpy(&right_in[offset], right_samples, s->overlap * sizeof(float));
-+ memcpy(&left_in[offset], left_samples, nb_samples * sizeof(float));
-+ memcpy(&right_in[offset], right_samples, nb_samples * sizeof(float));
- memset(&left_out[offset], 0, s->overlap * sizeof(float));
- memset(&right_out[offset], 0, s->overlap * sizeof(float));
-
---
-2.25.1
-
diff --git a/ffmpeg-allow-fdk-aac-free.patch b/ffmpeg-allow-fdk-aac-free.patch
index 3b87cce..11e1a3c 100644
--- a/ffmpeg-allow-fdk-aac-free.patch
+++ b/ffmpeg-allow-fdk-aac-free.patch
@@ -4,23 +4,24 @@ fdk-aac-free-devel is GPL compatible
See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112
-Index: ffmpeg-5.0/configure
+Index: ffmpeg-7.0/configure
===================================================================
---- ffmpeg-5.0.orig/configure 2022-02-09 20:07:49.490888877 +0100
-+++ ffmpeg-5.0/configure 2022-02-09 20:08:30.102854308 +0100
-@@ -1783,7 +1783,6 @@ EXTERNAL_LIBRARY_GPL_LIST="
-
+--- ffmpeg-7.0.orig/configure 2022-02-09 20:07:49.490888877 +0100
++++ ffmpeg-7.0/configure 2022-02-09 20:08:30.102854308 +0100
+@@ -1872,7 +1872,6 @@ EXTERNAL_LIBRARY_GPL_LIST="
+
EXTERNAL_LIBRARY_NONFREE_LIST="
decklink
- libfdk_aac
libtls
"
-
-@@ -1822,6 +1821,7 @@ EXTERNAL_LIBRARY_LIST="
+
+@@ -1912,6 +1911,7 @@ EXTERNAL_LIBRARY_LIST="
+ libcodec2
libdav1d
libdc1394
- libdrm
+ libfdk_aac
libflite
libfontconfig
libfreetype
+
diff --git a/ffmpeg-c99.patch b/ffmpeg-c99.patch
deleted file mode 100644
index 0ae4d8a..0000000
--- a/ffmpeg-c99.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 42982b5a5d461530a792e69b3e8abdd9d6d67052 Mon Sep 17 00:00:00 2001
-From: Frank Plowman <post@frankplowman.com>
-Date: Fri, 22 Dec 2023 12:00:01 +0000
-Subject: [PATCH] avformat/ffrtmpcrypt: Fix int-conversion warning
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-Content-type: text/plain
-
-The gcrypt definition of `bn_new` used to use the return statement
-on errors, with an AVERROR return value, regardless of the signature
-of the function where the macro is used - it is called in
-`dh_generate_key` and `ff_dh_init` which return pointers. As a result,
-compiling with gcrypt and the ffrtmpcrypt protocol resulted in an
-int-conversion warning. GCC 14 may upgrade these to errors [1].
-
-This patch fixes the problem by changing the macro to remove `AVERROR`
-and instead set `bn` to null if the allocation fails. This is the
-behaviour of all the other `bn_new` implementations and so the result is
-already checked at all the callsites. AFAICT, this should be the only
-change needed to get ffmpeg off Fedora's naughty list of projects with
-warnings which may be upgraded to errors in GCC 14 [2].
-
-[1]: https://gcc.gnu.org/pipermail/gcc/2023-May/241264.html
-[2]: https://www.mail-archive.com/devel@lists.fedoraproject.org/msg196024.html
-
-Signed-off-by: Frank Plowman <post@frankplowman.com>
-Signed-off-by: Martin Storsjö <martin@martin.st>
----
- libavformat/rtmpdh.c | 21 ++++++++++++---------
- 1 file changed, 12 insertions(+), 9 deletions(-)
-
-diff --git a/libavformat/rtmpdh.c b/libavformat/rtmpdh.c
-index 5ddae537a1..6a6c2ccd87 100644
---- a/libavformat/rtmpdh.c
-+++ b/libavformat/rtmpdh.c
-@@ -113,15 +113,18 @@ static int bn_modexp(FFBigNum bn, FFBigNum y, FFBigNum q, FFBigNum p)
- return 0;
- }
- #elif CONFIG_GCRYPT
--#define bn_new(bn) \
-- do { \
-- if (!gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P)) { \
-- if (!gcry_check_version("1.5.4")) \
-- return AVERROR(EINVAL); \
-- gcry_control(GCRYCTL_DISABLE_SECMEM, 0); \
-- gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); \
-- } \
-- bn = gcry_mpi_new(1); \
-+#define bn_new(bn) \
-+ do { \
-+ if (!gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P)) { \
-+ if (gcry_check_version("1.5.4")) { \
-+ gcry_control(GCRYCTL_DISABLE_SECMEM, 0); \
-+ gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); \
-+ } \
-+ } \
-+ if (gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P)) \
-+ bn = gcry_mpi_new(1); \
-+ else \
-+ bn = NULL; \
- } while (0)
- #define bn_free(bn) gcry_mpi_release(bn)
- #define bn_set_word(bn, w) gcry_mpi_set_ui(bn, w)
---
-2.43.0
-
diff --git a/ffmpeg-chromium.patch b/ffmpeg-chromium.patch
index 2160609..2f5877c 100644
--- a/ffmpeg-chromium.patch
+++ b/ffmpeg-chromium.patch
@@ -12,35 +12,35 @@ diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 1916aa2dc5..e6682849fa 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
-@@ -1019,6 +1019,10 @@ attribute_deprecated
- int64_t av_stream_get_end_pts(const AVStream *st);
- #endif
-
+@@ -1170,6 +1170,10 @@ typedef struct AVStreamGroup {
+
+ struct AVCodecParserContext *av_stream_get_parser(const AVStream *s);
+
+// Chromium: We use the internal field first_dts vvv
+int64_t av_stream_get_first_dts(const AVStream *st);
+// Chromium: We use the internal field first_dts ^^^
+
#define AV_PROGRAM_RUNNING 1
-
+
/**
diff --git a/libavformat/utils.c b/libavformat/utils.c
index cf4d68bff9..7d750abf88 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
-@@ -55,6 +55,13 @@ int ff_unlock_avformat(void)
+@@ -56,6 +56,13 @@ int ff_unlock_avformat(void)
return ff_mutex_unlock(&avformat_mutex) ? -1 : 0;
}
-
+
+// Chromium: We use the internal field first_dts vvv
+int64_t av_stream_get_first_dts(const AVStream *st)
+{
-+ return cffstream(st)->first_dts;
++ return cffstream(st)->first_dts;
+}
+// Chromium: We use the internal field first_dts ^^^
+
/* an arbitrarily chosen "sane" max packet size -- 50M */
#define SANE_CHUNK_SIZE (50000000)
-
+
--
2.41.0
diff --git a/ffmpeg-codec-choice.patch b/ffmpeg-codec-choice.patch
index 221b4f6..f6a4ead 100644
--- a/ffmpeg-codec-choice.patch
+++ b/ffmpeg-codec-choice.patch
@@ -11,19 +11,19 @@ reduced codec selection list.
libavformat/matroskaenc.c | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
-Index: ffmpeg-6.0/libavformat/matroskaenc.c
+Index: ffmpeg-7.0/libavformat/matroskaenc.c
===================================================================
---- ffmpeg-6.0.orig/libavformat/matroskaenc.c
-+++ ffmpeg-6.0/libavformat/matroskaenc.c
-@@ -3321,16 +3321,25 @@ static int mkv_query_codec(enum AVCodecI
+--- ffmpeg-7.0.orig/libavformat/matroskaenc.c
++++ ffmpeg-7.0/libavformat/matroskaenc.c
+@@ -3540,16 +3540,25 @@ static int mkv_query_codec(enum AVCodecI
return 0;
}
-
+
+#define PREFAUDIO \
-+ CONFIG_LIBOPUS_ENCODER ? AV_CODEC_ID_OPUS : \
-+ CONFIG_AAC_ENCODER ? AV_CODEC_ID_AAC : \
-+ CONFIG_VORBIS_ENCODER ? AV_CODEC_ID_VORBIS : \
-+ AV_CODEC_ID_AC3
++ CONFIG_LIBOPUS_ENCODER ? AV_CODEC_ID_OPUS : \
++ CONFIG_AAC_ENCODER ? AV_CODEC_ID_AAC : \
++ CONFIG_VORBIS_ENCODER ? AV_CODEC_ID_VORBIS : \
++ AV_CODEC_ID_AC3
+
const FFOutputFormat ff_matroska_muxer = {
.p.name = "matroska",
@@ -36,16 +36,16 @@ Index: ffmpeg-6.0/libavformat/matroskaenc.c
- .p.video_codec = CONFIG_LIBX264_ENCODER ?
- AV_CODEC_ID_H264 : AV_CODEC_ID_MPEG4,
+ .p.audio_codec = PREFAUDIO,
-+ .p.video_codec =
-+ CONFIG_LIBVPX_VP9_ENCODER ? AV_CODEC_ID_VP9 : \
-+ CONFIG_LIBX264_ENCODER ? AV_CODEC_ID_H264 : \
-+ CONFIG_LIBVPX_VP8_ENCODER ? AV_CODEC_ID_VP8 : \
-+ CONFIG_MPEG4_ENCODER ? AV_CODEC_ID_MPEG4 : \
-+ AV_CODEC_ID_THEORA,
++ .p.video_codec =
++ CONFIG_LIBVPX_VP9_ENCODER ? AV_CODEC_ID_VP9 : \
++ CONFIG_LIBX264_ENCODER ? AV_CODEC_ID_H264 : \
++ CONFIG_LIBVPX_VP8_ENCODER ? AV_CODEC_ID_VP8 : \
++ CONFIG_MPEG4_ENCODER ? AV_CODEC_ID_MPEG4 : \
++ AV_CODEC_ID_THEORA,
.init = mkv_init,
.deinit = mkv_deinit,
.write_header = mkv_write_header,
-@@ -3388,8 +3397,7 @@ const FFOutputFormat ff_matroska_audio_m
+@@ -3617,8 +3626,7 @@ const FFOutputFormat ff_matroska_audio_m
.p.mime_type = "audio/x-matroska",
.p.extensions = "mka",
.priv_data_size = sizeof(MatroskaMuxContext),
@@ -55,3 +55,4 @@ Index: ffmpeg-6.0/libavformat/matroskaenc.c
.p.video_codec = AV_CODEC_ID_NONE,
.init = mkv_init,
.deinit = mkv_deinit,
+
diff --git a/ffmpeg-dlopen-openh264.patch b/ffmpeg-dlopen-openh264.patch
deleted file mode 100644
index 329606b..0000000
--- a/ffmpeg-dlopen-openh264.patch
+++ /dev/null
@@ -1,363 +0,0 @@
-From 3daa49cae0bfc3de434dd28c3a23ae877f0639db Mon Sep 17 00:00:00 2001
-From: Neal Gompa <ngompa@fedoraproject.org>
-Date: Thu, 4 Jan 2024 10:21:17 -0500
-Subject: [PATCH] lavc/openh264: Add the ability to dlopen() OpenH264
-
-We can't directly depend on OpenH264, but we can weakly link to it
-and gracefully expose the capability.
-
-Co-authored-by: Andreas Schneider <asn@cryptomilk.org>
-Co-authored-by: Neal Gompa <ngompa@fedoraproject.org>
-
-Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
-Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
----
- configure | 3 +
- libavcodec/Makefile | 1 +
- libavcodec/libopenh264.c | 5 ++
- libavcodec/libopenh264_dlopen.c | 147 ++++++++++++++++++++++++++++++++
- libavcodec/libopenh264_dlopen.h | 58 +++++++++++++
- libavcodec/libopenh264dec.c | 10 +++
- libavcodec/libopenh264enc.c | 10 +++
- 7 files changed, 234 insertions(+)
- create mode 100644 libavcodec/libopenh264_dlopen.c
- create mode 100644 libavcodec/libopenh264_dlopen.h
-
-diff --git a/configure b/configure
-index 1f0b9497cb..97fa4a5d6a 100755
---- a/configure
-+++ b/configure
-@@ -249,6 +249,7 @@ External library support:
- --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
- --enable-libopencv enable video filtering via libopencv [no]
- --enable-libopenh264 enable H.264 encoding via OpenH264 [no]
-+ --enable-libopenh264-dlopen enable H.264 encoding via dlopen()'ed OpenH264 [no]
- --enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no]
- --enable-libopenmpt enable decoding tracked files via libopenmpt [no]
- --enable-libopenvino enable OpenVINO as a DNN module backend
-@@ -1871,6 +1872,7 @@ EXTERNAL_LIBRARY_LIST="
- libmysofa
- libopencv
- libopenh264
-+ libopenh264_dlopen
- libopenjpeg
- libopenmpt
- libopenvino
-@@ -6765,6 +6767,7 @@ enabled libopencv && { check_headers opencv2/core/core_c.h &&
- require libopencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } ||
- require_pkg_config libopencv opencv opencv/cxcore.h cvCreateImageHeader; }
- enabled libopenh264 && require_pkg_config libopenh264 openh264 wels/codec_api.h WelsGetCodecVersion
-+enabled libopenh264_dlopen && enable libopenh264 && add_cppflags "-I$(dirname `readlink -f $0`)/ffdlopenhdrs/include -DCONFIG_LIBOPENH264_DLOPEN=1"
- enabled libopenjpeg && { check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version ||
- { require_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version -DOPJ_STATIC && add_cppflags -DOPJ_STATIC; } }
- enabled libopenmpt && require_pkg_config libopenmpt "libopenmpt >= 0.2.6557" libopenmpt/libopenmpt.h openmpt_module_create -lstdc++ && append libopenmpt_extralibs "-lstdc++"
-diff --git a/libavcodec/Makefile b/libavcodec/Makefile
-index 580a8d6b54..c27d229f6d 100644
---- a/libavcodec/Makefile
-+++ b/libavcodec/Makefile
-@@ -1115,6 +1115,7 @@ OBJS-$(CONFIG_LIBMP3LAME_ENCODER) += libmp3lame.o
- OBJS-$(CONFIG_LIBOPENCORE_AMRNB_DECODER) += libopencore-amr.o
- OBJS-$(CONFIG_LIBOPENCORE_AMRNB_ENCODER) += libopencore-amr.o
- OBJS-$(CONFIG_LIBOPENCORE_AMRWB_DECODER) += libopencore-amr.o
-+OBJS-$(CONFIG_LIBOPENH264_DLOPEN) += libopenh264_dlopen.o
- OBJS-$(CONFIG_LIBOPENH264_DECODER) += libopenh264dec.o libopenh264.o
- OBJS-$(CONFIG_LIBOPENH264_ENCODER) += libopenh264enc.o libopenh264.o
- OBJS-$(CONFIG_LIBOPENJPEG_ENCODER) += libopenjpegenc.o
-diff --git a/libavcodec/libopenh264.c b/libavcodec/libopenh264.c
-index c80c85ea8b..128c3d9846 100644
---- a/libavcodec/libopenh264.c
-+++ b/libavcodec/libopenh264.c
-@@ -20,8 +20,13 @@
- */
-
- #include <string.h>
-+
-+#ifdef CONFIG_LIBOPENH264_DLOPEN
-+#include "libopenh264_dlopen.h"
-+#else
- #include <wels/codec_api.h>
- #include <wels/codec_ver.h>
-+#endif
-
- #include "libavutil/error.h"
- #include "libavutil/log.h"
-diff --git a/libavcodec/libopenh264_dlopen.c b/libavcodec/libopenh264_dlopen.c
-new file mode 100644
-index 0000000000..49ea8ff44f
---- /dev/null
-+++ b/libavcodec/libopenh264_dlopen.c
-@@ -0,0 +1,147 @@
-+/*
-+ * OpenH264 dlopen code
-+ *
-+ * Copyright (C) 2022 Andreas Schneider <asn@cryptomilk.org>
-+ *
-+ * This file is part of FFmpeg.
-+ *
-+ * FFmpeg is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * FFmpeg is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with FFmpeg; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ */
-+
-+#include <dlfcn.h>
-+
-+#include "libopenh264_dlopen.h"
-+
-+/*
-+ * The symbol binding makes sure we do not run into strict aliasing issues which
-+ * can lead into segfaults.
-+ */
-+typedef int (*__oh264_WelsCreateSVCEncoder)(ISVCEncoder **);
-+typedef void (*__oh264_WelsDestroySVCEncoder)(ISVCEncoder *);
-+typedef int (*__oh264_WelsGetDecoderCapability)(SDecoderCapability *);
-+typedef long (*__oh264_WelsCreateDecoder)(ISVCDecoder **);
-+typedef void (*__oh264_WelsDestroyDecoder)(ISVCDecoder *);
-+typedef OpenH264Version (*__oh264_WelsGetCodecVersion)(void);
-+typedef void (*__oh264_WelsGetCodecVersionEx)(OpenH264Version *);
-+
-+#define OH264_SYMBOL_ENTRY(i) \
-+ union { \
-+ __oh264_##i f; \
-+ void *obj; \
-+ } _oh264_##i
-+
-+struct oh264_symbols {
-+ OH264_SYMBOL_ENTRY(WelsCreateSVCEncoder);
-+ OH264_SYMBOL_ENTRY(WelsDestroySVCEncoder);
-+ OH264_SYMBOL_ENTRY(WelsGetDecoderCapability);
-+ OH264_SYMBOL_ENTRY(WelsCreateDecoder);
-+ OH264_SYMBOL_ENTRY(WelsDestroyDecoder);
-+ OH264_SYMBOL_ENTRY(WelsGetCodecVersion);
-+ OH264_SYMBOL_ENTRY(WelsGetCodecVersionEx);
-+};
-+
-+/* Symbols are bound by loadLibOpenH264() */
-+static struct oh264_symbols openh264_symbols;
-+
-+int oh264_WelsCreateSVCEncoder(ISVCEncoder **ppEncoder) {
-+ return openh264_symbols._oh264_WelsCreateSVCEncoder.f(ppEncoder);
-+}
-+
-+void oh264_WelsDestroySVCEncoder(ISVCEncoder *pEncoder) {
-+ return openh264_symbols._oh264_WelsDestroySVCEncoder.f(pEncoder);
-+}
-+
-+int oh264_WelsGetDecoderCapability(SDecoderCapability *pDecCapability) {
-+ return openh264_symbols._oh264_WelsGetDecoderCapability.f(pDecCapability);
-+}
-+
-+long oh264_WelsCreateDecoder(ISVCDecoder **ppDecoder) {
-+ return openh264_symbols._oh264_WelsCreateDecoder.f(ppDecoder);
-+}
-+
-+void oh264_WelsDestroyDecoder(ISVCDecoder *pDecoder) {
-+ return openh264_symbols._oh264_WelsDestroyDecoder.f(pDecoder);
-+}
-+
-+OpenH264Version oh264_WelsGetCodecVersion(void) {
-+ return openh264_symbols._oh264_WelsGetCodecVersion.f();
-+}
-+
-+void oh264_WelsGetCodecVersionEx(OpenH264Version *pVersion) {
-+ openh264_symbols._oh264_WelsGetCodecVersionEx.f(pVersion);
-+}
-+
-+static void *_oh264_bind_symbol(AVCodecContext *avctx,
-+ void *handle,
-+ const char *sym_name) {
-+ void *sym = NULL;
-+
-+ sym = dlsym(handle, sym_name);
-+ if (sym == NULL) {
-+ const char *err = dlerror();
-+ av_log(avctx,
-+ AV_LOG_WARNING,
-+ "%s: Failed to bind %s\n",
-+ err,
-+ sym_name);
-+ return NULL;
-+ }
-+
-+ return sym;
-+}
-+
-+#define oh264_bind_symbol(avctx, handle, sym_name) \
-+ if (openh264_symbols._oh264_##sym_name.obj == NULL) { \
-+ openh264_symbols._oh264_##sym_name.obj = _oh264_bind_symbol(avctx, handle, #sym_name); \
-+ if (openh264_symbols._oh264_##sym_name.obj == NULL) { \
-+ return 1; \
-+ } \
-+ }
-+
-+int loadLibOpenH264(AVCodecContext *avctx) {
-+ static bool initialized = false;
-+ void *libopenh264 = NULL;
-+ const char *err = NULL;
-+
-+ if (initialized) {
-+ return 0;
-+ }
-+
-+#define OPENH264_LIB "libopenh264.so.7"
-+ libopenh264 = dlopen(OPENH264_LIB, RTLD_LAZY);
-+ err = dlerror();
-+ if (err != NULL) {
-+ av_log(avctx, AV_LOG_WARNING,
-+ "%s: %s is missing, openh264 support will be disabled\n", err,
-+ OPENH264_LIB);
-+
-+ if (libopenh264 != NULL) {
-+ dlclose(libopenh264);
-+ }
-+ return 1;
-+ }
-+
-+ oh264_bind_symbol(avctx, libopenh264, WelsCreateSVCEncoder);
-+ oh264_bind_symbol(avctx, libopenh264, WelsDestroySVCEncoder);
-+ oh264_bind_symbol(avctx, libopenh264, WelsGetDecoderCapability);
-+ oh264_bind_symbol(avctx, libopenh264, WelsCreateDecoder);
-+ oh264_bind_symbol(avctx, libopenh264, WelsDestroyDecoder);
-+ oh264_bind_symbol(avctx, libopenh264, WelsGetCodecVersion);
-+ oh264_bind_symbol(avctx, libopenh264, WelsGetCodecVersionEx);
-+
-+ initialized = true;
-+
-+ return 0;
-+}
-diff --git a/libavcodec/libopenh264_dlopen.h b/libavcodec/libopenh264_dlopen.h
-new file mode 100644
-index 0000000000..d7d8bb7cad
---- /dev/null
-+++ b/libavcodec/libopenh264_dlopen.h
-@@ -0,0 +1,58 @@
-+/*
-+ * OpenH264 dlopen code
-+ *
-+ * Copyright (C) 2022 Andreas Schneider <asn@cryptomilk.org>
-+ *
-+ * This file is part of FFmpeg.
-+ *
-+ * FFmpeg is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * FFmpeg is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with FFmpeg; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ */
-+
-+#ifndef HAVE_LIBOPENH264_DLOPEN_H
-+#define HAVE_LIBOPENH264_DLOPEN_H
-+
-+#ifdef CONFIG_LIBOPENH264_DLOPEN
-+
-+#include <wels/codec_api.h>
-+#include <wels/codec_ver.h>
-+
-+#include "avcodec.h"
-+
-+int oh264_WelsCreateSVCEncoder(ISVCEncoder **ppEncoder);
-+#define WelsCreateSVCEncoder oh264_WelsCreateSVCEncoder
-+
-+void oh264_WelsDestroySVCEncoder(ISVCEncoder *pEncoder);
-+#define WelsDestroySVCEncoder oh264_WelsDestroySVCEncoder
-+
-+int oh264_WelsGetDecoderCapability(SDecoderCapability *pDecCapability);
-+#define WelsGetDecoderCapability oh264_WelsGetDecoderCapability
-+
-+long oh264_WelsCreateDecoder(ISVCDecoder **ppDecoder);
-+#define WelsCreateDecoder oh264_WelsCreateDecoder
-+
-+void oh264_WelsDestroyDecoder(ISVCDecoder *pDecoder);
-+#define WelsDestroyDecoder oh264_WelsDestroyDecoder
-+
-+OpenH264Version oh264_WelsGetCodecVersion(void);
-+#define WelsGetCodecVersion oh264_WelsGetCodecVersion
-+
-+void oh264_WelsGetCodecVersionEx(OpenH264Version *pVersion);
-+#define WelsGetCodecVersionEx oh264_WelsGetCodecVersionEx
-+
-+int loadLibOpenH264(AVCodecContext *avctx);
-+
-+#endif /* CONFIG_LIBOPENH264_DLOPEN */
-+
-+#endif /* HAVE_LIBOPENH264_DLOPEN_H */
-diff --git a/libavcodec/libopenh264dec.c b/libavcodec/libopenh264dec.c
-index b6a9bba2dc..e042189161 100644
---- a/libavcodec/libopenh264dec.c
-+++ b/libavcodec/libopenh264dec.c
-@@ -19,8 +19,12 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-+#ifdef CONFIG_LIBOPENH264_DLOPEN
-+#include "libopenh264_dlopen.h"
-+#else
- #include <wels/codec_api.h>
- #include <wels/codec_ver.h>
-+#endif
-
- #include "libavutil/common.h"
- #include "libavutil/fifo.h"
-@@ -55,6 +59,12 @@ static av_cold int svc_decode_init(AVCodecContext *avctx)
- int log_level;
- WelsTraceCallback callback_function;
-
-+#ifdef CONFIG_LIBOPENH264_DLOPEN
-+ if (loadLibOpenH264(avctx)) {
-+ return AVERROR_DECODER_NOT_FOUND;
-+ }
-+#endif
-+
- if (WelsCreateDecoder(&s->decoder)) {
- av_log(avctx, AV_LOG_ERROR, "Unable to create decoder\n");
- return AVERROR_UNKNOWN;
-diff --git a/libavcodec/libopenh264enc.c b/libavcodec/libopenh264enc.c
-index 6f231d22b2..3f0e990d80 100644
---- a/libavcodec/libopenh264enc.c
-+++ b/libavcodec/libopenh264enc.c
-@@ -19,8 +19,12 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-+#ifdef CONFIG_LIBOPENH264_DLOPEN
-+#include "libopenh264_dlopen.h"
-+#else
- #include <wels/codec_api.h>
- #include <wels/codec_ver.h>
-+#endif
-
- #include "libavutil/attributes.h"
- #include "libavutil/common.h"
-@@ -114,6 +118,12 @@ static av_cold int svc_encode_init(AVCodecContext *avctx)
- WelsTraceCallback callback_function;
- AVCPBProperties *props;
-
-+#ifdef CONFIG_LIBOPENH264_DLOPEN
-+ if (loadLibOpenH264(avctx)) {
-+ return AVERROR_ENCODER_NOT_FOUND;
-+ }
-+#endif
-+
- if (WelsCreateSVCEncoder(&s->encoder)) {
- av_log(avctx, AV_LOG_ERROR, "Unable to create encoder\n");
- return AVERROR_UNKNOWN;
---
-2.43.0
-
diff --git a/ffmpeg-gcc14.patch b/ffmpeg-gcc14.patch
deleted file mode 100644
index 99dd6af..0000000
--- a/ffmpeg-gcc14.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From 68ef9a29478fad450ec29ec14120afad3938e75b Mon Sep 17 00:00:00 2001
-From: Sandro Mani <manisandro@gmail.com>
-Date: Tue, 30 Jan 2024 09:16:13 +0100
-Subject: [PATCH] Fix -Wint-conversion and -Wincompatible-pointer-types errors
-
----
- libavcodec/pcm-bluray.c | 4 ++--
- libavcodec/pcm-dvd.c | 2 +-
- libavcodec/vulkan_av1.c | 2 +-
- libavcodec/vulkan_decode.c | 6 +++---
- libavcodec/vulkan_video.c | 2 +-
- libavfilter/vsrc_testsrc_vulkan.c | 4 ++--
- libavutil/hwcontext_vaapi.c | 2 +-
- 7 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/libavcodec/pcm-bluray.c b/libavcodec/pcm-bluray.c
-index f656095..56fa373 100644
---- a/libavcodec/pcm-bluray.c
-+++ b/libavcodec/pcm-bluray.c
-@@ -167,7 +167,7 @@ static int pcm_bluray_decode_frame(AVCodecContext *avctx, AVFrame *frame,
- samples *= num_source_channels;
- if (AV_SAMPLE_FMT_S16 == avctx->sample_fmt) {
- #if HAVE_BIGENDIAN
-- bytestream2_get_buffer(&gb, dst16, buf_size);
-+ bytestream2_get_buffer(&gb, (uint8_t*)dst16, buf_size);
- #else
- do {
- *dst16++ = bytestream2_get_be16u(&gb);
-@@ -187,7 +187,7 @@ static int pcm_bluray_decode_frame(AVCodecContext *avctx, AVFrame *frame,
- if (AV_SAMPLE_FMT_S16 == avctx->sample_fmt) {
- do {
- #if HAVE_BIGENDIAN
-- bytestream2_get_buffer(&gb, dst16, avctx->ch_layout.nb_channels * 2);
-+ bytestream2_get_buffer(&gb, (uint8_t*)dst16, avctx->ch_layout.nb_channels * 2);
- dst16 += avctx->ch_layout.nb_channels;
- #else
- channel = avctx->ch_layout.nb_channels;
-diff --git a/libavcodec/pcm-dvd.c b/libavcodec/pcm-dvd.c
-index 419b2a1..319746c 100644
---- a/libavcodec/pcm-dvd.c
-+++ b/libavcodec/pcm-dvd.c
-@@ -157,7 +157,7 @@ static void *pcm_dvd_decode_samples(AVCodecContext *avctx, const uint8_t *src,
- switch (avctx->bits_per_coded_sample) {
- case 16: {
- #if HAVE_BIGENDIAN
-- bytestream2_get_buffer(&gb, dst16, blocks * s->block_size);
-+ bytestream2_get_buffer(&gb, (uint8_t*)dst16, blocks * s->block_size);
- dst16 += blocks * s->block_size / 2;
- #else
- int samples = blocks * avctx->ch_layout.nb_channels;
-diff --git a/libavcodec/vulkan_av1.c b/libavcodec/vulkan_av1.c
-index 4998bf7..9730e4b 100644
---- a/libavcodec/vulkan_av1.c
-+++ b/libavcodec/vulkan_av1.c
-@@ -180,7 +180,7 @@ static int vk_av1_create_params(AVCodecContext *avctx, AVBufferRef **buf)
- .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
- .pNext = &av1_params,
- .videoSession = ctx->common.session,
-- .videoSessionParametersTemplate = NULL,
-+ .videoSessionParametersTemplate = VK_NULL_HANDLE,
- };
-
- err = ff_vk_decode_create_params(buf, avctx, ctx, &session_params_create);
-diff --git a/libavcodec/vulkan_decode.c b/libavcodec/vulkan_decode.c
-index a89d84f..fdbcbb4 100644
---- a/libavcodec/vulkan_decode.c
-+++ b/libavcodec/vulkan_decode.c
-@@ -188,9 +188,9 @@ int ff_vk_decode_prepare_frame(FFVulkanDecodeContext *dec, AVFrame *pic,
- return 0;
-
- vkpic->dpb_frame = NULL;
-- vkpic->img_view_ref = NULL;
-- vkpic->img_view_out = NULL;
-- vkpic->img_view_dest = NULL;
-+ vkpic->img_view_ref = VK_NULL_HANDLE;
-+ vkpic->img_view_out = VK_NULL_HANDLE;
-+ vkpic->img_view_dest = VK_NULL_HANDLE;
-
- vkpic->destroy_image_view = vk->DestroyImageView;
- vkpic->wait_semaphores = vk->WaitSemaphores;
-diff --git a/libavcodec/vulkan_video.c b/libavcodec/vulkan_video.c
-index 236aa12..c5144bd 100644
---- a/libavcodec/vulkan_video.c
-+++ b/libavcodec/vulkan_video.c
-@@ -287,7 +287,7 @@ av_cold void ff_vk_video_common_uninit(FFVulkanContext *s,
- if (common->session) {
- vk->DestroyVideoSessionKHR(s->hwctx->act_dev, common->session,
- s->hwctx->alloc);
-- common->session = NULL;
-+ common->session = VK_NULL_HANDLE;
- }
-
- if (common->nb_mem && common->mem)
-diff --git a/libavfilter/vsrc_testsrc_vulkan.c b/libavfilter/vsrc_testsrc_vulkan.c
-index 8761c21..1720bfa 100644
---- a/libavfilter/vsrc_testsrc_vulkan.c
-+++ b/libavfilter/vsrc_testsrc_vulkan.c
-@@ -231,7 +231,7 @@ static int testsrc_vulkan_activate(AVFilterContext *ctx)
- return AVERROR(ENOMEM);
-
- err = ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->pl, s->picref, NULL,
-- NULL, &s->opts, sizeof(s->opts));
-+ VK_NULL_HANDLE, &s->opts, sizeof(s->opts));
- if (err < 0)
- return err;
- }
-@@ -250,7 +250,7 @@ static int testsrc_vulkan_activate(AVFilterContext *ctx)
- frame->sample_aspect_ratio = s->sar;
- if (!s->draw_once) {
- err = ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->pl, frame, NULL,
-- NULL, &s->opts, sizeof(s->opts));
-+ VK_NULL_HANDLE, &s->opts, sizeof(s->opts));
- if (err < 0) {
- av_frame_free(&frame);
- return err;
-diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
-index 12bc951..d326ad6 100644
---- a/libavutil/hwcontext_vaapi.c
-+++ b/libavutil/hwcontext_vaapi.c
-@@ -1203,7 +1203,7 @@ static int vaapi_map_from_drm(AVHWFramesContext *src_fc, AVFrame *dst,
-
- if (!use_prime2 || vas != VA_STATUS_SUCCESS) {
- int k;
-- unsigned long buffer_handle;
-+ size_t buffer_handle;
- VASurfaceAttribExternalBuffers buffer_desc;
- VASurfaceAttrib buffer_attrs[2] = {
- {
---
-2.43.0
-
diff --git a/ffmpeg.spec b/ffmpeg.spec
index d4f39d2..cc08ae6 100644
--- a/ffmpeg.spec
+++ b/ffmpeg.spec
@@ -1,9 +1,9 @@
# For a complete build enable these two
-%bcond_with upstream_tarball
-%bcond_with all_codecs
+%bcond upstream_tarball 0
+%bcond all_codecs 0
# Break dependency cycles by disabling certain optional dependencies.
-%bcond_with bootstrap
+%bcond bootstrap 0
# If you want to do a build with the upstream source tarball, then set the
# pkg_suffix to %%nil. We can't handle this with a conditional, as srpm
@@ -12,100 +12,90 @@
# Fails due to asm issue
%ifarch %{ix86} %{arm}
-%bcond_with lto
+%bcond lto 0
%else
-%bcond_without lto
+%bcond lto 1
%endif
%ifarch x86_64
-%bcond_without vpl
-%bcond_without vmaf
+%bcond vpl 1
+%bcond vmaf 1
%else
-%bcond_with vpl
-%bcond_with vmaf
+%bcond vpl 0
+%bcond vmaf 0
%endif
%ifarch s390 s390x
-%bcond_with dc1394
+%bcond dc1394 0
%else
-%bcond_without dc1394
+%bcond dc1394 1
%endif
%if 0%{?rhel}
# Disable dependencies not offered in RHEL/EPEL
-%bcond_with omxil
+%bcond omxil 0
%else
-# Use bundled openh264 headers on older Fedora/RHEL where the noopenh264 stub
-# package is not available
-%if 0%{?fedora} && 0%{?fedora} <= 39 || 0%{?rhel} && 0%{?rhel} <= 9
-%bcond_without bundled_openh264_headers
-%else
-%bcond_with bundled_openh264_headers
-%endif
-
# Disable some features because RHEL 9 packages are too old
%if 0%{?rhel} && 0%{?rhel} <= 9
-%bcond_with flite
-%bcond_with lcms2
-%bcond_with placebo
+%bcond flite 0
+%bcond lcms2 0
+%bcond placebo 0
%else
-%bcond_without flite
-%bcond_without lcms2
-%bcond_without placebo
+%bcond flite 1
+%bcond lcms2 1
+%bcond placebo 1
%endif
-%bcond_without omxil
+%bcond omxil 1
%endif
# Break chromaprint dependency cycle (Fedora-only):
# ffmpeg (libavcodec-free) → chromaprint → ffmpeg
%if %{with bootstrap}
-%bcond_with chromaprint
+%bcond chromaprint 0
%else
-%bcond_without chromaprint
+%bcond chromaprint 1
%endif
%if %{with all_codecs}
-%bcond_without rtmp
-%bcond_without x264
-%bcond_without x265
+%bcond evc 1
+%bcond rtmp 1
+%bcond vvc 1
+%bcond x264 1
+%bcond x265 1
%else
-%bcond_with rtmp
-%bcond_with x264
-%bcond_with x265
+%bcond evc 0
+%bcond rtmp 0
+%bcond vvc 0
+%bcond x264 0
+%bcond x265 0
%endif
%if %{without lto}
%global _lto_cflags %{nil}
%endif
-%if "%{__isa_bits}" == "64"
-%global lib64_suffix ()(64bit)
-%endif
-%global openh264_soversion 7
-
-%global av_codec_soversion 60
-%global av_device_soversion 60
-%global av_filter_soversion 9
-%global av_format_soversion 60
-%global av_util_soversion 58
-%global postproc_soversion 57
-%global swresample_soversion 4
-%global swscale_soversion 7
+%global av_codec_soversion 61
+%global av_device_soversion 61
+%global av_filter_soversion 10
+%global av_format_soversion 61
+%global av_util_soversion 59
+%global postproc_soversion 58
+%global swresample_soversion 5
+%global swscale_soversion 8
Name: ffmpeg
%global pkg_name %{name}%{?pkg_suffix}
-Version: 6.1.2
+Version: 7.0.2
Release: 1%{?dist}
Summary: A complete solution to record, convert and stream audio and video
License: GPL-3.0-or-later
URL: https://ffmpeg.org/
Source0: ffmpeg%{?pkg_suffix}-%{version}.tar.xz
-Source1: ffmpeg-dlopen-headers.tar.xz
Source2: https://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz.asc
# https://ffmpeg.org/ffmpeg-devel.asc
# gpg2 --import --import-options import-export,import-minimal ffmpeg-devel.asc > ./ffmpeg.keyring
@@ -116,29 +106,16 @@ Source21: enable_encoders
# Scripts for generating tarballs
Source90: ffmpeg_update_free_sources.sh
Source91: ffmpeg_gen_free_tarball.sh
-Source92: ffmpeg_get_dlopen_headers.sh
-Source93: ffmpeg_find_free_source_headers.sh
# Fixes for reduced codec selection on free build
Patch1: ffmpeg-codec-choice.patch
# Allow to build with fdk-aac-free
# See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112
Patch2: ffmpeg-allow-fdk-aac-free.patch
-# Drop openh264 runtime version checks
-# https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=10211
-Patch4: 0001-lavc-libopenh264-Drop-openh264-runtime-version-check.patch
-Patch5: ffmpeg-c99.patch
-# Fix build with gcc14 (-Wint-conversion, -Wincompatible-pointer-types)
-Patch6: ffmpeg-gcc14.patch
-# Backport fix for CVE-2023-49528
-Patch8: https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/2d9ed64859c9887d0504cd71dbd5b2c15e14251a#/ffmpeg-CVE-2023-49528.patch
# Fixes for Mesa 24.0.6+ / 24.1.4+ VA-API
Patch9: 0001-lavc-vaapi_decode-Make-it-possible-to-send-multiple-.patch
Patch10: 0002-lavc-vaapi_av1-Avoid-sending-the-same-slice-buffer-m.patch
-# Set up dlopen for openh264
-Patch1001: ffmpeg-dlopen-openh264.patch
-
# Add first_dts getter to libavformat for Chromium
# See: https://bugzilla.redhat.com/show_bug.cgi?id=2240127
# Reference: https://crbug.com/1306560
@@ -180,6 +157,8 @@ BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(caca)
BuildRequires: pkgconfig(codec2)
BuildRequires: pkgconfig(dav1d)
+BuildRequires: pkgconfig(dvdnav)
+BuildRequires: pkgconfig(dvdread)
BuildRequires: pkgconfig(ffnvcodec)
BuildRequires: pkgconfig(flac)
BuildRequires: pkgconfig(fontconfig)
@@ -214,6 +193,7 @@ BuildRequires: pkgconfig(libopenmpt)
BuildRequires: pkgconfig(libplacebo) >= 4.192.0
%endif
BuildRequires: pkgconfig(libpulse)
+BuildRequires: pkgconfig(libqrencode)
BuildRequires: pkgconfig(librabbitmq)
BuildRequires: pkgconfig(librist)
BuildRequires: pkgconfig(librsvg-2.0)
@@ -232,9 +212,7 @@ BuildRequires: pkgconfig(ogg)
BuildRequires: pkgconfig(openal)
BuildRequires: pkgconfig(opencore-amrnb)
BuildRequires: pkgconfig(OpenCL)
-%if %{without bundled_openh264_headers}
BuildRequires: pkgconfig(openh264)
-%endif
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(rav1e)
BuildRequires: pkgconfig(rubberband)
@@ -280,6 +258,10 @@ BuildRequires: librtmp-devel
%if %{with vpl}
BuildRequires: pkgconfig(vpl) >= 2.6
%endif
+%if %{with evc}
+BuildRequires: pkgconfig(libxevd)
+BuildRequires: pkgconfig(libxeve)
+%endif
%if %{with x264}
BuildRequires: pkgconfig(x264)
%endif
@@ -352,10 +334,8 @@ community or a corporation.
Summary: FFmpeg codec library
Requires: libavutil%{?pkg_suffix}%{_isa} = %{version}-%{release}
Requires: libswresample%{?pkg_suffix}%{_isa} = %{version}-%{release}
-# We dlopen() openh264, so weak-depend on it...
-## Note, we can do this because openh264 is provided in a default-enabled
-## third party repository provided by Cisco.
-Recommends: libopenh264.so.%{openh264_soversion}%{?lib64_suffix}
+# We require libopenh264 library, which has a dummy implementation and a real one
+# In the event that this is being installed, we want to prefer openh264 if available
Suggests: openh264%{_isa}
%description -n libavcodec%{?pkg_suffix}
@@ -566,7 +546,7 @@ This subpackage contains the headers for FFmpeg libswscale.
%{gpgverify} --keyring='%{SOURCE3}' --signature='%{SOURCE2}' --data='%{SOURCE0}'
%endif
-%autosetup %{?with_bundled_openh264_headers:-a1} -S git_am
+%autosetup -S git_am
install -m 0644 %{SOURCE20} enable_decoders
install -m 0644 %{SOURCE21} enable_encoders
# fix -O3 -g in host_cflags
@@ -625,7 +605,8 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
%if %{with dc1394}
--enable-libdc1394 \
%endif
- --enable-libdrm \
+ --enable-libdvdnav \
+ --enable-libdvdread \
--enable-libfdk-aac \
%if %{with flite}
--enable-libflite \
@@ -645,7 +626,6 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-libmodplug \
--enable-libmp3lame \
--enable-libmysofa \
- --enable-libopenh264-dlopen \
--enable-libopenjpeg \
--enable-libopenmpt \
--enable-libopus \
@@ -653,6 +633,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-libplacebo \
%endif
--enable-libpulse \
+ --enable-libqrencode \
--enable-librabbitmq \
--enable-librav1e \
--enable-librist \
@@ -691,6 +672,10 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libvo-amrwbenc \
+%if %{with evc}
+ --enable-libxeve \
+ --enable-libxevd \
+%endif
%if %{with x264}
--enable-libx264 \
%endif
@@ -712,7 +697,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-hwaccels \
--disable-encoders \
--disable-decoders \
- --disable-decoder="h264,hevc,vc1" \
+ --disable-decoder="h264,hevc,libxevd,vc1,vvc" \
--enable-encoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <enable_encoders)" \
--enable-decoder="$(perl -pe 's{^(\w*).*}{$1,}gs' <enable_decoders)" \
%endif
@@ -753,7 +738,7 @@ cat config_components.h
# Paranoia check
%if %{without all_codecs}
# DECODER
-for i in H264 HEVC HEVC_RKMPP VC1; do
+for i in H264 HEVC HEVC_RKMPP VC1 VVC; do
grep -q "#define CONFIG_${i}_DECODER 0" config_components.h
done
@@ -881,6 +866,11 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples
%{_mandir}/man3/libswscale.3*
%changelog
+* Fri Sep 06 2024 Neal Gompa <ngompa@fedoraproject.org> - 7.0.2-1
+- Rebase to 7.0.2 (rhbz#2273572)
+- Drop OpenH264 dlopen headers as we use noopenh264 now
+- Use modern bconds
+
* Sat Aug 24 2024 Fabio Valentini <decathorpe@gmail.com> - 6.1.2-1
- Update to 6.1.2
diff --git a/ffmpeg_free_sources b/ffmpeg_free_sources
index ee8be40..34eb548 100644
--- a/ffmpeg_free_sources
+++ b/ffmpeg_free_sources
@@ -86,6 +86,7 @@ doc/general.texi
doc/general_contents.texi
doc/git-howto.texi
doc/indevs.texi
+doc/infra.txt
doc/issue_tracker.txt
doc/lexicon
doc/libav-merge.txt
@@ -145,7 +146,12 @@ fftools/ffmpeg_mux.c
fftools/ffmpeg_mux.h
fftools/ffmpeg_mux_init.c
fftools/ffmpeg_opt.c
+fftools/ffmpeg_sched.c
+fftools/ffmpeg_sched.h
+fftools/ffmpeg_utils.h
fftools/ffplay.c
+fftools/ffplay_renderer.c
+fftools/ffplay_renderer.h
fftools/ffprobe.c
fftools/fopen_utf8.h
fftools/objpool.c
@@ -167,13 +173,13 @@ libavcodec/a64tables.h
libavcodec/aac.h
libavcodec/aac_ac3_parser.c
libavcodec/aac_ac3_parser.h
-libavcodec/aac_adtstoasc_bsf.c
libavcodec/aac_defines.h
libavcodec/aac_parser.c
libavcodec/aaccoder.c
libavcodec/aaccoder_trellis.h
libavcodec/aaccoder_twoloop.h
libavcodec/aacdec.c
+libavcodec/aacdec.h
libavcodec/aacdec_template.c
libavcodec/aacdectab.h
libavcodec/aacenc.c
@@ -189,6 +195,7 @@ libavcodec/aacenc_quantization_misc.h
libavcodec/aacenc_tns.c
libavcodec/aacenc_tns.h
libavcodec/aacenc_utils.h
+libavcodec/aacencdsp.h
libavcodec/aacenctab.c
libavcodec/aacenctab.h
libavcodec/aacps.c
@@ -330,6 +337,9 @@ libavcodec/amrwbdata.h
libavcodec/amrwbdec.c
libavcodec/anm.c
libavcodec/ansi.c
+libavcodec/aom_film_grain.c
+libavcodec/aom_film_grain.h
+libavcodec/aom_film_grain_template.c
libavcodec/apac.c
libavcodec/apedec.c
libavcodec/apng.h
@@ -487,11 +497,8 @@ libavcodec/audiodsp.c
libavcodec/audiodsp.h
libavcodec/aura.c
libavcodec/av1.h
-libavcodec/av1_frame_merge_bsf.c
-libavcodec/av1_frame_split_bsf.c
libavcodec/av1_levels.c
libavcodec/av1_levels.h
-libavcodec/av1_metadata_bsf.c
libavcodec/av1_parse.c
libavcodec/av1_parse.h
libavcodec/av1_parser.c
@@ -539,6 +546,50 @@ libavcodec/bonk.c
libavcodec/brenderpix.c
libavcodec/bsf.c
libavcodec/bsf.h
+libavcodec/bsf/Makefile
+libavcodec/bsf/aac_adtstoasc.c
+libavcodec/bsf/av1_frame_merge.c
+libavcodec/bsf/av1_frame_split.c
+libavcodec/bsf/av1_metadata.c
+libavcodec/bsf/chomp.c
+libavcodec/bsf/dca_core.c
+libavcodec/bsf/dts2pts.c
+libavcodec/bsf/dump_extradata.c
+libavcodec/bsf/dv_error_marker.c
+libavcodec/bsf/eac3_core.c
+libavcodec/bsf/evc_frame_merge.c
+libavcodec/bsf/extract_extradata.c
+libavcodec/bsf/filter_units.c
+libavcodec/bsf/h264_metadata.c
+libavcodec/bsf/h264_mp4toannexb.c
+libavcodec/bsf/h264_redundant_pps.c
+libavcodec/bsf/h265_metadata.c
+libavcodec/bsf/h266_metadata.c
+libavcodec/bsf/hapqa_extract.c
+libavcodec/bsf/hevc_mp4toannexb.c
+libavcodec/bsf/imx_dump_header.c
+libavcodec/bsf/media100_to_mjpegb.c
+libavcodec/bsf/mjpeg2jpeg.c
+libavcodec/bsf/mjpega_dump_header.c
+libavcodec/bsf/movsub.c
+libavcodec/bsf/mpeg2_metadata.c
+libavcodec/bsf/mpeg4_unpack_bframes.c
+libavcodec/bsf/noise.c
+libavcodec/bsf/null.c
+libavcodec/bsf/opus_metadata.c
+libavcodec/bsf/pcm_rechunk.c
+libavcodec/bsf/pgs_frame_merge.c
+libavcodec/bsf/prores_metadata.c
+libavcodec/bsf/remove_extradata.c
+libavcodec/bsf/setts.c
+libavcodec/bsf/showinfo.c
+libavcodec/bsf/trace_headers.c
+libavcodec/bsf/truehd_core.c
+libavcodec/bsf/vp9_metadata.c
+libavcodec/bsf/vp9_raw_reorder.c
+libavcodec/bsf/vp9_superframe.c
+libavcodec/bsf/vp9_superframe_split.c
+libavcodec/bsf/vvc_mp4toannexb.c
libavcodec/bsf_internal.h
libavcodec/bswapdsp.c
libavcodec/bswapdsp.h
@@ -578,6 +629,9 @@ libavcodec/cbs_mpeg2_syntax_template.c
libavcodec/cbs_sei.c
libavcodec/cbs_sei.h
libavcodec/cbs_sei_syntax_template.c
+libavcodec/cbs_vp8.c
+libavcodec/cbs_vp8.h
+libavcodec/cbs_vp8_syntax_template.c
libavcodec/cbs_vp9.c
libavcodec/cbs_vp9.h
libavcodec/cbs_vp9_syntax_template.c
@@ -591,7 +645,6 @@ libavcodec/celp_math.c
libavcodec/celp_math.h
libavcodec/cga_data.c
libavcodec/cga_data.h
-libavcodec/chomp_bsf.c
libavcodec/cinepak.c
libavcodec/cinepakenc.c
libavcodec/clearvideo.c
@@ -612,16 +665,20 @@ libavcodec/cookdata.h
libavcodec/copy_block.h
libavcodec/cpia.c
libavcodec/cri_parser.c
-libavcodec/crystalhd.c
libavcodec/cscd.c
libavcodec/cyuv.c
libavcodec/d3d11va.c
libavcodec/d3d11va.h
+libavcodec/d3d12va_av1.c
+libavcodec/d3d12va_decode.c
+libavcodec/d3d12va_decode.h
+libavcodec/d3d12va_mpeg2.c
+libavcodec/d3d12va_vc1.c
+libavcodec/d3d12va_vp9.c
libavcodec/dca.c
libavcodec/dca.h
libavcodec/dca_core.c
libavcodec/dca_core.h
-libavcodec/dca_core_bsf.c
libavcodec/dca_exss.c
libavcodec/dca_exss.h
libavcodec/dca_lbr.c
@@ -684,6 +741,7 @@ libavcodec/dolby_e.c
libavcodec/dolby_e.h
libavcodec/dolby_e_parse.c
libavcodec/dolby_e_parser.c
+libavcodec/dovi_rpu.c
libavcodec/dovi_rpu.h
libavcodec/dpcm.c
libavcodec/dpx.c
@@ -695,11 +753,8 @@ libavcodec/dsddec.c
libavcodec/dsicinaudio.c
libavcodec/dsicinvideo.c
libavcodec/dss_sp.c
-libavcodec/dts2pts_bsf.c
-libavcodec/dump_extradata_bsf.c
libavcodec/dv.c
libavcodec/dv.h
-libavcodec/dv_error_marker_bsf.c
libavcodec/dv_internal.h
libavcodec/dv_profile.c
libavcodec/dv_profile.h
@@ -727,7 +782,6 @@ libavcodec/dxtory.c
libavcodec/dxva2.h
libavcodec/dynamic_hdr_vivid.c
libavcodec/dynamic_hdr_vivid.h
-libavcodec/eac3_core_bsf.c
libavcodec/eac3_data.h
libavcodec/eac3dec.c
libavcodec/eac3enc.h
@@ -747,7 +801,6 @@ libavcodec/error_resilience.h
libavcodec/escape124.c
libavcodec/escape130.c
libavcodec/evc.h
-libavcodec/evc_frame_merge_bsf.c
libavcodec/evc_parse.c
libavcodec/evc_parse.h
libavcodec/evc_parser.c
@@ -761,7 +814,6 @@ libavcodec/exr.c
libavcodec/exrdsp.c
libavcodec/exrdsp.h
libavcodec/exrenc.c
-libavcodec/extract_extradata_bsf.c
libavcodec/faandct.c
libavcodec/faandct.h
libavcodec/faanidct.c
@@ -780,7 +832,6 @@ libavcodec/ffv1dec_template.c
libavcodec/ffv1enc.c
libavcodec/ffv1enc_template.c
libavcodec/ffwavesynth.c
-libavcodec/filter_units_bsf.c
libavcodec/fits.c
libavcodec/fits.h
libavcodec/fitsdec.c
@@ -876,14 +927,11 @@ libavcodec/h2645data.c
libavcodec/h2645data.h
libavcodec/h264_levels.c
libavcodec/h264_levels.h
-libavcodec/h264_metadata_bsf.c
-libavcodec/h264_mp4toannexb_bsf.c
libavcodec/h264_parse.c
libavcodec/h264_parse.h
libavcodec/h264_parser.c
libavcodec/h264_ps.c
libavcodec/h264_ps.h
-libavcodec/h264_redundant_pps_bsf.c
libavcodec/h264_sei.c
libavcodec/h264_sei.h
libavcodec/h264addpx_template.c
@@ -905,17 +953,17 @@ libavcodec/h264pred_template.c
libavcodec/h264qpel.c
libavcodec/h264qpel.h
libavcodec/h264qpel_template.c
-libavcodec/h265_metadata_bsf.c
libavcodec/h265_profile_level.c
libavcodec/h265_profile_level.h
-libavcodec/h266_metadata_bsf.c
+libavcodec/h26x/h2656_deblock_template.c
+libavcodec/h26x/h2656_inter_template.c
+libavcodec/h26x/h2656_sao_template.c
libavcodec/h274.h
libavcodec/half2float.c
libavcodec/hap.c
libavcodec/hap.h
libavcodec/hapdec.c
libavcodec/hapenc.c
-libavcodec/hapqa_extract_bsf.c
libavcodec/hca_data.h
libavcodec/hcadec.c
libavcodec/hcom.c
@@ -925,7 +973,6 @@ libavcodec/hdrenc.c
libavcodec/hevc.h
libavcodec/hevc_data.c
libavcodec/hevc_data.h
-libavcodec/hevc_mp4toannexb_bsf.c
libavcodec/hevc_parse.c
libavcodec/hevc_parse.h
libavcodec/hevc_parser.c
@@ -942,8 +989,7 @@ libavcodec/hpel_template.c
libavcodec/hpeldsp.c
libavcodec/hpeldsp.h
libavcodec/hq_hqa.c
-libavcodec/hq_hqa.h
-libavcodec/hq_hqadata.c
+libavcodec/hq_hqadata.h
libavcodec/hq_hqadsp.c
libavcodec/hq_hqadsp.h
libavcodec/hqx.c
@@ -978,7 +1024,6 @@ libavcodec/imc.c
libavcodec/imcdata.h
libavcodec/imgconvert.c
libavcodec/imx.c
-libavcodec/imx_dump_header_bsf.c
libavcodec/indeo2.c
libavcodec/indeo2data.h
libavcodec/indeo3.c
@@ -999,6 +1044,7 @@ libavcodec/intrax8huf.h
libavcodec/ipu_parser.c
libavcodec/ituh263dec.c
libavcodec/ituh263enc.c
+libavcodec/itut35.h
libavcodec/ivi.c
libavcodec/ivi.h
libavcodec/ivi_dsp.c
@@ -1049,6 +1095,7 @@ libavcodec/latm_parser.c
libavcodec/lcl.h
libavcodec/lcldec.c
libavcodec/lclenc.c
+libavcodec/leb.h
libavcodec/libaom.c
libavcodec/libaom.h
libavcodec/libaomdec.c
@@ -1093,6 +1140,8 @@ libavcodec/libwebpenc.c
libavcodec/libwebpenc_animencoder.c
libavcodec/libwebpenc_common.c
libavcodec/libwebpenc_common.h
+libavcodec/libxevd.c
+libavcodec/libxeve.c
libavcodec/libxvid.c
libavcodec/libzvbi-teletextdec.c
libavcodec/loco.c
@@ -1106,6 +1155,7 @@ libavcodec/lossless_videoencdsp.c
libavcodec/lossless_videoencdsp.h
libavcodec/lpc.c
libavcodec/lpc.h
+libavcodec/lpc_functions.h
libavcodec/lscrdec.c
libavcodec/lsp.c
libavcodec/lsp.h
@@ -1119,7 +1169,6 @@ libavcodec/mathtables.c
libavcodec/mdec.c
libavcodec/me_cmp.c
libavcodec/me_cmp.h
-libavcodec/media100_to_mjpegb_bsf.c
libavcodec/mediacodec.c
libavcodec/mediacodec.h
libavcodec/metasound.c
@@ -1134,9 +1183,7 @@ libavcodec/mips/lsp_mips.h
libavcodec/misc4.c
libavcodec/misc4_parser.c
libavcodec/mjpeg.h
-libavcodec/mjpeg2jpeg_bsf.c
libavcodec/mjpeg_parser.c
-libavcodec/mjpega_dump_header_bsf.c
libavcodec/mjpegbdec.c
libavcodec/mjpegdec.c
libavcodec/mjpegdec.h
@@ -1162,8 +1209,6 @@ libavcodec/motion_est.h
libavcodec/motion_est_template.c
libavcodec/motionpixels.c
libavcodec/motionpixels_tablegen.h
-libavcodec/movsub_bsf.c
-libavcodec/mp3_header_decompress_bsf.c
libavcodec/mpc.c
libavcodec/mpc.h
libavcodec/mpc7.c
@@ -1183,8 +1228,6 @@ libavcodec/mpeg12enc.c
libavcodec/mpeg12enc.h
libavcodec/mpeg12framerate.c
libavcodec/mpeg12vlc.h
-libavcodec/mpeg2_metadata_bsf.c
-libavcodec/mpeg4_unpack_bframes_bsf.c
libavcodec/mpeg4audio.c
libavcodec/mpeg4audio.h
libavcodec/mpeg4audio_copy_pce.h
@@ -1288,9 +1331,7 @@ libavcodec/nellymoserdec.c
libavcodec/nellymoserenc.c
libavcodec/neon/Makefile
libavcodec/neon/mpegvideo.c
-libavcodec/noise_bsf.c
libavcodec/null.c
-libavcodec/null_bsf.c
libavcodec/nuv.c
libavcodec/nvdec.c
libavcodec/nvdec.h
@@ -1313,7 +1354,6 @@ libavcodec/options_table.h
libavcodec/opus.h
libavcodec/opus_celt.c
libavcodec/opus_celt.h
-libavcodec/opus_metadata_bsf.c
libavcodec/opus_parse.c
libavcodec/opus_parse.h
libavcodec/opus_parser.c
@@ -1346,12 +1386,10 @@ libavcodec/parsers.c
libavcodec/pcm-bluray.c
libavcodec/pcm-dvd.c
libavcodec/pcm.c
-libavcodec/pcm_rechunk_bsf.c
libavcodec/pcm_tablegen.h
libavcodec/pcx.c
libavcodec/pcxenc.c
libavcodec/pel_template.c
-libavcodec/pgs_frame_merge_bsf.c
libavcodec/pgssubdec.c
libavcodec/pgxdec.c
libavcodec/photocd.c
@@ -1403,7 +1441,6 @@ libavcodec/ppc/vp3dsp_altivec.c
libavcodec/ppc/vp8dsp_altivec.c
libavcodec/profiles.c
libavcodec/profiles.h
-libavcodec/prores_metadata_bsf.c
libavcodec/prosumer.c
libavcodec/psd.c
libavcodec/psymodel.c
@@ -1422,6 +1459,7 @@ libavcodec/qdm2_tablegen.h
libavcodec/qdm2data.h
libavcodec/qdmc.c
libavcodec/qdrw.c
+libavcodec/qoadec.c
libavcodec/qoi.h
libavcodec/qoi_parser.c
libavcodec/qoidec.c
@@ -1466,38 +1504,70 @@ libavcodec/realtextdec.c
libavcodec/rectangle.h
libavcodec/refstruct.c
libavcodec/refstruct.h
-libavcodec/remove_extradata_bsf.c
libavcodec/reverse.c
libavcodec/riscv/Makefile
+libavcodec/riscv/aacencdsp_init.c
+libavcodec/riscv/aacencdsp_rvv.S
libavcodec/riscv/aacpsdsp_init.c
libavcodec/riscv/aacpsdsp_rvv.S
libavcodec/riscv/ac3dsp_init.c
libavcodec/riscv/ac3dsp_rvb.S
+libavcodec/riscv/ac3dsp_rvv.S
libavcodec/riscv/alacdsp_init.c
libavcodec/riscv/alacdsp_rvv.S
libavcodec/riscv/audiodsp_init.c
libavcodec/riscv/audiodsp_rvf.S
libavcodec/riscv/audiodsp_rvv.S
+libavcodec/riscv/blockdsp_init.c
+libavcodec/riscv/blockdsp_rvv.S
libavcodec/riscv/bswapdsp_init.c
libavcodec/riscv/bswapdsp_rvb.S
libavcodec/riscv/bswapdsp_rvv.S
libavcodec/riscv/exrdsp_init.c
libavcodec/riscv/exrdsp_rvv.S
+libavcodec/riscv/flacdsp_init.c
+libavcodec/riscv/flacdsp_rvv.S
libavcodec/riscv/fmtconvert_init.c
libavcodec/riscv/fmtconvert_rvv.S
libavcodec/riscv/g722dsp_init.c
libavcodec/riscv/g722dsp_rvv.S
libavcodec/riscv/h264_chroma_init_riscv.c
libavcodec/riscv/h264_mc_chroma.S
+libavcodec/riscv/huffyuvdsp_init.c
+libavcodec/riscv/huffyuvdsp_rvv.S
libavcodec/riscv/idctdsp_init.c
libavcodec/riscv/idctdsp_rvv.S
+libavcodec/riscv/jpeg2000dsp_init.c
+libavcodec/riscv/jpeg2000dsp_rvv.S
+libavcodec/riscv/llauddsp_init.c
+libavcodec/riscv/llauddsp_rvv.S
+libavcodec/riscv/llviddsp_init.c
+libavcodec/riscv/llviddsp_rvv.S
+libavcodec/riscv/llvidencdsp_init.c
+libavcodec/riscv/llvidencdsp_rvv.S
+libavcodec/riscv/lpc_init.c
+libavcodec/riscv/lpc_rvv.S
+libavcodec/riscv/me_cmp_init.c
+libavcodec/riscv/me_cmp_rvv.S
libavcodec/riscv/opusdsp_init.c
libavcodec/riscv/opusdsp_rvv.S
libavcodec/riscv/pixblockdsp_init.c
libavcodec/riscv/pixblockdsp_rvi.S
libavcodec/riscv/pixblockdsp_rvv.S
+libavcodec/riscv/sbrdsp_init.c
+libavcodec/riscv/sbrdsp_rvv.S
+libavcodec/riscv/svqenc_init.c
+libavcodec/riscv/svqenc_rvv.S
+libavcodec/riscv/takdsp_init.c
+libavcodec/riscv/takdsp_rvv.S
+libavcodec/riscv/utvideodsp_init.c
+libavcodec/riscv/utvideodsp_rvv.S
+libavcodec/riscv/vc1dsp_init.c
+libavcodec/riscv/vc1dsp_rvv.S
libavcodec/riscv/vorbisdsp_init.c
libavcodec/riscv/vorbisdsp_rvv.S
+libavcodec/riscv/vp8dsp_init.c
+libavcodec/riscv/vp8dsp_rvv.S
libavcodec/rka.c
libavcodec/rl.c
libavcodec/rl.h
@@ -1542,7 +1612,6 @@ libavcodec/sbrdsp.h
libavcodec/sbrdsp_template.c
libavcodec/screenpresso.c
libavcodec/sei.h
-libavcodec/setts_bsf.c
libavcodec/sgi.h
libavcodec/sgidec.c
libavcodec/sgienc.c
@@ -1632,8 +1701,6 @@ libavcodec/to_upper4.c
libavcodec/to_upper4.h
libavcodec/tpeldsp.c
libavcodec/tpeldsp.h
-libavcodec/trace_headers_bsf.c
-libavcodec/truehd_core_bsf.c
libavcodec/truemotion1.c
libavcodec/truemotion1data.h
libavcodec/truemotion2.c
@@ -1786,11 +1853,7 @@ libavcodec/vp8dsp.h
libavcodec/vp9.c
libavcodec/vp9.h
libavcodec/vp9_mc_template.c
-libavcodec/vp9_metadata_bsf.c
libavcodec/vp9_parser.c
-libavcodec/vp9_raw_reorder_bsf.c
-libavcodec/vp9_superframe_bsf.c
-libavcodec/vp9_superframe_split_bsf.c
libavcodec/vp9block.c
libavcodec/vp9data.c
libavcodec/vp9data.h
@@ -1816,11 +1879,40 @@ libavcodec/vulkan_av1.c
libavcodec/vulkan_decode.c
libavcodec/vulkan_decode.h
libavcodec/vulkan_video.c
-libavcodec/vulkan_video_codec_av1std_decode_mesa.h
-libavcodec/vulkan_video_codec_av1std_mesa.h
libavcodec/vulkan_video.h
libavcodec/vvc.h
-libavcodec/vvc_mp4toannexb_bsf.c
+libavcodec/vvc/Makefile
+libavcodec/vvc/vvc_cabac.c
+libavcodec/vvc/vvc_cabac.h
+libavcodec/vvc/vvc_ctu.c
+libavcodec/vvc/vvc_ctu.h
+libavcodec/vvc/vvc_data.c
+libavcodec/vvc/vvc_data.h
+libavcodec/vvc/vvc_filter.c
+libavcodec/vvc/vvc_filter.h
+libavcodec/vvc/vvc_filter_template.c
+libavcodec/vvc/vvc_inter.c
+libavcodec/vvc/vvc_inter.h
+libavcodec/vvc/vvc_inter_template.c
+libavcodec/vvc/vvc_intra.c
+libavcodec/vvc/vvc_intra.h
+libavcodec/vvc/vvc_intra_template.c
+libavcodec/vvc/vvc_intra_utils.c
+libavcodec/vvc/vvc_itx_1d.c
+libavcodec/vvc/vvc_itx_1d.h
+libavcodec/vvc/vvc_mvs.c
+libavcodec/vvc/vvc_mvs.h
+libavcodec/vvc/vvc_ps.c
+libavcodec/vvc/vvc_ps.h
+libavcodec/vvc/vvc_refs.c
+libavcodec/vvc/vvc_refs.h
+libavcodec/vvc/vvc_thread.c
+libavcodec/vvc/vvc_thread.h
+libavcodec/vvc/vvcdec.c
+libavcodec/vvc/vvcdec.h
+libavcodec/vvc/vvcdsp.c
+libavcodec/vvc/vvcdsp.h
+libavcodec/vvc/vvcdsp_template.c
libavcodec/vvc_parser.c
libavcodec/wavarc.c
libavcodec/wavpack.c
@@ -1929,6 +2021,9 @@ libavcodec/x86/h264_weight.asm
libavcodec/x86/h264_weight_10bit.asm
libavcodec/x86/h264chroma_init.c
libavcodec/x86/h264dsp_init.c
+libavcodec/x86/h26x/h2656_inter.asm
+libavcodec/x86/h26x/h2656dsp.c
+libavcodec/x86/h26x/h2656dsp.h
libavcodec/x86/hpeldsp.asm
libavcodec/x86/hpeldsp.h
libavcodec/x86/hpeldsp_init.c
@@ -2033,6 +2128,9 @@ libavcodec/x86/vp9lpf_16bpp.asm
libavcodec/x86/vp9mc.asm
libavcodec/x86/vp9mc_16bpp.asm
libavcodec/x86/vpx_arith.h
+libavcodec/x86/vvc/Makefile
+libavcodec/x86/vvc/vvc_mc.asm
+libavcodec/x86/vvc/vvcdsp_init.c
libavcodec/x86/w64xmmtest.c
libavcodec/x86/xvididct.asm
libavcodec/x86/xvididct.h
@@ -2054,7 +2152,6 @@ libavcodec/xsubdec.c
libavcodec/xsubenc.c
libavcodec/xvididct.c
libavcodec/xvididct.h
-libavcodec/xvmc.h
libavcodec/xwd.h
libavcodec/xwd_parser.c
libavcodec/xwddec.c
@@ -2123,6 +2220,7 @@ libavdevice/version_major.h
libavdevice/xcbgrab.c
libavdevice/xv.c
libavfilter/Makefile
+libavfilter/aap_template.c
libavfilter/aarch64/Makefile
libavfilter/aarch64/vf_bwdif_init_aarch64.c
libavfilter/aarch64/vf_bwdif_neon.S
@@ -2130,6 +2228,7 @@ libavfilter/aarch64/vf_nlmeans_init.c
libavfilter/aarch64/vf_nlmeans_neon.S
libavfilter/adynamicequalizer_template.c
libavfilter/aeval.c
+libavfilter/af_aap.c
libavfilter/af_acontrast.c
libavfilter/af_acopy.c
libavfilter/af_acrossover.c
@@ -2230,6 +2329,8 @@ libavfilter/af_volume.h
libavfilter/af_volumedetect.c
libavfilter/afir_template.c
libavfilter/allfilters.c
+libavfilter/anlms_template.c
+libavfilter/arls_template.c
libavfilter/asink_anullsink.c
libavfilter/asrc_afdelaysrc.c
libavfilter/asrc_afirsrc.c
@@ -2258,6 +2359,7 @@ libavfilter/avf_showvolume.c
libavfilter/avf_showwaves.c
libavfilter/avfilter.c
libavfilter/avfilter.h
+libavfilter/avfilter_internal.h
libavfilter/avfiltergraph.c
libavfilter/bbox.c
libavfilter/bbox.h
@@ -2282,10 +2384,11 @@ libavfilter/colorspacedsp.h
libavfilter/colorspacedsp_template.c
libavfilter/colorspacedsp_yuv2yuv_template.c
libavfilter/convolution.h
-libavfilter/deshake.h
+libavfilter/dialoguenhance_template.c
libavfilter/dnn/Makefile
libavfilter/dnn/dnn_backend_common.c
libavfilter/dnn/dnn_backend_common.h
+libavfilter/dnn/dnn_backend_torch.cpp
libavfilter/dnn/dnn_interface.c
libavfilter/dnn/dnn_io_proc.c
libavfilter/dnn/dnn_io_proc.h
@@ -2323,7 +2426,6 @@ libavfilter/f_streamselect.c
libavfilter/f_zmq.c
libavfilter/fflcms2.c
libavfilter/fflcms2.h
-libavfilter/fifo.c
libavfilter/filters.h
libavfilter/formats.c
libavfilter/formats.h
@@ -2382,9 +2484,13 @@ libavfilter/psnr.h
libavfilter/pthread.c
libavfilter/qp_table.c
libavfilter/qp_table.h
+libavfilter/qrencode.c
libavfilter/qsvvpp.c
libavfilter/qsvvpp.h
libavfilter/removegrain.h
+libavfilter/riscv/Makefile
+libavfilter/riscv/af_afir_init.c
+libavfilter/riscv/af_afir_rvv.S
libavfilter/scale_eval.c
libavfilter/scale_eval.h
libavfilter/scene_sad.c
@@ -2401,7 +2507,8 @@ libavfilter/ssim.h
libavfilter/stack_internal.c
libavfilter/stack_internal.h
libavfilter/stereo3d.h
-libavfilter/thread.h
+libavfilter/textutils.c
+libavfilter/textutils.h
libavfilter/threshold.h
libavfilter/tinterlace.h
libavfilter/transform.c
@@ -2522,6 +2629,7 @@ libavfilter/vf_freezeframes.c
libavfilter/vf_frei0r.c
libavfilter/vf_fspp.c
libavfilter/vf_fspp.h
+libavfilter/vf_fsync.c
libavfilter/vf_gblur.c
libavfilter/vf_gblur_init.h
libavfilter/vf_gblur_vulkan.c
@@ -2619,6 +2727,7 @@ libavfilter/vf_psnr.c
libavfilter/vf_pullup.c
libavfilter/vf_pullup.h
libavfilter/vf_qp.c
+libavfilter/vf_quirc.c
libavfilter/vf_random.c
libavfilter/vf_readeia608.c
libavfilter/vf_readvitc.c
@@ -2666,6 +2775,7 @@ libavfilter/vf_threshold.c
libavfilter/vf_threshold_init.h
libavfilter/vf_thumbnail.c
libavfilter/vf_tile.c
+libavfilter/vf_tiltandshift.c
libavfilter/vf_tinterlace.c
libavfilter/vf_tmidequalizer.c
libavfilter/vf_tonemap.c
@@ -2824,7 +2934,8 @@ libavformat/adp.c
libavformat/ads.c
libavformat/adtsenc.c
libavformat/adxdec.c
-libavformat/aea.c
+libavformat/aeadec.c
+libavformat/aeaenc.c
libavformat/afc.c
libavformat/aiff.c
libavformat/aiff.h
@@ -2892,6 +3003,7 @@ libavformat/bink.c
libavformat/binka.c
libavformat/bintext.c
libavformat/bit.c
+libavformat/bitstream.c
libavformat/bluray.c
libavformat/bmv.c
libavformat/boadec.c
@@ -2943,6 +3055,9 @@ libavformat/dv.c
libavformat/dv.h
libavformat/dvbsub.c
libavformat/dvbtxt.c
+libavformat/dvdclut.c
+libavformat/dvdclut.h
+libavformat/dvdvideodec.c
libavformat/dvenc.c
libavformat/dxa.c
libavformat/eacdata.c
@@ -2955,7 +3070,6 @@ libavformat/ffmeta.h
libavformat/ffmetadec.c
libavformat/ffmetaenc.c
libavformat/fifo.c
-libavformat/fifo_test.c
libavformat/file.c
libavformat/filmstripdec.c
libavformat/filmstripenc.c
@@ -3014,6 +3128,16 @@ libavformat/http.c
libavformat/http.h
libavformat/httpauth.c
libavformat/httpauth.h
+libavformat/iamf.c
+libavformat/iamf.h
+libavformat/iamf_parse.c
+libavformat/iamf_parse.h
+libavformat/iamf_reader.c
+libavformat/iamf_reader.h
+libavformat/iamf_writer.c
+libavformat/iamf_writer.h
+libavformat/iamfdec.c
+libavformat/iamfenc.c
libavformat/icecast.c
libavformat/icodec.c
libavformat/icoenc.c
@@ -3203,6 +3327,7 @@ libavformat/psxstr.c
libavformat/pva.c
libavformat/pvfdec.c
libavformat/qcp.c
+libavformat/qoadec.c
libavformat/qtpalette.c
libavformat/qtpalette.h
libavformat/r3d.c
@@ -3214,6 +3339,7 @@ libavformat/rawenc.h
libavformat/rawutils.c
libavformat/rawutils.h
libavformat/rawvideodec.c
+libavformat/rcwtenc.c
libavformat/rdt.c
libavformat/rdt.h
libavformat/realtextdec.c
@@ -3416,6 +3542,8 @@ libavformat/vpcc.h
libavformat/vpk.c
libavformat/vplayerdec.c
libavformat/vqf.c
+libavformat/vvc.c
+libavformat/vvc.h
libavformat/vvcdec.c
libavformat/w64.c
libavformat/w64.h
@@ -3579,6 +3707,9 @@ libavutil/hwcontext_cuda.c
libavutil/hwcontext_cuda.h
libavutil/hwcontext_cuda_internal.h
libavutil/hwcontext_d3d11va.h
+libavutil/hwcontext_d3d12va.c
+libavutil/hwcontext_d3d12va.h
+libavutil/hwcontext_d3d12va_internal.h
libavutil/hwcontext_drm.c
libavutil/hwcontext_drm.h
libavutil/hwcontext_dxva2.h
@@ -3596,6 +3727,8 @@ libavutil/hwcontext_vdpau.h
libavutil/hwcontext_videotoolbox.h
libavutil/hwcontext_vulkan.c
libavutil/hwcontext_vulkan.h
+libavutil/iamf.c
+libavutil/iamf.h
libavutil/imgutils.c
libavutil/imgutils.h
libavutil/imgutils_internal.h
@@ -3683,6 +3816,7 @@ libavutil/riscv/intmath.h
libavutil/riscv/timer.h
libavutil/samplefmt.c
libavutil/samplefmt.h
+libavutil/sfc64.h
libavutil/sha.c
libavutil/sha.h
libavutil/sha512.c
@@ -3699,6 +3833,7 @@ libavutil/stereo3d.h
libavutil/tablegen.h
libavutil/tea.c
libavutil/tea.h
+libavutil/tests/side_data_array.c
libavutil/thread.h
libavutil/threadmessage.c
libavutil/threadmessage.h
@@ -3708,6 +3843,7 @@ libavutil/time_internal.h
libavutil/timecode.c
libavutil/timecode.h
libavutil/timer.h
+libavutil/timestamp.c
libavutil/timestamp.h
libavutil/tree.c
libavutil/tree.h
@@ -3896,8 +4032,10 @@ presets/libvpx-720p50_60.ffpreset
tests/Makefile
tests/api/Makefile
tests/checkasm/Makefile
+tests/checkasm/aacencdsp.c
tests/checkasm/aacpsdsp.c
tests/checkasm/aarch64/checkasm.S
+tests/checkasm/ac3dsp.c
tests/checkasm/af_afir.c
tests/checkasm/alacdsp.c
tests/checkasm/arm/checkasm.S
@@ -3916,6 +4054,7 @@ tests/checkasm/g722dsp.c
tests/checkasm/huffyuvdsp.c
tests/checkasm/idctdsp.c
tests/checkasm/jpeg2000dsp.c
+tests/checkasm/llauddsp.c
tests/checkasm/llviddsp.c
tests/checkasm/llviddspenc.c
tests/checkasm/lpc.c
@@ -3924,10 +4063,12 @@ tests/checkasm/opusdsp.c
tests/checkasm/pixblockdsp.c
tests/checkasm/riscv/checkasm.S
tests/checkasm/sbrdsp.c
+tests/checkasm/svq1enc.c
tests/checkasm/sw_gbrp.c
tests/checkasm/sw_rgb.c
tests/checkasm/sw_scale.c
tests/checkasm/synth_filter.c
+tests/checkasm/takdsp.c
tests/checkasm/utvideodsp.c
tests/checkasm/v210dec.c
tests/checkasm/v210enc.c
@@ -3943,6 +4084,7 @@ tests/checkasm/videodsp.c
tests/checkasm/vorbisdsp.c
tests/checkasm/vp8dsp.c
tests/checkasm/vp9dsp.c
+tests/checkasm/vvc_mc.c
tests/checkasm/x86/checkasm.asm
tests/fate/aac.mak
tests/fate/ac3.mak
@@ -3989,6 +4131,7 @@ tests/fate/hap.mak
tests/fate/hevc.mak
tests/fate/hlsenc.mak
tests/fate/hw.mak
+tests/fate/iamf.mak
tests/fate/id3v2.mak
tests/fate/image.mak
tests/fate/imf.mak
@@ -4025,6 +4168,7 @@ tests/fate/pixfmt.mak
tests/fate/pixlet.mak
tests/fate/probe.mak
tests/fate/prores.mak
+tests/fate/qoa.mak
tests/fate/qt.mak
tests/fate/qtrle.mak
tests/fate/real.mak
@@ -4046,10 +4190,21 @@ tests/fate/voice.mak
tests/fate/vorbis.mak
tests/fate/vpx.mak
tests/fate/vqf.mak
+tests/fate/vvc.mak
tests/fate/wavpack.mak
tests/fate/webm-dash-manifest.mak
tests/fate/wma.mak
tests/fate/xvid.mak
+tests/maps/fsync-down
+tests/maps/fsync-up
+tests/streamgroups/audio_element-5_1_4
+tests/streamgroups/audio_element-7_1_4
+tests/streamgroups/audio_element-ambisonic_1
+tests/streamgroups/audio_element-stereo
+tests/streamgroups/mix_presentation-5_1_4
+tests/streamgroups/mix_presentation-7_1_4
+tests/streamgroups/mix_presentation-ambisonic_1
+tests/streamgroups/mix_presentation-stereo
tools/Makefile
tools/aviocat.c
tools/crypto_bench.c
@@ -4072,6 +4227,7 @@ tools/seek_print.c
tools/sidxindex.c
tools/sofa2wavs.c
tools/source2c
+tools/target_sws_fuzzer.c
tools/trasher.c
tools/uncoded_frame.c
tools/venc_data_dump.c
diff --git a/sources b/sources
index 03daa05..efd0084 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,3 @@
-SHA512 (ffmpeg-free-6.1.2.tar.xz) = edaa836c69b0ec2f484a4fd9b49dab97f76e7c6451449f8db8f81f04558974d850b725e3affc36f9790c206a049e42b710f54bb8fd7e4da00ec80ebce6a13e5f
-SHA512 (ffmpeg-6.1.2.tar.xz.asc) = a26dba1f4870b964080b45f8468f5ce3591eb6aa69be426bf4afbe5a60c3cbd0fe5056dc86ca7bb817c04ae30d39160cb7773772a9a2123ae7f095b18a6d7050
-SHA512 (ffmpeg-dlopen-headers.tar.xz) = 97e6986fc2bb9dfa4516135a76b04d27ceb52ff96f0af21a6169919aeefefb4d2e2e24a771959689cdbec385f5d71614ba661223c67c0e94089a6dd823a30099
+SHA512 (ffmpeg-free-7.0.2.tar.xz) = d22419888245c19b96679973b25e20d8bd32068fe998383afbd3d9ced4f8b088e743711138c2d034aa7e09b6d206b785b0a6345ca6af8ab28dc9f776619cc346
+SHA512 (ffmpeg-7.0.2.tar.xz.asc) = b41eeb8044754bfcf2cf67a3ed4a4e74194ee6e5f4ed5f03aa03bb68772f6bacd7a1839d8e9740573889230a71d3bc7d52b4625542f4c892e8de8c61deda2c51
SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-20 17:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-20 17:31 [rpms/ffmpeg] epel9-next: Rebase to 7.0.2 (rhbz#2273572) Neal Gompa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox