Compare commits

...

11 Commits

Author SHA1 Message Date
Yaakov Selkowitz
aa1f2113d7 Properly enable aribb24/libaribcaption
Disable VANC dependency as it depends on decklink
2024-10-07 12:41:00 -04:00
Nicolas Chauvet
b209e71d90 Disable external schroedinger
ffmpeg wrapper code was removed in 3.4, use the internal implemenation
nowadays
2024-10-07 11:25:03 +02:00
Neal Gompa
8da9f7adde Enable Kernel Labs VANC processing and ARIB text/caption decoding 2024-10-07 04:32:18 -04:00
Yaakov Selkowitz
24d8902d75 Properly enable noopenh264
Like many options, libopenh264 is disabled if not specified.
2024-10-07 02:01:56 -04:00
Neal Gompa
d4e890a117 Restore bootstrap bcond 2024-10-02 06:12:29 -04:00
Neal Gompa
a38892833e Fix chromaprint bcond 2024-10-02 04:56:28 -04:00
Michel Lind
7dc95097f1 Bump release
Signed-off-by: Michel Lind <salimma@fedoraproject.org>
2024-09-25 16:32:18 -05:00
Michel Lind
4fbec760e3 Disable omxil completely, it's now retired
Rebuild for tesseract-5.4.1-3 (soversion change from 5.4.1 to just 5.4)

Signed-off-by: Michel Lind <salimma@fedoraproject.org>
2024-09-25 16:08:32 -05:00
Neal Gompa
9a1dccdbf1 Rebuild for newer ffnvcodec 2024-09-20 13:36:10 -04:00
Neal Gompa
0c021328ba 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>
2024-09-07 11:45:32 +02:00
Fabio Valentini
2612e2ec91
Update to 6.1.2 2024-08-24 11:54:40 +02:00
16 changed files with 359 additions and 1017 deletions

2
.gitignore vendored
View File

