• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Introduction
2
3For test purposes, environment variables can be set to control libyuv behavior.  These should only be used for testing, to narrow down bugs or to test performance.
4
5# CPU
6
7By default the cpu is detected and the most advanced form of SIMD is used.  But you can disable instruction sets selectively, or completely, falling back on C code.  Set the variable to 1 to disable the specified instruction set.
8
9## All CPUs
10    LIBYUV_DISABLE_ASM
11
12## Intel CPUs
13    LIBYUV_DISABLE_X86
14    LIBYUV_DISABLE_SSE2
15    LIBYUV_DISABLE_SSSE3
16    LIBYUV_DISABLE_SSE41
17    LIBYUV_DISABLE_SSE42
18    LIBYUV_DISABLE_AVX
19    LIBYUV_DISABLE_AVX2
20    LIBYUV_DISABLE_ERMS
21    LIBYUV_DISABLE_FMA3
22    LIBYUV_DISABLE_F16C
23    LIBYUV_DISABLE_AVX512BW
24    LIBYUV_DISABLE_AVX512VL
25    LIBYUV_DISABLE_AVX512VBMI
26    LIBYUV_DISABLE_AVX512VBMI2
27    LIBYUV_DISABLE_AVX512VBITALG
28    LIBYUV_DISABLE_AVX512VPOPCNTDQ
29    LIBYUV_DISABLE_GFNI
30
31## ARM CPUs
32
33    LIBYUV_DISABLE_NEON
34
35## MIPS CPUs
36    LIBYUV_DISABLE_MSA
37    LIBYUV_DISABLE_MMI
38
39# Test Width/Height/Repeat
40
41The unittests default to a small image (128x72) to run fast.  This can be set by environment variable to test a specific resolutions.
42You can also repeat the test a specified number of iterations, allowing benchmarking and profiling.
43
44    set LIBYUV_WIDTH=1280
45    set LIBYUV_HEIGHT=720
46    set LIBYUV_REPEAT=999
47    set LIBYUV_FLAGS=-1
48    set LIBYUV_CPU_INFO=-1
49