From cf28742c75972c86de08f2c03bd07fc1b71dbca2 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Mon, 9 May 2022 21:25:39 -0700
Subject: [PATCH] Added AVIF support on Android
---
Android.mk | 23 +++++++++++++++++++++--
external/dav1d | 2 +-
external/libavif | 2 +-
3 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/Android.mk b/Android.mk
index 0cda641..a72383c 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,6 +1,12 @@
SDL_IMAGE_LOCAL_PATH := $(call my-dir)
+# Enable this if you want to support loading AVIF images
+# The library path should be a relative path to this directory.
+SUPPORT_AVIF ?= true
+AVIF_LIBRARY_PATH := external/libavif
+DAV1D_LIBRARY_PATH := external/dav1d
+
# Enable this if you want to support loading JPEG images
# The library path should be a relative path to this directory.
SUPPORT_JPG ?= true
@@ -18,6 +24,12 @@ SUPPORT_WEBP ?= true
WEBP_LIBRARY_PATH := external/libwebp
+# Build the library
+ifeq ($(SUPPORT_AVIF),true)
+ include $(SDL_IMAGE_LOCAL_PATH)/$(AVIF_LIBRARY_PATH)/Android.mk
+ include $(SDL_IMAGE_LOCAL_PATH)/$(DAV1D_LIBRARY_PATH)/Android.mk
+endif
+
# Build the library
ifeq ($(SUPPORT_JPG),true)
include $(SDL_IMAGE_LOCAL_PATH)/$(JPG_LIBRARY_PATH)/Android.mk
@@ -43,9 +55,11 @@ LOCAL_MODULE := SDL2_image
LOCAL_SRC_FILES := \
IMG.c \
+ IMG_avif.c \
IMG_bmp.c \
IMG_gif.c \
IMG_jpg.c \
+ IMG_jxl.c \
IMG_lbm.c \
IMG_pcx.c \
IMG_png.c \
@@ -59,8 +73,6 @@ LOCAL_SRC_FILES := \
IMG_xcf.c \
IMG_xpm.c.arm \
IMG_xv.c \
- IMG_avif.c \
- IMG_jxl.c \
IMG_stb.c \
IMG_xxx.c
@@ -71,6 +83,13 @@ LOCAL_LDLIBS :=
LOCAL_STATIC_LIBRARIES :=
LOCAL_SHARED_LIBRARIES := SDL2
+ifeq ($(SUPPORT_AVIF),true)
+ LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(AVIF_LIBRARY_PATH)/include
+ LOCAL_CFLAGS += -DLOAD_AVIF
+ LOCAL_STATIC_LIBRARIES += avif
+ LOCAL_WHOLE_STATIC_LIBRARIES += dav1d dav1d-8bit dav1d-16bit
+endif
+
ifeq ($(SUPPORT_JPG),true)
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(JPG_LIBRARY_PATH)
LOCAL_CFLAGS += -DLOAD_JPG
diff --git a/external/dav1d b/external/dav1d
index 99172b1..52d0c1f 160000
--- a/external/dav1d
+++ b/external/dav1d
@@ -1 +1 @@
-Subproject commit 99172b11470776177939c3d2bc366fe8d904eab7
+Subproject commit 52d0c1f44eff76c3773636a9805f69ec26633037
diff --git a/external/libavif b/external/libavif
index f938f6b..a3e9315 160000
--- a/external/libavif
+++ b/external/libavif
@@ -1 +1 @@
-Subproject commit f938f6b7dd412ffcbdab1808a265b6375dc7b037
+Subproject commit a3e9315474deb60e39b6e3aad88798eee26dadea