Merge branch 'WAT-51-New-external-libraries-Audio' into WAT-53-libopus

pull/53/head
Javernaut 5 years ago
commit 3d18da472c
  1. 2
      .travis.yml
  2. 8
      ffmpeg-android-maker.sh
  3. 4
      scripts/libaom/android.cmake
  4. 4
      scripts/libaom/download.sh
  5. 51
      scripts/parse-arguments.sh

@ -17,4 +17,4 @@ install:
- curl http://archive.ubuntu.com/ubuntu/pool/universe/n/nasm/nasm_2.14.02-1_amd64.deb --output $HOME/nasm_2.14.02-1_amd64.deb - curl http://archive.ubuntu.com/ubuntu/pool/universe/n/nasm/nasm_2.14.02-1_amd64.deb --output $HOME/nasm_2.14.02-1_amd64.deb
- sudo dpkg -i $HOME/nasm_2.14.02-1_amd64.deb - sudo dpkg -i $HOME/nasm_2.14.02-1_amd64.deb
script: script:
- bash -e ffmpeg-android-maker.sh --enable-libdav1d --enable-libmp3lame --enable-libaom --enable-libopus --android-api-level=18 - bash -e ffmpeg-android-maker.sh -dav1d -mp3lame -aom -opus -android=18

@ -97,12 +97,8 @@ do
cd ${BASE_DIR} cd ${BASE_DIR}
done done
# ABIs to build FFmpeg for. # Main build loop
# x86 is the first, because it is likely to have Text Relocations. for ABI in ${FFMPEG_ABIS_TO_BUILD[@]}
# In this case the rest ABIs will not be assembled at all.
ABIS_TO_BUILD=( "x86" "x86_64" "armeabi-v7a" "arm64-v8a" )
for ABI in ${ABIS_TO_BUILD[@]}
do do
# Exporting variables for the current ABI # Exporting variables for the current ABI
source ${SCRIPTS_DIR}/export-build-variables.sh ${ABI} source ${SCRIPTS_DIR}/export-build-variables.sh ${ABI}

@ -10,8 +10,8 @@ include("$ENV{ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake")
# AS_EXECUTABLE (AV1 Codec Library's variable) should point to an assembler # AS_EXECUTABLE (AV1 Codec Library's variable) should point to an assembler
# For x86 and x86_64 ABIs it needs yasm # For x86 and x86_64 ABIs it needs yasm
# For armeabi-v7a and arm64-v8a is is ok to use GNU assembler # For armeabi-v7a and arm64-v8a it is ok to use GNU assembler
# When ANDROID_ABI is x86 or _86_64, # When ANDROID_ABI is x86 or x86_64,
# then CMAKE_ASM_NASM_COMPILER variable will point to the yasm compiler (it is set by android.toolchain.cmake) # then CMAKE_ASM_NASM_COMPILER variable will point to the yasm compiler (it is set by android.toolchain.cmake)
if(DEFINED CMAKE_ASM_NASM_COMPILER) if(DEFINED CMAKE_ASM_NASM_COMPILER)
set(AS_EXECUTABLE ${CMAKE_ASM_NASM_COMPILER}) set(AS_EXECUTABLE ${CMAKE_ASM_NASM_COMPILER})

@ -6,8 +6,8 @@
# This 2 variables have to be changed at once. # This 2 variables have to be changed at once.
# The first one is produced by 'git describe' command while being in the commit represented by the second one. # The first one is produced by 'git describe' command while being in the commit represented by the second one.
AOM_VERSION=v1.0.0-2780-ge1ec46ae2 AOM_VERSION=v1.0.0-errata1-avif
AOM_HASH=e1ec46ae24bb406057c3c256e69cd359b342a8d3 AOM_HASH=4eb1e7795b9700d532af38a2d9489458a8038233
echo "Using libaom $AOM_VERSION" echo "Using libaom $AOM_VERSION"
AOM_SOURCES=libaom-${AOM_VERSION} AOM_SOURCES=libaom-${AOM_VERSION}

