[cmake, externals] android x86_64 support (#3086)

Updates all of our bundled CI deps to support android x86_64, adds a
build flavor thereof (`chromeOS`), and also adds sirit mingw support.

The new FFmpeg package is built in a much better way that actually makes
it identically built to the other CI packages, meaning we now have real
8.0.0 support, no need for libvpx/cpu_features/all that other crap.
PLUS, we can now statically link it! Hooray! It's also built with
MediaCodec support so in the future we can work on that.

Rewrote the android build script too, plus added a copyFlavorTypeOutput
target that assembles and copies the APK. The code behind it sucks
because I'm not great with Gradle but hey, it works.

Testers: please test everything related to video decoding. VP9 and h264, games that normally suck with their prerendered stuff, make sure I didn't nuke it to oblivion, etc.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3086
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
This commit is contained in:
crueter 2025-12-03 06:40:11 +01:00
parent 33ee9de85a
commit fe8017734b
No known key found for this signature in database
GPG key ID: 425ACD2D4830EBC6
11 changed files with 253 additions and 75 deletions

View file

@ -114,16 +114,6 @@ if (UNIX AND NOT ANDROID)
endif()
if (YUZU_USE_BUNDLED_FFMPEG)
# MSVC conflicts with ksuser otherwise
# MinGW has the funny quirk of requiring avutil after avcodec
# Android needs some deps to be compiled with PIC (TODO)
# TODO(crueter) fix
if (ANDROID)
set(BUILD_SHARED_LIBS ON)
else()
set(BUILD_SHARED_LIBS OFF)
endif()
AddJsonPackage(ffmpeg-ci)
set(FFmpeg_INCLUDE_DIR

View file

@ -1,8 +1,8 @@
{
"ffmpeg": {
"repo": "FFmpeg/FFmpeg",
"sha": "c2184b65d2",
"hash": "007b1ccdd4d3ea3324835258d9a255103253bd66edb442b12d9c60dca85149cad52136a3b3120e5094115b6a3d9e80eeacbf9c07e5ffafc9ac459614d5fa3b22",
"sha": "ddf443f1e9",
"hash": "ded1c313843f23805102565bd3ca92602fb9c2951e059ca5e1a486ab3ef7d589acccf3cde05c5ff0cfc5199c3a261dccb4d2a93254e585824850696fb41a292e",
"bundled": true
},
"ffmpeg-ci": {
@ -10,7 +10,7 @@
"package": "FFmpeg",
"name": "ffmpeg",
"repo": "crueter-ci/FFmpeg",
"version": "8.0-be99d2c0b2",
"version": "8.0-ddf443f1e9",
"min_version": "4.1"
}
}