From a483f1ab6df3d071175c62e4941564ceea162754 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Sun, 3 May 2026 18:58:12 +0200
Subject: [PATCH] upgrade vendored libavif to v1.1.1
---
.gitmodules | 2 +-
CMakeLists.txt | 8 ++++++--
Xcode/avif/avif.xcodeproj/project.pbxproj | 4 ++++
external/dav1d | 2 +-
external/libavif | 2 +-
5 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/.gitmodules b/.gitmodules
index c13a57d28..684a91395 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -25,7 +25,7 @@
[submodule "external/libavif"]
path = external/libavif
url = https://github.com/libsdl-org/libavif.git
- branch = v1.0.4-SDL
+ branch = v1.1.1-SDL
[submodule "external/dav1d"]
path = external/dav1d
url = https://github.com/libsdl-org/dav1d.git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5fe161596..fa0fac80e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -409,9 +409,13 @@ if(SDL2IMAGE_AVIF)
set(SDL2IMAGE_AVIF_ENABLED TRUE)
message(STATUS "${PROJECT_NAME}: Using vendored libavif")
sdl_check_project_in_subfolder(external/libavif libavif SDL2IMAGE_VENDORED)
+ set(LIBAVIF_SDLIMAGE_BUILD TRUE)
set(BUILD_SHARED_LIBS ${SDL2IMAGE_AVIF_SHARED})
- set(AVIF_CODEC_DAV1D ON CACHE BOOL "Use dav1d codec for decoding" FORCE)
- set(AVIF_LOCAL_DAV1D OFF CACHE BOOL "Build dav1d by libaf" FORCE)
+ set(AVIF_CODEC_LIBGAV1 OFF CACHE STRING "Use libgav1 for avif" FORCE)
+ set(AVIF_LIBSHARPYUV OFF CACHE STRING "Use sharpyuv for avif" FORCE)
+ set(AVIF_LIBYUV OFF CACHE BOOL "Use libyuv for avif" FORCE)
+ set(AVIF_CODEC_DAV1D "SYSTEM" CACHE STRING "Use dav1d codec for decoding" FORCE)
+ set(AVIF_CODEC_AOM OFF CACHE STRING "Use aom codec for decoding" FORCE)
#FIXME: This requires upgrading vendored libwebp to >= 1.2.4.
#set(LIBAVIF_WITH_SHARPYUV_SDLIMAGE ${SDL2IMAGE_WEBP} CACHE BOOL "Build libavif with sharpyuv support (re-use sharpyuv built by libwebp)" FORCE)
add_subdirectory(external/libavif EXCLUDE_FROM_ALL)
diff --git a/Xcode/avif/avif.xcodeproj/project.pbxproj b/Xcode/avif/avif.xcodeproj/project.pbxproj
index 937ac8e82..f971c5e32 100644
--- a/Xcode/avif/avif.xcodeproj/project.pbxproj
+++ b/Xcode/avif/avif.xcodeproj/project.pbxproj
@@ -7,6 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
+ 631482712FA7F06600B88F2C /* colrconvert.c in Sources */ = {isa = PBXBuildFile; fileRef = 631482702FA7F06600B88F2C /* colrconvert.c */; };
F313F5A02ADDB009008B58D6 /* exif.c in Sources */ = {isa = PBXBuildFile; fileRef = F313F59F2ADDB009008B58D6 /* exif.c */; };
F313F5A22ADDB03F008B58D6 /* reformat_libsharpyuv.c in Sources */ = {isa = PBXBuildFile; fileRef = F313F5A12ADDB03F008B58D6 /* reformat_libsharpyuv.c */; };
F314CA242CB4C362008F776B /* scale_any.c in Sources */ = {isa = PBXBuildFile; fileRef = F314CA222CB4C362008F776B /* scale_any.c */; };
@@ -118,6 +119,7 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
+ 631482702FA7F06600B88F2C /* colrconvert.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = colrconvert.c; path = ../../external/libavif/src/colrconvert.c; sourceTree = SOURCE_ROOT; };
F313F59F2ADDB009008B58D6 /* exif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = exif.c; path = ../../external/libavif/src/exif.c; sourceTree = "<group>"; };
F313F5A12ADDB03F008B58D6 /* reformat_libsharpyuv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = reformat_libsharpyuv.c; path = ../../external/libavif/src/reformat_libsharpyuv.c; sourceTree = "<group>"; };
F314CA1F2CB4C362008F776B /* planar_functions.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = planar_functions.c; sourceTree = "<group>"; };
@@ -265,6 +267,7 @@
F35474782829A9CB007E9EDA /* avif.c */,
F35474952829A9E0007E9EDA /* codec_dav1d.c */,
F354747A2829A9CB007E9EDA /* colr.c */,
+ 631482702FA7F06600B88F2C /* colrconvert.c */,
F354747B2829A9CB007E9EDA /* diag.c */,
F313F59F2ADDB009008B58D6 /* exif.c */,
F354747F2829A9CB007E9EDA /* io.c */,
@@ -517,6 +520,7 @@
F354748C2829A9CB007E9EDA /* reformat.c in Sources */,
F354748E2829A9CB007E9EDA /* io.c in Sources */,
F35474892829A9CB007E9EDA /* colr.c in Sources */,
+ 631482712FA7F06600B88F2C /* colrconvert.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/external/dav1d b/external/dav1d
index 527d4cb44..759e049f4 160000
--- a/external/dav1d
+++ b/external/dav1d
@@ -1 +1 @@
-Subproject commit 527d4cb4442b6fafdbd92b60b0dc09647c4f4dfe
+Subproject commit 759e049f45bf55794f364ea76b96a9317553a142
diff --git a/external/libavif b/external/libavif
index 5bcd7d031..62cfd0858 160000
--- a/external/libavif
+++ b/external/libavif
@@ -1 +1 @@
-Subproject commit 5bcd7d031e058b171364916a4dbef5fc5d6a28e2
+Subproject commit 62cfd08583e85d77b88b2cb6ccd76ce5fbe46dbf