diff options
Diffstat (limited to 'third_party/aom/build/cmake/aom_config_defaults.cmake')
-rw-r--r-- | third_party/aom/build/cmake/aom_config_defaults.cmake | 248 |
1 files changed, 174 insertions, 74 deletions
diff --git a/third_party/aom/build/cmake/aom_config_defaults.cmake b/third_party/aom/build/cmake/aom_config_defaults.cmake index 19af5c43b..a07438cfe 100644 --- a/third_party/aom/build/cmake/aom_config_defaults.cmake +++ b/third_party/aom/build/cmake/aom_config_defaults.cmake @@ -7,90 +7,190 @@ # at www.aomedia.org/license/software. If the Alliance for Open Media Patent # License 1.0 was not distributed with this source code in the PATENTS file, you # can obtain it at www.aomedia.org/license/patent. + +include("${AOM_ROOT}/build/cmake/util.cmake") + +# This file sets default values for libaom configuration variables. All libaom +# config variables are added to the CMake variable cache via the macros provided +# in util.cmake. + # -# Defaults for every libaom configuration variable. Here we add all libaom -# config variables to the cmake variable cache, but omit the FORCE parameter to -# allow users to specify values when executing cmake to generate build files. -# Values here are used only if not set by the user. -set(INLINE "" CACHE STRING "Sets INLINE value for current target.") +# The variables in this section of the file are detected at configuration time, +# but can be overridden via the use of CONFIG_* and ENABLE_* values also defined +# in this file. +# + +set_aom_detect_var(INLINE "" STRING "Sets INLINE value for current target.") # CPUs. -set(ARCH_ARM 0 CACHE NUMBER "Enables ARM architecture.") -set(ARCH_MIPS 0 CACHE NUMBER "Enables MIPS architecture.") -set(ARCH_PPC 0 CACHE NUMBER "Enables PPC architecture.") -set(ARCH_X86 0 CACHE NUMBER "Enables X86 architecture.") -set(ARCH_X86_64 0 CACHE NUMBER "Enables X86_64 architecture.") - -# ARM optimization flags. -set(HAVE_NEON 0 CACHE NUMBER "Enables NEON intrinsics optimizations.") - -# MIPS optimization flags. -set(HAVE_DSPR2 0 CACHE NUMBER "Enables DSPR2 optimizations.") -set(HAVE_MIPS32 0 CACHE NUMBER "Enables MIPS32 optimizations.") -set(HAVE_MIPS64 0 CACHE NUMBER "Enables MIPS64 optimizations. ") -set(HAVE_MSA 0 CACHE NUMBER "Enables MSA optimizations.") - -# PPC optimization flags. -set(HAVE_VSX 0 CACHE NUMBER "Enables VSX optimizations.") - -# x86/x86_64 optimization flags. -set(HAVE_AVX 0 CACHE NUMBER "Enables AVX optimizations.") -set(HAVE_AVX2 0 CACHE NUMBER "Enables AVX2 optimizations.") -set(HAVE_MMX 0 CACHE NUMBER "Enables MMX optimizations. ") -set(HAVE_SSE 0 CACHE NUMBER "Enables SSE optimizations.") -set(HAVE_SSE2 0 CACHE NUMBER "Enables SSE2 optimizations.") -set(HAVE_SSE3 0 CACHE NUMBER "Enables SSE3 optimizations.") -set(HAVE_SSE4_1 0 CACHE NUMBER "Enables SSE 4.1 optimizations.") -set(HAVE_SSE4_2 0 CACHE NUMBER "Enables SSE 4.2 optimizations.") -set(HAVE_SSSE3 0 CACHE NUMBER "Enables SSSE3 optimizations.") +set_aom_detect_var(ARCH_ARM 0 NUMBER "Enables ARM architecture.") +set_aom_detect_var(ARCH_MIPS 0 NUMBER "Enables MIPS architecture.") +set_aom_detect_var(ARCH_PPC 0 NUMBER "Enables PPC architecture.") +set_aom_detect_var(ARCH_X86 0 NUMBER "Enables X86 architecture.") +set_aom_detect_var(ARCH_X86_64 0 NUMBER "Enables X86_64 architecture.") + +# ARM feature flags. +set_aom_detect_var(HAVE_NEON 0 NUMBER "Enables NEON intrinsics optimizations.") + +# MIPS feature flags. +set_aom_detect_var(HAVE_DSPR2 0 NUMBER "Enables DSPR2 optimizations.") +set_aom_detect_var(HAVE_MIPS32 0 NUMBER "Enables MIPS32 optimizations.") +set_aom_detect_var(HAVE_MIPS64 0 NUMBER "Enables MIPS64 optimizations. ") +set_aom_detect_var(HAVE_MSA 0 NUMBER "Enables MSA optimizations.") + +# PPC feature flags. +set_aom_detect_var(HAVE_VSX 0 NUMBER "Enables VSX optimizations.") + +# x86/x86_64 feature flags. +set_aom_detect_var(HAVE_AVX 0 NUMBER "Enables AVX optimizations.") +set_aom_detect_var(HAVE_AVX2 0 NUMBER "Enables AVX2 optimizations.") +set_aom_detect_var(HAVE_MMX 0 NUMBER "Enables MMX optimizations. ") +set_aom_detect_var(HAVE_SSE 0 NUMBER "Enables SSE optimizations.") +set_aom_detect_var(HAVE_SSE2 0 NUMBER "Enables SSE2 optimizations.") +set_aom_detect_var(HAVE_SSE3 0 NUMBER "Enables SSE3 optimizations.") +set_aom_detect_var(HAVE_SSE4_1 0 NUMBER "Enables SSE 4.1 optimizations.") +set_aom_detect_var(HAVE_SSE4_2 0 NUMBER "Enables SSE 4.2 optimizations.") +set_aom_detect_var(HAVE_SSSE3 0 NUMBER "Enables SSSE3 optimizations.") # Flags describing the build environment. -set(HAVE_FEXCEPT 0 CACHE NUMBER "Internal flag, GNU fenv.h present for target.") -set(HAVE_PTHREAD_H 0 CACHE NUMBER "Internal flag, target pthread support.") -set(HAVE_UNISTD_H 0 CACHE NUMBER "Internal flag, unistd.h present for target.") -set(HAVE_WXWIDGETS 0 CACHE NUMBER "WxWidgets present.") +set_aom_detect_var(HAVE_FEXCEPT 0 NUMBER + "Internal flag, GNU fenv.h present for target.") +set_aom_detect_var(HAVE_PTHREAD_H 0 NUMBER + "Internal flag, target pthread support.") +set_aom_detect_var(HAVE_UNISTD_H 0 NUMBER + "Internal flag, unistd.h present for target.") +set_aom_detect_var(HAVE_WXWIDGETS 0 NUMBER "WxWidgets present.") + +# +# Variables in this section can be set from the CMake command line or from +# within the CMake GUI. The variables control libaom features. +# # Build configuration flags. -set(CONFIG_AV1_DECODER 1 CACHE NUMBER "Enable AV1 decoder.") -set(CONFIG_AV1_ENCODER 1 CACHE NUMBER "Enable AV1 encoder.") -set(CONFIG_BIG_ENDIAN 0 CACHE NUMBER "Internal flag.") -set(CONFIG_GCC 0 CACHE NUMBER "Building with GCC (detected).") -set(CONFIG_GCOV 0 CACHE NUMBER "Enable gcov support.") -set(CONFIG_GPROF 0 CACHE NUMBER "Enable gprof support.") -set(CONFIG_LIBYUV 1 CACHE NUMBER "Enables libyuv scaling/conversion support.") -set(CONFIG_MSVS 0 CACHE NUMBER "Building with MS Visual Studio (detected).") -set(CONFIG_MULTITHREAD 1 CACHE NUMBER "Multithread support.") -set(CONFIG_OS_SUPPORT 0 CACHE NUMBER "Internal flag.") -set(CONFIG_PIC 0 CACHE NUMBER "Build with PIC enabled.") -set(CONFIG_RUNTIME_CPU_DETECT 1 CACHE NUMBER "Runtime CPU detection support.") -set(CONFIG_SHARED 0 CACHE NUMBER "Build shared libs.") -set(CONFIG_STATIC 1 CACHE NUMBER "Build static libs.") -set(CONFIG_WEBM_IO 1 CACHE NUMBER "Enables WebM support.") +set_aom_config_var(AOM_RTCD_FLAGS "" STRING + "Arguments to pass to rtcd.pl. Separate with ';'") +set_aom_config_var(CONFIG_AV1_DECODER 1 NUMBER "Enable AV1 decoder.") +set_aom_config_var(CONFIG_AV1_ENCODER 1 NUMBER "Enable AV1 encoder.") +set_aom_config_var(CONFIG_BIG_ENDIAN 0 NUMBER "Internal flag.") +set_aom_config_var(CONFIG_GCC 0 NUMBER "Building with GCC (detect).") +set_aom_config_var(CONFIG_GCOV 0 NUMBER "Enable gcov support.") +set_aom_config_var(CONFIG_GPROF 0 NUMBER "Enable gprof support.") +set_aom_config_var(CONFIG_LIBYUV 1 NUMBER + "Enables libyuv scaling/conversion support.") + +set_aom_config_var(CONFIG_MULTITHREAD 1 NUMBER "Multithread support.") +set_aom_config_var(CONFIG_OS_SUPPORT 0 NUMBER "Internal flag.") +set_aom_config_var(CONFIG_PIC 0 NUMBER "Build with PIC enabled.") +set_aom_config_var(CONFIG_RUNTIME_CPU_DETECT 1 NUMBER + "Runtime CPU detection support.") +set_aom_config_var(CONFIG_SHARED 0 NUMBER "Build shared libs.") +set_aom_config_var(CONFIG_STATIC 1 NUMBER "Build static libs.") +set_aom_config_var(CONFIG_WEBM_IO 1 NUMBER "Enables WebM support.") # Debugging flags. -set(CONFIG_BITSTREAM_DEBUG 0 CACHE NUMBER "Bitstream debugging flag.") -set(CONFIG_DEBUG 0 CACHE NUMBER "Debug build flag.") -set(CONFIG_MISMATCH_DEBUG 0 CACHE NUMBER "Mismatch debugging flag.") +set_aom_config_var(CONFIG_BITSTREAM_DEBUG 0 NUMBER "Bitstream debugging flag.") +set_aom_config_var(CONFIG_DEBUG 0 NUMBER "Debug build flag.") +set_aom_config_var(CONFIG_MISMATCH_DEBUG 0 NUMBER "Mismatch debugging flag.") # AV1 feature flags. -set(CONFIG_ACCOUNTING 0 CACHE NUMBER "Enables bit accounting.") -set(CONFIG_ANALYZER 0 CACHE NUMBER "Enables bit stream analyzer.") -set(CONFIG_COEFFICIENT_RANGE_CHECKING 0 CACHE NUMBER "Coefficient range check.") -set(CONFIG_DENOISE 0 CACHE NUMBER "Denoise/noise modeling support in encoder.") -set(CONFIG_FILEOPTIONS 1 CACHE NUMBER "Enables encoder config file support.") -set(CONFIG_INSPECTION 0 CACHE NUMBER "Enables bitstream inspection.") -set(CONFIG_INTERNAL_STATS 0 CACHE NUMBER "Enables internal encoder stats.") -set(CONFIG_LOWBITDEPTH 0 CACHE NUMBER "Enables 8-bit optimized pipeline.") -set(CONFIG_SIZE_LIMIT 0 CACHE NUMBER "Limit max decode width/height.") -set(CONFIG_SPATIAL_RESAMPLING 1 CACHE NUMBER "Spatial resampling.") -set(DECODE_HEIGHT_LIMIT 0 CACHE NUMBER "Set limit for decode height.") -set(DECODE_WIDTH_LIMIT 0 CACHE NUMBER "Set limit for decode width.") +set_aom_config_var(CONFIG_ACCOUNTING 0 NUMBER "Enables bit accounting.") +set_aom_config_var(CONFIG_ANALYZER 0 NUMBER "Enables bit stream analyzer.") +set_aom_config_var(CONFIG_COEFFICIENT_RANGE_CHECKING 0 NUMBER + "Coefficient range check.") +set_aom_config_var(CONFIG_DENOISE 1 NUMBER + "Denoise/noise modeling support in encoder.") +set_aom_config_var(CONFIG_FILEOPTIONS 1 NUMBER + "Enables encoder config file support.") +set_aom_config_var(CONFIG_FIX_GF_LENGTH 1 NUMBER + "Fix the GF length if possible") +set_aom_config_var(CONFIG_INSPECTION 0 NUMBER "Enables bitstream inspection.") +set_aom_config_var(CONFIG_INTERNAL_STATS 0 NUMBER + "Enables internal encoder stats.") +set_aom_config_var(CONFIG_LOWBITDEPTH 0 NUMBER + "Enables 8-bit optimized pipeline.") +set_aom_config_var(CONFIG_MAX_DECODE_PROFILE 2 NUMBER + "Max profile to support decoding.") +set_aom_config_var(CONFIG_NORMAL_TILE_MODE 0 NUMBER + "Only enables normal tile mode.") +set_aom_config_var( + CONFIG_REDUCED_ENCODER_BORDER 0 NUMBER + "Enable reduced border extention for encoder. \ + Disables superres and resize support." + ) +set_aom_config_var(CONFIG_SIZE_LIMIT 0 NUMBER "Limit max decode width/height.") +set_aom_config_var(CONFIG_SPATIAL_RESAMPLING 1 NUMBER "Spatial resampling.") +set_aom_config_var(DECODE_HEIGHT_LIMIT 0 NUMBER "Set limit for decode height.") +set_aom_config_var(DECODE_WIDTH_LIMIT 0 NUMBER "Set limit for decode width.") +set_aom_config_var(CONFIG_GLOBAL_MOTION_SEARCH 1 NUMBER + "Global motion search flag.") # AV1 experiment flags. -set(CONFIG_COLLECT_INTER_MODE_RD_STATS 1 CACHE NUMBER "AV1 experiment flag.") -set(CONFIG_COLLECT_RD_STATS 0 CACHE NUMBER "AV1 experiment flag.") -set(CONFIG_DIST_8X8 1 CACHE NUMBER "AV1 experiment flag.") -set(CONFIG_ENTROPY_STATS 0 CACHE NUMBER "AV1 experiment flag.") -set(CONFIG_FP_MB_STATS 0 CACHE NUMBER "AV1 experiment flag.") -set(CONFIG_INTER_STATS_ONLY 0 CACHE NUMBER "AV1 experiment flag.") -set(CONFIG_RD_DEBUG 0 CACHE NUMBER "AV1 experiment flag.") +set_aom_config_var(CONFIG_COLLECT_INTER_MODE_RD_STATS 1 NUMBER + "AV1 experiment flag.") +set_aom_config_var(CONFIG_COLLECT_RD_STATS 0 NUMBER "AV1 experiment flag.") +set_aom_config_var(CONFIG_DIST_8X8 0 NUMBER "AV1 experiment flag.") +set_aom_config_var(CONFIG_ENTROPY_STATS 0 NUMBER "AV1 experiment flag.") +set_aom_config_var(CONFIG_FP_MB_STATS 0 NUMBER "AV1 experiment flag.") +set_aom_config_var(CONFIG_INTER_STATS_ONLY 0 NUMBER "AV1 experiment flag.") +set_aom_config_var(CONFIG_RD_DEBUG 0 NUMBER "AV1 experiment flag.") +set_aom_config_var(CONFIG_2PASS_PARTITION_SEARCH_LVL 1 NUMBER + "AV1 experiment flag.") +set_aom_config_var(CONFIG_SHARP_SETTINGS 0 NUMBER + "Use sharper encoding settings") + +# +# Variables in this section control optional features of the build system. +# +set_aom_option_var(ENABLE_CCACHE "Enable ccache support." OFF) +set_aom_option_var(ENABLE_DECODE_PERF_TESTS "Enables decoder performance tests" + OFF) +set_aom_option_var(ENABLE_DISTCC "Enable distcc support." OFF) +set_aom_option_var(ENABLE_DOCS + "Enable documentation generation (doxygen required)." ON) +set_aom_option_var(ENABLE_ENCODE_PERF_TESTS "Enables encoder performance tests" + OFF) +set_aom_option_var(ENABLE_EXAMPLES "Enables build of example code." ON) +set_aom_option_var(ENABLE_GOMA "Enable goma support." OFF) +set_aom_option_var( + ENABLE_IDE_TEST_HOSTING + "Enables running tests within IDEs like Visual Studio and Xcode." OFF) +set_aom_option_var(ENABLE_NASM "Use nasm instead of yasm for x86 assembly." OFF) +set_aom_option_var(ENABLE_TESTDATA "Enables unit test data download targets." + ON) +set_aom_option_var(ENABLE_TESTS "Enables unit tests." ON) +set_aom_option_var(ENABLE_TOOLS "Enable applications in tools sub directory." + ON) +set_aom_option_var(ENABLE_WERROR "Converts warnings to errors at compile time." + OFF) + +# ARM assembly/intrinsics flags. +set_aom_option_var(ENABLE_NEON "Enables NEON optimizations on ARM targets." ON) + +# MIPS assembly/intrinsics flags. +set_aom_option_var(ENABLE_DSPR2 "Enables DSPR2 optimizations on MIPS targets." + OFF) +set_aom_option_var(ENABLE_MSA "Enables MSA optimizations on MIPS targets." OFF) + +# VSX intrinsics flags. +set_aom_option_var(ENABLE_VSX "Enables VSX optimizations on PowerPC targets." + ON) + +# x86/x86_64 assembly/intrinsics flags. +set_aom_option_var(ENABLE_MMX + "Enables MMX optimizations on x86/x86_64 targets." ON) +set_aom_option_var(ENABLE_SSE + "Enables SSE optimizations on x86/x86_64 targets." ON) +set_aom_option_var(ENABLE_SSE2 + "Enables SSE2 optimizations on x86/x86_64 targets." ON) +set_aom_option_var(ENABLE_SSE3 + "Enables SSE3 optimizations on x86/x86_64 targets." ON) +set_aom_option_var(ENABLE_SSSE3 + "Enables SSSE3 optimizations on x86/x86_64 targets." ON) +set_aom_option_var(ENABLE_SSE4_1 + "Enables SSE4_1 optimizations on x86/x86_64 targets." ON) +set_aom_option_var(ENABLE_SSE4_2 + "Enables SSE4_2 optimizations on x86/x86_64 targets." ON) +set_aom_option_var(ENABLE_AVX + "Enables AVX optimizations on x86/x86_64 targets." ON) +set_aom_option_var(ENABLE_AVX2 + "Enables AVX2 optimizations on x86/x86_64 targets." ON) |