tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

aom_config_defaults.cmake (12515B)


      1 #
      2 # Copyright (c) 2016, Alliance for Open Media. All rights reserved.
      3 #
      4 # This source code is subject to the terms of the BSD 2 Clause License and the
      5 # Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License was
      6 # not distributed with this source code in the LICENSE file, you can obtain it
      7 # at www.aomedia.org/license/software. If the Alliance for Open Media Patent
      8 # License 1.0 was not distributed with this source code in the PATENTS file, you
      9 # can obtain it at www.aomedia.org/license/patent.
     10 
     11 include("${AOM_ROOT}/build/cmake/util.cmake")
     12 
     13 # This file sets default values for libaom configuration variables. All libaom
     14 # config variables are added to the CMake variable cache via the macros provided
     15 # in util.cmake.
     16 
     17 #
     18 # The variables in this section of the file are detected at configuration time,
     19 # but can be overridden via the use of CONFIG_* and ENABLE_* values also defined
     20 # in this file.
     21 #
     22 
     23 # CPUs.
     24 set_aom_detect_var(AOM_ARCH_AARCH64 0 "Enables AArch64 architecture.")
     25 set_aom_detect_var(AOM_ARCH_ARM 0 "Enables ARM architecture.")
     26 set_aom_detect_var(AOM_ARCH_PPC 0 "Enables PPC architecture.")
     27 set_aom_detect_var(AOM_ARCH_X86 0 "Enables X86 architecture.")
     28 set_aom_detect_var(AOM_ARCH_X86_64 0 "Enables X86_64 architecture.")
     29 set_aom_detect_var(AOM_ARCH_RISCV 0 "Enables RISC-V architecture.")
     30 
     31 # Arm/AArch64 feature flags.
     32 set_aom_detect_var(HAVE_NEON 0 "Enables Neon intrinsics optimizations.")
     33 set_aom_detect_var(HAVE_ARM_CRC32 0 "Enables Arm CRC32 optimizations.")
     34 set_aom_detect_var(HAVE_NEON_DOTPROD 0
     35                   "Enables Armv8.2-A Neon dotprod intrinsics optimizations.")
     36 set_aom_detect_var(HAVE_NEON_I8MM 0
     37                   "Enables Armv8.2-A Neon i8mm intrinsics optimizations.")
     38 set_aom_detect_var(HAVE_SVE 0 "Enables Armv8.2-A SVE intrinsics optimizations.")
     39 set_aom_detect_var(HAVE_SVE2 0 "Enables Armv9-A SVE2 intrinsics optimizations.")
     40 
     41 # PPC feature flags.
     42 set_aom_detect_var(HAVE_VSX 0 "Enables VSX optimizations.")
     43 
     44 # x86/x86_64 feature flags.
     45 set_aom_detect_var(HAVE_MMX 0 "Enables MMX optimizations. ")
     46 set_aom_detect_var(HAVE_SSE 0 "Enables SSE optimizations.")
     47 set_aom_detect_var(HAVE_SSE2 0 "Enables SSE2 optimizations.")
     48 set_aom_detect_var(HAVE_SSE3 0 "Enables SSE3 optimizations.")
     49 set_aom_detect_var(HAVE_SSSE3 0 "Enables SSSE3 optimizations.")
     50 set_aom_detect_var(HAVE_SSE4_1 0 "Enables SSE 4.1 optimizations.")
     51 set_aom_detect_var(HAVE_SSE4_2 0 "Enables SSE 4.2 optimizations.")
     52 set_aom_detect_var(HAVE_AVX 0 "Enables AVX optimizations.")
     53 set_aom_detect_var(HAVE_AVX2 0 "Enables AVX2 optimizations.")
     54 set_aom_detect_var(HAVE_AVX512 0 "Enables AVX512 optimizations.")
     55 
     56 # RISC-V64 feature flags.
     57 set_aom_detect_var(HAVE_RVV 0 "Enables RVV optimizations.")
     58 
     59 # Flags describing the build environment.
     60 set_aom_detect_var(HAVE_FEXCEPT 0
     61                   "Internal flag, GNU fenv.h present for target.")
     62 set_aom_detect_var(HAVE_PTHREAD_H 0 "Internal flag, target pthread support.")
     63 set_aom_detect_var(HAVE_UNISTD_H 0
     64                   "Internal flag, unistd.h present for target.")
     65 set_aom_detect_var(HAVE_WXWIDGETS 0 "WxWidgets present.")
     66 
     67 #
     68 # Variables in this section can be set from the CMake command line or from
     69 # within the CMake GUI. The variables control libaom features.
     70 #
     71 
     72 # Build configuration flags.
     73 set_aom_config_var(AOM_RTCD_FLAGS ""
     74                   "Arguments to pass to rtcd.pl. Separate with ';'")
     75 set_aom_config_var(CONFIG_AV1_DECODER 1 "Enable AV1 decoder.")
     76 set_aom_config_var(CONFIG_AV1_ENCODER 1 "Enable AV1 encoder.")
     77 set_aom_config_var(CONFIG_BIG_ENDIAN 0 "Internal flag.")
     78 set_aom_config_var(CONFIG_FPMT_TEST 0 "Enable FPMT testing.")
     79 set_aom_config_var(CONFIG_GCC 0 "Building with GCC (detect).")
     80 set_aom_config_var(CONFIG_GCOV 0 "Enable gcov support.")
     81 set_aom_config_var(CONFIG_GPROF 0 "Enable gprof support.")
     82 set_aom_config_var(CONFIG_LIBYUV 1 "Enables libyuv scaling/conversion support.")
     83 # Set CONFIG_SVT_AV1 to 0 to avoid the BSD 3-Clause Clear License used by the
     84 # code in third_party/SVT-AV1/.
     85 set_aom_config_var(CONFIG_SVT_AV1 1 "Enables SVT-AV1 AVX2 convolution support.")
     86 
     87 set_aom_config_var(CONFIG_AV1_HIGHBITDEPTH 1
     88                   "Build with high bitdepth support.")
     89 set_aom_config_var(CONFIG_AV1_TEMPORAL_DENOISING 0
     90                   "Build with temporal denoising support.")
     91 set_aom_config_var(CONFIG_MULTITHREAD 1 "Multithread support.")
     92 set_aom_config_var(CONFIG_OS_SUPPORT 0 "Internal flag.")
     93 set_aom_config_var(CONFIG_PIC 0 "Build with PIC enabled.")
     94 set_aom_config_var(CONFIG_QUANT_MATRIX 1
     95                   "Build with quantization matrices for AV1 encoder."
     96                   "AV1 decoder is always built with quantization matrices.")
     97 set_aom_config_var(CONFIG_REALTIME_ONLY 0
     98                   "Build for RTC-only. See aomcx.h for all disabled features.")
     99 set_aom_config_var(CONFIG_RUNTIME_CPU_DETECT 1 "Runtime CPU detection support.")
    100 set_aom_config_var(CONFIG_SHARED 0 "Build shared libs.")
    101 set_aom_config_var(CONFIG_WEBM_IO 1 "Enables WebM support.")
    102 
    103 # Debugging flags.
    104 set_aom_config_var(CONFIG_DEBUG 0 "Enable debug-only code.")
    105 set_aom_config_var(CONFIG_EXCLUDE_SIMD_MISMATCH 0
    106                   "Exclude mismatch in SIMD functions for testing/debugging.")
    107 set_aom_config_var(CONFIG_MISMATCH_DEBUG 0 "Mismatch debugging flag.")
    108 
    109 # AV1 feature flags.
    110 set_aom_config_var(CONFIG_ACCOUNTING 0 "Enables bit accounting.")
    111 set_aom_config_var(CONFIG_ANALYZER 0 "Enables bit stream analyzer.")
    112 set_aom_config_var(CONFIG_COEFFICIENT_RANGE_CHECKING 0
    113                   "Coefficient range check.")
    114 set_aom_config_var(CONFIG_DENOISE 1
    115                   "Denoise/noise modeling support in encoder.")
    116 set_aom_config_var(CONFIG_INSPECTION 0 "Enables bitstream inspection.")
    117 set_aom_config_var(CONFIG_INTERNAL_STATS 0 "Enables internal encoder stats.")
    118 set_aom_config_var(FORCE_HIGHBITDEPTH_DECODING 0
    119                   "Force high bitdepth decoding pipeline on 8-bit input.")
    120 mark_as_advanced(FORCE_HIGHBITDEPTH_DECODING)
    121 set_aom_config_var(CONFIG_MAX_DECODE_PROFILE 2
    122                   "Max profile to support decoding.")
    123 set_aom_config_var(
    124  CONFIG_NORMAL_TILE_MODE 0
    125  "Only enables general decoding (disables large scale tile decoding).")
    126 set_aom_config_var(CONFIG_SIZE_LIMIT 0 "Limit max decode width/height.")
    127 set_aom_config_var(CONFIG_TUNE_BUTTERAUGLI 0
    128                   "Enable encoding tuning for Butteraugli.")
    129 set_aom_config_var(CONFIG_TUNE_VMAF 0 "Enable encoding tuning for VMAF.")
    130 set_aom_config_var(DECODE_HEIGHT_LIMIT 0 "Set limit for decode height.")
    131 set_aom_config_var(DECODE_WIDTH_LIMIT 0 "Set limit for decode width.")
    132 set_aom_config_var(STATIC_LINK_JXL 0 "Statically link the JPEG-XL library.")
    133 
    134 # AV1 experiment flags.
    135 set_aom_config_var(CONFIG_BITRATE_ACCURACY 0
    136                   "AV1 experiment: Improve bitrate accuracy.")
    137 set_aom_config_var(
    138  CONFIG_BITRATE_ACCURACY_BL 0
    139  "AV1 experiment: Baseline of improve bitrate accuracy experiment.")
    140 set_aom_config_var(CONFIG_BITSTREAM_DEBUG 0
    141                   "AV1 experiment: Bitstream debugging.")
    142 set_aom_config_var(
    143  CONFIG_COLLECT_COMPONENT_TIMING 0
    144  "AV1 experiment: Collect encoding component timing information.")
    145 set_aom_config_var(
    146  CONFIG_COLLECT_PARTITION_STATS 0
    147  "AV1 experiment: Collect partition timing stats. Can be 1 or 2.")
    148 set_aom_config_var(CONFIG_COLLECT_RD_STATS 0 "AV1 experiment.")
    149 set_aom_config_var(
    150  CONFIG_DISABLE_FULL_PIXEL_SPLIT_8X8 1
    151  "AV1 experiment: Disable full_pixel_motion_search_based_split on BLOCK_8X8.")
    152 set_aom_config_var(CONFIG_ENTROPY_STATS 0 "AV1 experiment.")
    153 set_aom_config_var(CONFIG_INTER_STATS_ONLY 0 "AV1 experiment.")
    154 set_aom_config_var(CONFIG_NN_V2 0
    155                   "AV1 experiment: Fully-connected neural nets ver.2.")
    156 set_aom_config_var(CONFIG_OPTICAL_FLOW_API 0
    157                   "AV1 experiment: for optical flow API.")
    158 set_aom_config_var(CONFIG_PARTITION_SEARCH_ORDER 0
    159                   "AV1 experiment: Use alternative partition search order.")
    160 set_aom_config_var(CONFIG_RATECTRL_LOG 0
    161                   "AV1 experiment: Log rate control decision.")
    162 set_aom_config_var(CONFIG_RD_COMMAND 0
    163                   "AV1 experiment: Use external rdmult and q_index.")
    164 set_aom_config_var(CONFIG_RD_DEBUG 0 "AV1 experiment.")
    165 set_aom_config_var(
    166  CONFIG_RT_ML_PARTITIONING 0
    167  "AV1 experiment: Build with ML-based partitioning for Real Time.")
    168 set_aom_config_var(CONFIG_SPEED_STATS 0 "AV1 experiment.")
    169 set_aom_config_var(CONFIG_TFLITE 0
    170                   "AV1 experiment: Enable tensorflow lite library.")
    171 set_aom_config_var(CONFIG_THREE_PASS 0
    172                   "AV1 experiment: Enable three-pass encoding.")
    173 set_aom_config_var(CONFIG_OUTPUT_FRAME_SIZE 0
    174                   "AV1 experiment: Output frame size information.")
    175 set_aom_config_var(
    176  CONFIG_SALIENCY_MAP 0
    177  "AV1 experiment: Enable saliency map based encoding tuning for VMAF.")
    178 set_aom_config_var(CONFIG_CWG_C013 0
    179                   "AV1 experiment: Support for 7.x and 8.x levels.")
    180 set_aom_config_var(CONFIG_CWG_E050 0
    181                   "AV1 experiment: Support for multilayer metadata OBU.")
    182 # Add this change to make aomenc reported PSNR consistent with libvmaf result.
    183 set_aom_config_var(CONFIG_LIBVMAF_PSNR_PEAK 1
    184                   "Use libvmaf PSNR peak for 10- and 12-bit")
    185 
    186 set_aom_config_var(CONFIG_HIGHWAY 0 "Use Highway for SIMD.")
    187 
    188 #
    189 # Variables in this section control optional features of the build system.
    190 #
    191 set_aom_option_var(ENABLE_CCACHE "Enable ccache support." OFF)
    192 set_aom_option_var(ENABLE_DECODE_PERF_TESTS "Enables decoder performance tests"
    193                   OFF)
    194 set_aom_option_var(ENABLE_DISTCC "Enable distcc support." OFF)
    195 set_aom_option_var(ENABLE_DOCS
    196                   "Enable documentation generation (doxygen required)." ON)
    197 set_aom_option_var(ENABLE_ENCODE_PERF_TESTS "Enables encoder performance tests"
    198                   OFF)
    199 set_aom_option_var(ENABLE_EXAMPLES "Enables build of example code." ON)
    200 set_aom_option_var(ENABLE_GOMA "Enable goma support." OFF)
    201 set_aom_option_var(
    202  ENABLE_IDE_TEST_HOSTING
    203  "Enables running tests within IDEs like Visual Studio and Xcode." OFF)
    204 set_aom_option_var(ENABLE_NASM "Use nasm instead of yasm for x86 assembly." OFF)
    205 set_aom_option_var(ENABLE_TESTDATA "Enables unit test data download targets."
    206                   ON)
    207 set_aom_option_var(ENABLE_TESTS "Enables unit tests." ON)
    208 set_aom_option_var(ENABLE_TOOLS "Enable applications in tools sub directory."
    209                   ON)
    210 set_aom_option_var(ENABLE_WERROR "Converts warnings to errors at compile time."
    211                   OFF)
    212 
    213 # Arm/AArch64 assembly/intrinsics flags.
    214 set_aom_option_var(ENABLE_NEON
    215                   "Enables Neon optimizations on Arm/AArch64 targets." ON)
    216 set_aom_option_var(ENABLE_ARM_CRC32 "Enables Arm CRC32 optimizations." ON)
    217 set_aom_option_var(
    218  ENABLE_NEON_DOTPROD
    219  "Enables Armv8.2-A Neon dotprod optimizations on AArch64 targets." ON)
    220 set_aom_option_var(
    221  ENABLE_NEON_I8MM
    222  "Enables Armv8.2-A Neon i8mm optimizations on AArch64 targets." ON)
    223 set_aom_option_var(ENABLE_SVE
    224                   "Enables Armv8.2-A SVE optimizations on AArch64 targets." ON)
    225 set_aom_option_var(ENABLE_SVE2
    226                   "Enables Armv9-A SVE2 optimizations on AArch64 targets." ON)
    227 
    228 # VSX intrinsics flags.
    229 set_aom_option_var(ENABLE_VSX "Enables VSX optimizations on PowerPC targets."
    230                   ON)
    231 
    232 # x86/x86_64 assembly/intrinsics flags.
    233 set_aom_option_var(ENABLE_MMX "Enables MMX optimizations on x86/x86_64 targets."
    234                   ON)
    235 set_aom_option_var(ENABLE_SSE "Enables SSE optimizations on x86/x86_64 targets."
    236                   ON)
    237 set_aom_option_var(ENABLE_SSE2
    238                   "Enables SSE2 optimizations on x86/x86_64 targets." ON)
    239 set_aom_option_var(ENABLE_SSE3
    240                   "Enables SSE3 optimizations on x86/x86_64 targets." ON)
    241 set_aom_option_var(ENABLE_SSSE3
    242                   "Enables SSSE3 optimizations on x86/x86_64 targets." ON)
    243 set_aom_option_var(ENABLE_SSE4_1
    244                   "Enables SSE4_1 optimizations on x86/x86_64 targets." ON)
    245 set_aom_option_var(ENABLE_SSE4_2
    246                   "Enables SSE4_2 optimizations on x86/x86_64 targets." ON)
    247 set_aom_option_var(ENABLE_AVX "Enables AVX optimizations on x86/x86_64 targets."
    248                   ON)
    249 set_aom_option_var(ENABLE_AVX2
    250                   "Enables AVX2 optimizations on x86/x86_64 targets." ON)
    251 set_aom_option_var(ENABLE_AVX512
    252                   "Enables AVX512 optimizations on x86/x86_64 targets." ON)
    253 
    254 # RVV intrinsics flags.
    255 set_aom_option_var(ENABLE_RVV "Enables RVV optimizations on RISC-V targets." ON)