[ffmpeg] add android support (#29092)

* [ffmpeg] add android support

* [ffmpeg] bump port version
This commit is contained in:
Paweł Wegner 2023-01-24 01:52:20 +01:00 committed by GitHub
parent 50805d6ece
commit 47a020d619
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 23 additions and 10 deletions

View File

@ -48,14 +48,22 @@ endif()
set(OPTIONS "--enable-pic --disable-doc --enable-debug --enable-runtime-cpudetect --disable-autodetect")
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
set(OPTIONS "${OPTIONS} --disable-asm --disable-x86asm")
endif()
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(OPTIONS "${OPTIONS} --enable-asm --disable-x86asm")
endif()
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(OPTIONS "${OPTIONS} --enable-asm --enable-x86asm")
if(VCPKG_TARGET_IS_ANDROID)
# Disable asm and x86asm on all android targets because they trigger build failures:
# arm64 Android build fails with 'relocation R_AARCH64_ADR_PREL_PG_HI21 cannot be used against symbol ff_cos_32; recompile with -fPIC'
# x86 Android build fails with 'error: inline assembly requires more registers than available'.
# x64 Android build fails with 'relocation R_X86_64_PC32 cannot be used against symbol ff_h264_cabac_tables; recompile with -fPIC'
set(OPTIONS "${OPTIONS} --disable-asm --disable-x86asm")
else()
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
set(OPTIONS "${OPTIONS} --disable-asm --disable-x86asm")
endif()
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
set(OPTIONS "${OPTIONS} --enable-asm --disable-x86asm")
endif()
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
set(OPTIONS "${OPTIONS} --enable-asm --enable-x86asm")
endif()
endif()
if(VCPKG_TARGET_IS_WINDOWS)

View File

@ -1,7 +1,7 @@
{
"name": "ffmpeg",
"version": "5.0.2",
"port-version": 2,
"port-version": 3,
"description": [
"a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.",
"FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations."

View File

@ -2346,7 +2346,7 @@
},
"ffmpeg": {
"baseline": "5.0.2",
"port-version": 2
"port-version": 3
},
"ffnvcodec": {
"baseline": "11.1.5.0",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "d4da48cc8448d8b126b8558bf6ddf5f2a380bf51",
"version": "5.0.2",
"port-version": 3
},
{
"git-tree": "02b374be0e9ee8609f53d8247a74653805f82f98",
"version": "5.0.2",