123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- From: csagan5 <32685696+csagan5@users.noreply.github.com>
- Date: Sun, 16 Dec 2018 15:24:19 +0100
- Subject: AV1 codec support
- libaom build fixes (requires -fPIC)
- Report AV1 as playable on Android
- ---
- media/base/mime_util_internal.cc | 6 +++++-
- third_party/libaom/BUILD.gn | 6 ++++--
- third_party/libaom/libaom_srcs.gni | 5 +++++
- .../config/linux/arm-neon-cpu-detect/config/aom_config.asm | 2 +-
- .../config/linux/arm-neon-cpu-detect/config/aom_config.h | 2 +-
- .../source/config/linux/arm-neon/config/aom_config.asm | 2 +-
- .../libaom/source/config/linux/arm-neon/config/aom_config.h | 2 +-
- .../libaom/source/config/linux/arm/config/aom_config.asm | 2 +-
- .../libaom/source/config/linux/arm/config/aom_config.h | 2 +-
- .../libaom/source/config/linux/arm64/config/aom_config.asm | 2 +-
- .../libaom/source/config/linux/arm64/config/aom_config.h | 2 +-
- .../source/config/linux/generic/config/aom_config.asm | 2 +-
- .../libaom/source/config/linux/generic/config/aom_config.h | 2 +-
- .../libaom/source/config/linux/x64/config/aom_config.asm | 2 +-
- .../libaom/source/config/linux/x64/config/aom_config.h | 2 +-
- 15 files changed, 26 insertions(+), 15 deletions(-)
- diff --git a/media/base/mime_util_internal.cc b/media/base/mime_util_internal.cc
- --- a/media/base/mime_util_internal.cc
- +++ b/media/base/mime_util_internal.cc
- @@ -562,9 +562,13 @@ bool MimeUtil::IsCodecSupportedOnAndroid(
- case THEORA:
- return false;
-
- - // AV1 is not supported on Android yet.
- + // AV1 is supported on Android.
- case AV1:
- +#if BUILDFLAG(ENABLE_AV1_DECODER)
- + return true;
- +#else
- return false;
- +#endif
-
- // ----------------------------------------------------------------------
- // The remaining codecs may be supported depending on platform abilities.
- diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
- --- a/third_party/libaom/BUILD.gn
- +++ b/third_party/libaom/BUILD.gn
- @@ -74,7 +74,7 @@ if (enable_libaom_decoder) {
- sources = aom_dsp_common_asm_sse2
- sources += aom_dsp_common_asm_ssse3
- sources += aom_ports_asm_x86
- - defines = [ "CHROMIUM" ]
- + defines = [ "CHROMIUM", "PIC" ]
- include_dirs = libaom_include_dirs
- }
-
- @@ -158,7 +158,7 @@ if (enable_libaom_decoder) {
- configs += [ "//build/config/compiler:no_chromium_code" ]
- if (current_cpu == "arm") {
- configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
- - cflags = [ "-mfpu=neon" ]
- + cflags = [ "-mfpu=neon", "-fPIC" ]
- }
- configs += [ ":libaom_config" ]
-
- @@ -202,6 +202,8 @@ if (enable_libaom_decoder) {
- if (current_cpu == "arm64" || cpu_arch_full == "arm-neon" ||
- cpu_arch_full == "arm-neon-cpu-detect") {
- deps += [ ":libaom_intrinsics_neon" ]
- + # will detect CPU
- + sources += aom_ports_arm_sources
- }
- if (is_android) {
- deps += [ "//third_party/android_ndk:cpu_features" ]
- diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs.gni
- --- a/third_party/libaom/libaom_srcs.gni
- +++ b/third_party/libaom/libaom_srcs.gni
- @@ -488,6 +488,11 @@ aom_mem_sources = [
-
- aom_ports_asm_x86 = [ "//third_party/libaom/source/libaom/aom_ports/emms.asm" ]
-
- +aom_ports_arm_sources = [
- + "//third_party/libaom/source/libaom/aom_ports/arm_cpudetect.c",
- + "//third_party/libaom/source/libaom/aom_ports/arm.h",
- + ]
- +
- aom_rtcd_sources = [
- "//third_party/libaom/source/libaom/aom_dsp/aom_dsp_rtcd.c",
- "//third_party/libaom/source/libaom/aom_dsp/aom_dsp_rtcd_defs.pl",
- diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
- --- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
- +++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
- @@ -45,7 +45,7 @@ CONFIG_MULTITHREAD equ 1
- CONFIG_NORMAL_TILE_MODE equ 1
- CONFIG_ONE_PASS_SVM equ 0
- CONFIG_OS_SUPPORT equ 1
- -CONFIG_PIC equ 0
- +CONFIG_PIC equ 1
- CONFIG_RD_DEBUG equ 0
- CONFIG_RUNTIME_CPU_DETECT equ 1
- CONFIG_SHARED equ 0
- diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
- --- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
- +++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
- @@ -47,7 +47,7 @@
- #define CONFIG_NORMAL_TILE_MODE 1
- #define CONFIG_ONE_PASS_SVM 0
- #define CONFIG_OS_SUPPORT 1
- -#define CONFIG_PIC 0
- +#define CONFIG_PIC 1
- #define CONFIG_RD_DEBUG 0
- #define CONFIG_RUNTIME_CPU_DETECT 1
- #define CONFIG_SHARED 0
- diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
- --- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
- +++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
- @@ -45,7 +45,7 @@ CONFIG_MULTITHREAD equ 1
- CONFIG_NORMAL_TILE_MODE equ 1
- CONFIG_ONE_PASS_SVM equ 0
- CONFIG_OS_SUPPORT equ 1
- -CONFIG_PIC equ 0
- +CONFIG_PIC equ 1
- CONFIG_RD_DEBUG equ 0
- CONFIG_RUNTIME_CPU_DETECT equ 0
- CONFIG_SHARED equ 0
- diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
- --- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
- +++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
- @@ -47,7 +47,7 @@
- #define CONFIG_NORMAL_TILE_MODE 1
- #define CONFIG_ONE_PASS_SVM 0
- #define CONFIG_OS_SUPPORT 1
- -#define CONFIG_PIC 0
- +#define CONFIG_PIC 1
- #define CONFIG_RD_DEBUG 0
- #define CONFIG_RUNTIME_CPU_DETECT 0
- #define CONFIG_SHARED 0
- diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.asm b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
- --- a/third_party/libaom/source/config/linux/arm/config/aom_config.asm
- +++ b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
- @@ -45,7 +45,7 @@ CONFIG_MULTITHREAD equ 1
- CONFIG_NORMAL_TILE_MODE equ 1
- CONFIG_ONE_PASS_SVM equ 0
- CONFIG_OS_SUPPORT equ 1
- -CONFIG_PIC equ 0
- +CONFIG_PIC equ 1
- CONFIG_RD_DEBUG equ 0
- CONFIG_RUNTIME_CPU_DETECT equ 0
- CONFIG_SHARED equ 0
- diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.h b/third_party/libaom/source/config/linux/arm/config/aom_config.h
- --- a/third_party/libaom/source/config/linux/arm/config/aom_config.h
- +++ b/third_party/libaom/source/config/linux/arm/config/aom_config.h
- @@ -47,7 +47,7 @@
- #define CONFIG_NORMAL_TILE_MODE 1
- #define CONFIG_ONE_PASS_SVM 0
- #define CONFIG_OS_SUPPORT 1
- -#define CONFIG_PIC 0
- +#define CONFIG_PIC 1
- #define CONFIG_RD_DEBUG 0
- #define CONFIG_RUNTIME_CPU_DETECT 0
- #define CONFIG_SHARED 0
- diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
- --- a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
- +++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
- @@ -45,7 +45,7 @@ CONFIG_MULTITHREAD equ 1
- CONFIG_NORMAL_TILE_MODE equ 1
- CONFIG_ONE_PASS_SVM equ 0
- CONFIG_OS_SUPPORT equ 1
- -CONFIG_PIC equ 0
- +CONFIG_PIC equ 1
- CONFIG_RD_DEBUG equ 0
- CONFIG_RUNTIME_CPU_DETECT equ 0
- CONFIG_SHARED equ 0
- diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.h b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
- --- a/third_party/libaom/source/config/linux/arm64/config/aom_config.h
- +++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
- @@ -47,7 +47,7 @@
- #define CONFIG_NORMAL_TILE_MODE 1
- #define CONFIG_ONE_PASS_SVM 0
- #define CONFIG_OS_SUPPORT 1
- -#define CONFIG_PIC 0
- +#define CONFIG_PIC 1
- #define CONFIG_RD_DEBUG 0
- #define CONFIG_RUNTIME_CPU_DETECT 0
- #define CONFIG_SHARED 0
- diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.asm b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
- --- a/third_party/libaom/source/config/linux/generic/config/aom_config.asm
- +++ b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
- @@ -45,7 +45,7 @@ CONFIG_MULTITHREAD equ 1
- CONFIG_NORMAL_TILE_MODE equ 1
- CONFIG_ONE_PASS_SVM equ 0
- CONFIG_OS_SUPPORT equ 1
- -CONFIG_PIC equ 0
- +CONFIG_PIC equ 1
- CONFIG_RD_DEBUG equ 0
- CONFIG_RUNTIME_CPU_DETECT equ 1
- CONFIG_SHARED equ 0
- diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.h b/third_party/libaom/source/config/linux/generic/config/aom_config.h
- --- a/third_party/libaom/source/config/linux/generic/config/aom_config.h
- +++ b/third_party/libaom/source/config/linux/generic/config/aom_config.h
- @@ -47,7 +47,7 @@
- #define CONFIG_NORMAL_TILE_MODE 1
- #define CONFIG_ONE_PASS_SVM 0
- #define CONFIG_OS_SUPPORT 1
- -#define CONFIG_PIC 0
- +#define CONFIG_PIC 1
- #define CONFIG_RD_DEBUG 0
- #define CONFIG_RUNTIME_CPU_DETECT 1
- #define CONFIG_SHARED 0
- diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.asm b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
- --- a/third_party/libaom/source/config/linux/x64/config/aom_config.asm
- +++ b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
- @@ -35,7 +35,7 @@
- %define CONFIG_NORMAL_TILE_MODE 1
- %define CONFIG_ONE_PASS_SVM 0
- %define CONFIG_OS_SUPPORT 1
- -%define CONFIG_PIC 0
- +%define CONFIG_PIC 1
- %define CONFIG_RD_DEBUG 0
- %define CONFIG_RUNTIME_CPU_DETECT 1
- %define CONFIG_SHARED 0
- diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/third_party/libaom/source/config/linux/x64/config/aom_config.h
- --- a/third_party/libaom/source/config/linux/x64/config/aom_config.h
- +++ b/third_party/libaom/source/config/linux/x64/config/aom_config.h
- @@ -47,7 +47,7 @@
- #define CONFIG_NORMAL_TILE_MODE 1
- #define CONFIG_ONE_PASS_SVM 0
- #define CONFIG_OS_SUPPORT 1
- -#define CONFIG_PIC 0
- +#define CONFIG_PIC 1
- #define CONFIG_RD_DEBUG 0
- #define CONFIG_RUNTIME_CPU_DETECT 1
- #define CONFIG_SHARED 0
- --
- 2.17.1
|