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

ffmpeg_4.4.2
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
- sudo dpkg -i $HOME/nasm_2.14.02-1_amd64.deb
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}
done
# ABIs to build FFmpeg for.
# x86 is the first, because it is likely to have Text Relocations.
# 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[@]}
# Main build loop
for ABI in ${FFMPEG_ABIS_TO_BUILD[@]}
do
# Exporting variables for the current 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
# For x86 and x86_64 ABIs it needs yasm
# For armeabi-v7a and arm64-v8a is is ok to use GNU assembler
# When ANDROID_ABI is x86 or _86_64,
# For armeabi-v7a and arm64-v8a it is ok to use GNU assembler
# 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)
if(DEFINED CMAKE_ASM_NASM_COMPILER)
set(AS_EXECUTABLE ${CMAKE_ASM_NASM_COMPILER})

@ -6,8 +6,8 @@
# 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.
AOM_VERSION=v1.0.0-2780-ge1ec46ae2
AOM_HASH=e1ec46ae24bb406057c3c256e69cd359b342a8d3
AOM_VERSION=v1.0.0-errata1-avif
AOM_HASH=4eb1e7795b9700d532af38a2d9489458a8038233
echo "Using libaom $AOM_VERSION"
AOM_SOURCES=libaom-${AOM_VERSION}

@ -3,18 +3,40 @@
# This script parses arguments that were passed to ffmpeg-android-maker.sh
# and exports a bunch of varables that are used elsewhere.
# Local variables with default values. Can be overridden with specific arguments
# See the end of this file for more description
EXTERNAL_LIBRARIES=()
# Local variables with default values (except ABIS_TO_BUILD).
# Can be overridden with specific arguments.
# See the end of this file for more description.
ABIS_TO_BUILD=()
API_LEVEL=16
SOURCE_TYPE=TAR
SOURCE_VALUE=4.2.2
API_LEVEL=16
EXTERNAL_LIBRARIES=()
for argument in "$@"
do
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.
--android-api-level=*)
--android-api-level=*|-android=*)
API_LEVEL="${argument#*=}"
shift
;;
@ -37,19 +59,19 @@ do
shift
;;
# Arguments below enable certain external libraries to build into FFmpeg
--enable-libaom)
--enable-libaom|-aom)
EXTERNAL_LIBRARIES+=( "libaom" )
shift
;;
--enable-libdav1d)
--enable-libdav1d|-dav1d)
EXTERNAL_LIBRARIES+=( "libdav1d" )
shift
;;
--enable-libmp3lame)
--enable-libmp3lame|-mp3lame)
EXTERNAL_LIBRARIES+=( "libmp3lame" )
shift
;;
--enable-libopus)
--enable-libopus|-opus)
EXTERNAL_LIBRARIES+=( "libopus" )
shift
;;
@ -59,11 +81,20 @@ do
esac
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
export FFMPEG_SOURCE_TYPE=$SOURCE_TYPE
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
export FFMPEG_EXTERNAL_LIBRARIES=${EXTERNAL_LIBRARIES[@]}

Loading…
Cancel
Save