@ -3,18 +3,40 @@
# This script parses arguments that were passed to ffmpeg-android-maker.sh # This script parses arguments that were passed to ffmpeg-android-maker.sh
# and exports a bunch of varables that are used elsewhere. # and exports a bunch of varables that are used elsewhere.
# Local variables with default values. Can be overridden with specific arguments # Local variables with default values (except ABIS_TO_BUILD).
# See the end of this file for more description # Can be overridden with specific arguments.
EXTERNAL_LIBRARIES=() # See the end of this file for more description.
ABIS_TO_BUILD=()
API_LEVEL=16
SOURCE_TYPE=TAR SOURCE_TYPE=TAR
SOURCE_VALUE=4.2.2 SOURCE_VALUE=4.2.2
API_LEVEL=16 EXTERNAL_LIBRARIES=()
for argument in "$@" for argument in "$@"
do do
case $argument in case $argument in
# Build for only specified ABIs (separated by comma)
--target-abis=*|-abis=*)
IFS=',' read -ra ABIS <<< "${argument#*=}"
for abi in "${ABIS[@]}"; do
case $abi in
x86|x86_64|armeabi-v7a|arm64-v8a)
ABIS_TO_BUILD+=( "$abi" )
;;
arm)
ABIS_TO_BUILD+=( "armeabi-v7a" )
;;
arm64)
ABIS_TO_BUILD+=( "arm64-v8a" )
;;
*)
echo "Unknown ABI: $abi"
;;
esac
done
;;
# Use this value as Android platform version during compilation. # Use this value as Android platform version during compilation.
--android-api-level=*) --android-api-level=*|-android=*)
API_LEVEL="${argument#*=}" API_LEVEL="${argument#*=}"
shift shift
;; ;;
@ -37,19 +59,19 @@ do
shift shift
;; ;;
# Arguments below enable certain external libraries to build into FFmpeg # Arguments below enable certain external libraries to build into FFmpeg
--enable-libaom) --enable-libaom|-aom)
EXTERNAL_LIBRARIES+=( "libaom" ) EXTERNAL_LIBRARIES+=( "libaom" )
shift shift
;; ;;
--enable-libdav1d) --enable-libdav1d|-dav1d)
EXTERNAL_LIBRARIES+=( "libdav1d" ) EXTERNAL_LIBRARIES+=( "libdav1d" )
shift shift
;; ;;
--enable-libmp3lame) --enable-libmp3lame|-mp3lame)
EXTERNAL_LIBRARIES+=( "libmp3lame" ) EXTERNAL_LIBRARIES+=( "libmp3lame" )
shift shift
;; ;;
--enable-libopus) --enable-libopus|-opus)
EXTERNAL_LIBRARIES+=( "libopus" ) EXTERNAL_LIBRARIES+=( "libopus" )
shift shift
;; ;;
@ -59,11 +81,20 @@ do
esac esac
done done
# if ABIS_TO_BUILD list is empty, then fill it with all supported ABIs
# The x86 is the first, because it is more likely to have Text Relocations.
# In this case the rest ABIs will not be assembled at all.
if [ ${#ABIS_TO_BUILD[@]} -eq 0 ]; then
ABIS_TO_BUILD=( "x86" "x86_64" "armeabi-v7a" "arm64-v8a" )
fi
# The FFmpeg will be build for ABIs in this list
export FFMPEG_ABIS_TO_BUILD=${ABIS_TO_BUILD[@]}
# Saving the information FFmpeg's source code downloading # Saving the information FFmpeg's source code downloading
export FFMPEG_SOURCE_TYPE=$SOURCE_TYPE export FFMPEG_SOURCE_TYPE=$SOURCE_TYPE
export FFMPEG_SOURCE_VALUE=$SOURCE_VALUE export FFMPEG_SOURCE_VALUE=$SOURCE_VALUE
# A list of external libraries to build into the FFMpeg # A list of external libraries to build into the FFmpeg
# Elements from this list are used for strings substitution # Elements from this list are used for strings substitution
export FFMPEG_EXTERNAL_LIBRARIES=${EXTERNAL_LIBRARIES[@]} export FFMPEG_EXTERNAL_LIBRARIES=${EXTERNAL_LIBRARIES[@]}

Loading…
Cancel
Save