@ -2,3 +2,5 @@ ffmpeg-*.asc
ffmpeg-*.rpm
ffmpeg-*.tar.xz
/ffmpeg.keyring
/results_*
/*.rpm

View File

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

View File

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

View File

@ -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
@ -195,6 +194,8 @@ jv
kgv1
kmvc
lagarith
libaribb24 # aribb24
libaribcaption # libaribcaption
libaom # libaom
libaom_av1 # libaom
libcodec2 # codec2
@ -244,13 +245,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 +336,7 @@ qcelp
qdm2
qdmc
qdraw
qoa
qoi
qpeg
qtrle

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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,

View File

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

View File

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

View File

@ -1,99 +0,0 @@
From: Jan Ekström <jeebjp@gmail.com>
Date: Wed, 14 Feb 2024 20:40:54 +0000 (+0200)
Subject: {avcodec,tests}: rename the bundled Mesa AV1 vulkan video headers
X-Git-Url: http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/fef22c87ada4517441701e6e61e062c9f4399c8e
{avcodec,tests}: rename the bundled Mesa AV1 vulkan video headers
This together with adjusting the inclusion define allows for the
build to not fail with latest Vulkan-Headers that contain the
stabilized Vulkan AV1 decoding definitions.
Compilation fails currently as the AV1 header is getting included
via hwcontext_vulkan.h -> <vulkan/vulkan.h> -> vulkan_core.h, which
finally includes vk_video/vulkan_video_codec_av1std.h and the decode
header, leading to the bundled header to never defining anything
due to the inclusion define being the same.
This fix is imperfect, as it leads to additional re-definition
warnings for things such as
VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION. , but it is
not clear how to otherwise have the bundled version trump the
actually standardized one for a short-term compilation fix.
(cherry picked from commit e06ce6d2b45edac4a2df04f304e18d4727417d24)
---
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index ec57e53e30..eb25707ef5 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -1284,7 +1284,7 @@ SKIPHEADERS += %_tablegen.h \
aacenc_quantization.h \
aacenc_quantization_misc.h \
bitstream_template.h \
- vulkan_video_codec_av1std.h \
+ vulkan_video_codec_av1std_mesa.h \
$(ARCH)/vpx_arith.h \
SKIPHEADERS-$(CONFIG_AMF) += amfenc.h
@@ -1306,7 +1306,7 @@ SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h
SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_decode.h vaapi_hevc.h vaapi_encode.h
SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h
SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX) += videotoolbox.h vt_internal.h
-SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode.h
+SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode_mesa.h
SKIPHEADERS-$(CONFIG_V4L2_M2M) += v4l2_buffers.h v4l2_context.h v4l2_m2m.h
SKIPHEADERS-$(CONFIG_ZLIB) += zlib_wrapper.h
diff --git a/libavcodec/vulkan_video.h b/libavcodec/vulkan_video.h
index b28e3fe0bd..51f44dd543 100644
--- a/libavcodec/vulkan_video.h
+++ b/libavcodec/vulkan_video.h
@@ -23,8 +23,8 @@
#include "vulkan.h"
#include <vk_video/vulkan_video_codecs_common.h>
-#include "vulkan_video_codec_av1std.h"
-#include "vulkan_video_codec_av1std_decode.h"
+#include "vulkan_video_codec_av1std_mesa.h"
+#include "vulkan_video_codec_av1std_decode_mesa.h"
#define CODEC_VER_MAJ(ver) (ver >> 22)
#define CODEC_VER_MIN(ver) ((ver >> 12) & ((1 << 10) - 1))
diff --git a/libavcodec/vulkan_video_codec_av1std_decode.h b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h
similarity index 89%
rename from libavcodec/vulkan_video_codec_av1std_decode.h
rename to libavcodec/vulkan_video_codec_av1std_decode_mesa.h
index a697c00593..e2f37b4e6e 100644
--- a/libavcodec/vulkan_video_codec_av1std_decode.h
+++ b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_
-#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1
+#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_
+#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_ 1
/*
** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
diff --git a/libavcodec/vulkan_video_codec_av1std.h b/libavcodec/vulkan_video_codec_av1std_mesa.h
similarity index 99%
rename from libavcodec/vulkan_video_codec_av1std.h
rename to libavcodec/vulkan_video_codec_av1std_mesa.h
index c46236c457..c91589eee2 100644
--- a/libavcodec/vulkan_video_codec_av1std.h
+++ b/libavcodec/vulkan_video_codec_av1std_mesa.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_
-#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1
+#ifndef VULKAN_VIDEO_CODEC_AV1STD_MESA_H_
+#define VULKAN_VIDEO_CODEC_AV1STD_MESA_H_ 1
/*
** This header is NOT YET generated from the Khronos Vulkan XML API Registry.

View File

@ -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,81 @@
# 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
# Disable dependencies not available or wanted on RHEL/EPEL
%bcond chromaprint 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
%else
%bcond_without flite
%bcond_without lcms2
%bcond_without placebo
%endif
%bcond_without omxil
%endif
# Break chromaprint dependency cycle (Fedora-only):
# ffmpeg (libavcodec-free) → chromaprint → ffmpeg
%if %{with bootstrap}
%bcond_with chromaprint
%else
%bcond_without chromaprint
%bcond chromaprint %{?_with_bootstrap:0}%{!?_with_bootstrap:1}
%endif
%if 0%{?rhel} && 0%{?rhel} <= 9
# Disable some features because RHEL 9 packages are too old
%bcond flite 0
%bcond lcms2 0
%bcond placebo 0
%else
%bcond flite 1
%bcond lcms2 1
%bcond placebo 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.1
Release: 19%{?dist}
Version: 7.0.2
Release: 7%{?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,31 +97,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
# Fix build with Vulkan headers >= 1.3.280.0
Patch7: ffmpeg-vulkan.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
@ -178,10 +144,13 @@ BuildRequires: nasm
BuildRequires: perl(Pod::Man)
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(aom)
BuildRequires: pkgconfig(aribb24) >= 1.0.3
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)
@ -196,6 +165,7 @@ BuildRequires: pkgconfig(jack)
%if %{with lcms2}
BuildRequires: pkgconfig(lcms2) >= 2.13
%endif
BuildRequires: pkgconfig(libaribcaption) >= 1.1.1
BuildRequires: pkgconfig(libass)
BuildRequires: pkgconfig(libbluray)
BuildRequires: pkgconfig(libbs2b)
@ -207,15 +177,13 @@ BuildRequires: pkgconfig(libchromaprint)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libjxl) >= 0.7.0
BuildRequires: pkgconfig(libmodplug)
%if %{with omxil}
BuildRequires: pkgconfig(libomxil-bellagio)
%endif
BuildRequires: pkgconfig(libopenjp2)
BuildRequires: pkgconfig(libopenmpt)
%if %{with placebo}
BuildRequires: pkgconfig(libplacebo) >= 4.192.0
%endif
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libqrencode)
BuildRequires: pkgconfig(librabbitmq)
BuildRequires: pkgconfig(librist)
BuildRequires: pkgconfig(librsvg-2.0)
@ -234,13 +202,10 @@ 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)
BuildRequires: pkgconfig(schroedinger-1.0)
BuildRequires: pkgconfig(sdl2)
BuildRequires: pkgconfig(shaderc) >= 2019.1
BuildRequires: pkgconfig(smbclient)
@ -282,6 +247,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
@ -354,10 +323,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}
@ -568,7 +535,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
@ -617,6 +584,8 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-vulkan \
--disable-cuda-sdk \
--enable-libaom \
--enable-libaribb24 \
--enable-libaribcaption \
--enable-libass \
--enable-libbluray \
--enable-libbs2b \
@ -627,7 +596,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 \
@ -647,7 +617,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-libmodplug \
--enable-libmp3lame \
--enable-libmysofa \
--enable-libopenh264-dlopen \
--enable-libopenh264 \
--enable-libopenjpeg \
--enable-libopenmpt \
--enable-libopus \
@ -655,6 +625,7 @@ cp -a doc/examples/{*.c,Makefile,README} _doc/examples/
--enable-libplacebo \
%endif
--enable-libpulse \
--enable-libqrencode \
--enable-librabbitmq \
--enable-librav1e \
--enable-librist \
@ -693,6 +664,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
@ -714,7 +689,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
@ -755,7 +730,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
@ -883,6 +858,35 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples
%{_mandir}/man3/libswscale.3*
%changelog
* Mon Oct 07 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 7.0.2-7
- Properly enable aribb24/libaribcaption
- Disable VANC dependency as it depends on decklink
* Mon Oct 07 2024 Neal Gompa <ngompa@fedoraproject.org> - 7.0.2-6
- Enable SDI data processing (Kernel Labs VANC) processing
- Enable Japanese DVD subtitles/teletext (aribb24/libaribcaption)
* Mon Oct 07 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 7.0.2-5
- Properly enable noopenh264
* Wed Oct 02 2024 Neal Gompa <ngompa@fedoraproject.org> - 7.0.2-4
- Fix chromaprint bcond
* Wed Sep 25 2024 Michel Lind <salimma@fedoraproject.org> - 7.0.2-3
- Disable omxil completely, it's now retired
- Rebuild for tesseract-5.4.1-3 (soversion change from 5.4.1 to just 5.4)
* Fri Sep 20 2024 Neal Gompa <ngompa@fedoraproject.org> - 7.0.2-2
- Rebuild for newer ffnvcodec
* 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
* Sat Jul 20 2024 Neal Gompa <ngompa@fedoraproject.org> - 6.1.1-19
- Backport fixes for Mesa 24.0.6+ / 21.1.4+ changes for VA-API

View File

@ -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,9 @@ libavcodec/latm_parser.c
libavcodec/lcl.h
libavcodec/lcldec.c
libavcodec/lclenc.c
libavcodec/leb.h
libavcodec/libaribb24.c
libavcodec/libaribcaption.c
libavcodec/libaom.c
libavcodec/libaom.h
libavcodec/libaomdec.c
@ -1093,6 +1142,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 +1157,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 +1171,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 +1185,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 +1211,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 +1230,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 +1333,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 +1356,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 +1388,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 +1443,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 +1461,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 +1506,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 +1614,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 +1703,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 +1855,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
@ -1817,10 +1882,39 @@ libavcodec/vulkan_decode.c
libavcodec/vulkan_decode.h
libavcodec/vulkan_video.c
libavcodec/vulkan_video.h
libavcodec/vulkan_video_codec_av1std.h
libavcodec/vulkan_video_codec_av1std_decode.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 +2023,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 +2130,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 +2154,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 +2222,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 +2230,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 +2331,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 +2361,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 +2386,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 +2428,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 +2486,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 +2509,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 +2631,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 +2729,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 +2777,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 +2936,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 +3005,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 +3057,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 +3072,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 +3130,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 +3329,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 +3341,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 +3544,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 +3709,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 +3729,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 +3818,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 +3835,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 +3845,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 +4034,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 +4056,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 +4065,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 +4086,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 +4133,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 +4170,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 +4192,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 +4229,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

View File

@ -1,4 +1,3 @@
SHA512 (ffmpeg-free-6.1.1.tar.xz) = f7ca7901b7affa45fd6016b7ac2d7f843f89ad7f813c6f37228d184842aa55167429585e172d3da61ca1ef64818d563199faa7d06295eea1fd829696d28fa044
SHA512 (ffmpeg-6.1.1.tar.xz.asc) = 0e10c1f560bab0812d759d286656593dea5940f02bb52d88d9ba7f10b12b9cc3d7aa2a41c5f7a45b319069e04dce22dc1286b3c1ba685b35cd6d04cd81c5a0f5
SHA512 (ffmpeg-dlopen-headers.tar.xz) = 97e6986fc2bb9dfa4516135a76b04d27ceb52ff96f0af21a6169919aeefefb4d2e2e24a771959689cdbec385f5d71614ba661223c67c0e94089a6dd823a30099
SHA512 (ffmpeg-free-7.0.2.tar.xz) = 062ba768efda367b973250895147efb928f954321ab8a8de395da8b167262cea26cefda186a404e0be9f2080e02f436d2b9c8bf9508cbba0f325a31d697f9a8b
SHA512 (ffmpeg-7.0.2.tar.xz.asc) = b41eeb8044754bfcf2cf67a3ed4a4e74194ee6e5f4ed5f03aa03bb68772f6bacd7a1839d8e9740573889230a71d3bc7d52b4625542f4c892e8de8c61deda2c51
SHA512 (ffmpeg.keyring) = 9b36506835db36f776b7ddb53ad6fa9e915e6ca2f9c7cfebe8eb45513e1036a985283590a840ca313a111bf35dc3731f68885aaafb1fb7011ec433cc119e5165