Skip to content

Commit c488911

Browse files
authored
Merge pull request #24901 from Micket/20251217005313_new_pr_FFmpeg60
Enable AV1, VP8, webp in older FFmpegs
2 parents 66a2f17 + 990b668 commit c488911

File tree

4 files changed

+87
-12
lines changed

4 files changed

+87
-12
lines changed

easybuild/easyconfigs/f/FFmpeg/FFmpeg-6.0-GCCcore-13.2.0.eb

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
1010

1111
source_urls = ['https://%(namelower)s.org/releases/']
1212
sources = [SOURCELOWER_TAR_BZ2]
13-
checksums = ['47d062731c9f66a78380e35a19aac77cebceccd1c7cc309b9c82343ffc430c3d']
13+
patches = ['%(name)s-7.1.1_svtav1_compat.patch']
14+
checksums = [
15+
{'ffmpeg-6.0.tar.bz2': '47d062731c9f66a78380e35a19aac77cebceccd1c7cc309b9c82343ffc430c3d'},
16+
{'FFmpeg-7.1.1_svtav1_compat.patch': '50af862d25bbeddd0d2e3eff7ebe25899651ee24cc23ed6f785180b5523d246e'},
17+
]
1418

1519
builddependencies = [
1620
('binutils', '2.40'),
@@ -24,16 +28,27 @@ dependencies = [
2428
('x264', '20231019'),
2529
('LAME', '3.100'),
2630
('x265', '3.5'),
31+
('dav1d', '1.5.2'),
32+
('SVT-AV1', '3.1.2'),
33+
('libaom', '3.10.0'),
34+
('libvpx', '1.15.2'),
35+
('libwebp', '1.3.2'),
36+
('libvorbis', '1.3.7'),
37+
('libopus', '1.5.2'),
2738
('X11', '20231019'),
2839
('freetype', '2.13.2'),
2940
('fontconfig', '2.14.2'),
3041
('FriBidi', '1.0.13'),
3142
('SDL2', '2.28.5'),
3243
]
3344

34-
configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" '
35-
configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig '
36-
configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages'
45+
configopts = ' '.join([
46+
'--enable-pic --enable-shared --enable-gpl --enable-version3 --cc="$CC" --cxx="$CXX"',
47+
'--enable-nonfree --enable-libx264 --enable-libx265 --enable-libmp3lame',
48+
'--enable-libvpx --enable-libwebp --enable-libvorbis --enable-libopus',
49+
'--enable-libdav1d --enable-libaom --enable-libsvtav1',
50+
'--enable-libfreetype --enable-fontconfig --enable-libfribidi --enable-sdl2 --disable-htmlpages',
51+
])
3752

3853
sanity_check_paths = {
3954
'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] +

easybuild/easyconfigs/f/FFmpeg/FFmpeg-7.0.2-GCCcore-13.3.0.eb

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
1010

1111
source_urls = ['https://%(namelower)s.org/releases/']
1212
sources = [SOURCELOWER_TAR_BZ2]
13-
checksums = ['1ed250407ea8f955cca2f1139da3229fbc13032a0802e4b744be195865ff1541']
13+
patches = ['%(name)s-7.1.1_svtav1_compat.patch']
14+
checksums = [
15+
{'ffmpeg-7.0.2.tar.bz2': '1ed250407ea8f955cca2f1139da3229fbc13032a0802e4b744be195865ff1541'},
16+
{'FFmpeg-7.1.1_svtav1_compat.patch': '50af862d25bbeddd0d2e3eff7ebe25899651ee24cc23ed6f785180b5523d246e'},
17+
]
1418

1519
builddependencies = [
1620
('binutils', '2.42'),
@@ -24,16 +28,27 @@ dependencies = [
2428
('x264', '20240513'),
2529
('LAME', '3.100'),
2630
('x265', '3.6'),
31+
('dav1d', '1.5.2'),
32+
('SVT-AV1', '3.1.2'),
33+
('libaom', '3.10.0'),
34+
('libvpx', '1.15.2'),
35+
('libwebp', '1.4.0'),
36+
('libvorbis', '1.3.7'),
37+
('libopus', '1.5.2'),
2738
('X11', '20240607'),
2839
('freetype', '2.13.2'),
2940
('fontconfig', '2.15.0'),
3041
('FriBidi', '1.0.15'),
3142
('SDL2', '2.30.6'),
3243
]
3344

34-
configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" '
35-
configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig '
36-
configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages'
45+
configopts = ' '.join([
46+
'--enable-pic --enable-shared --enable-gpl --enable-version3 --cc="$CC" --cxx="$CXX"',
47+
'--enable-nonfree --enable-libx264 --enable-libx265 --enable-libmp3lame',
48+
'--enable-libvpx --enable-libwebp --enable-libvorbis --enable-libopus',
49+
'--enable-libdav1d --enable-libaom --enable-libsvtav1',
50+
'--enable-libfreetype --enable-fontconfig --enable-libfribidi --enable-sdl2 --disable-htmlpages',
51+
])
3752

3853
sanity_check_paths = {
3954
'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] +

easybuild/easyconfigs/f/FFmpeg/FFmpeg-7.1.1-GCCcore-14.2.0.eb

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
1010

1111
source_urls = ['https://%(namelower)s.org/releases/']
1212
sources = [SOURCELOWER_TAR_BZ2]
13-
checksums = ['0c8da2f11579a01e014fc007cbacf5bb4da1d06afd0b43c7f8097ec7c0f143ba']
13+
patches = ['%(name)s-%(version)s_svtav1_compat.patch']
14+
checksums = [
15+
{'ffmpeg-7.1.1.tar.bz2': '0c8da2f11579a01e014fc007cbacf5bb4da1d06afd0b43c7f8097ec7c0f143ba'},
16+
{'FFmpeg-7.1.1_svtav1_compat.patch': '50af862d25bbeddd0d2e3eff7ebe25899651ee24cc23ed6f785180b5523d246e'},
17+
]
1418

1519
builddependencies = [
1620
('binutils', '2.42'),
@@ -24,16 +28,27 @@ dependencies = [
2428
('x264', '20250619'),
2529
('LAME', '3.100'),
2630
('x265', '4.1'),
31+
('dav1d', '1.5.2'),
32+
('SVT-AV1', '3.1.2'),
33+
('libaom', '3.10.0'),
34+
('libvpx', '1.15.2'),
35+
('libwebp', '1.5.0'),
36+
('libvorbis', '1.3.7'),
37+
('libopus', '1.5.2'),
2738
('X11', '20250521'),
2839
('freetype', '2.13.3'),
2940
('fontconfig', '2.16.2'),
3041
('FriBidi', '1.0.16'),
3142
('SDL2', '2.32.8'),
3243
]
3344

34-
configopts = '--enable-pic --enable-shared --enable-gpl --enable-version3 --enable-nonfree --cc="$CC" --cxx="$CXX" '
35-
configopts += '--enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfreetype --enable-fontconfig '
36-
configopts += '--enable-libfribidi --enable-sdl2 --disable-htmlpages'
45+
configopts = ' '.join([
46+
'--enable-pic --enable-shared --enable-gpl --enable-version3 --cc="$CC" --cxx="$CXX"',
47+
'--enable-nonfree --enable-libx264 --enable-libx265 --enable-libmp3lame',
48+
'--enable-libvpx --enable-libwebp --enable-libvorbis --enable-libopus',
49+
'--enable-libdav1d --enable-libaom --enable-libsvtav1',
50+
'--enable-libfreetype --enable-fontconfig --enable-libfribidi --enable-sdl2 --disable-htmlpages',
51+
])
3752

3853
sanity_check_paths = {
3954
'files': ['bin/ff%s' % x for x in ['mpeg', 'probe', 'play']] +
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
From d1ed5c06e3edc5f2b5f3664c80121fa55b0baa95 Mon Sep 17 00:00:00 2001
2+
From: Gyan Doshi <ffmpeg@gyani.pro>
3+
Date: Sat, 22 Feb 2025 10:38:53 +0530
4+
Subject: [PATCH] avcodec/libsvtav1: unbreak build with latest svtav1
5+
6+
SVT-AV1 made a change in their public API in 988e930c but without a
7+
version bump or any other accessible marker, thus breaking ffmpeg build
8+
with current versions of SVT-AV1.
9+
10+
They have finally bumped versions a month later, so check added.
11+
---
12+
libavcodec/libsvtav1.c | 4 ++++
13+
1 file changed, 4 insertions(+)
14+
15+
diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
16+
index 79b28eb4df546..43fe531fde74d 100644
17+
--- a/libavcodec/libsvtav1.c
18+
+++ b/libavcodec/libsvtav1.c
19+
@@ -435,7 +435,11 @@ static av_cold int eb_enc_init(AVCodecContext *avctx)
20+
21+
svt_enc->eos_flag = EOS_NOT_REACHED;
22+
23+
+#if SVT_AV1_CHECK_VERSION(3, 0, 0)
24+
+ svt_ret = svt_av1_enc_init_handle(&svt_enc->svt_handle, &svt_enc->enc_params);
25+
+#else
26+
svt_ret = svt_av1_enc_init_handle(&svt_enc->svt_handle, svt_enc, &svt_enc->enc_params);
27+
+#endif
28+
if (svt_ret != EB_ErrorNone) {
29+
return svt_print_error(avctx, svt_ret, "Error initializing encoder handle");
30+
}

0 commit comments

Comments
 (0)