mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2025-12-06 16:56:55 +08:00
Key instruction sets added for each microarchitecture: AVX512BW, AVX512VL, AVX512DQ - skylake server or later AVX512_VBMI, AVX512_IFMA - cannon lake or later AVX512_BITALG, AVX512_VBMI2, AVX512_VPOPCNTDQ, AVX512_VNNI, GFNI, VAES, VPCLMULQDQ - ice lake or later Bug: libyuv:752 Test: ~/intelsde/sde -icl -- out/Release/libyuv_unittest --gtest_filter=*Cpu* Change-Id: I9ee28904c90009d66721b9f805a440c5fc2da122 Reviewed-on: https://chromium-review.googlesource.com/755617 Reviewed-by: Frank Barchard <fbarchard@google.com> Reviewed-by: richard winterton <rrwinterton@gmail.com>
33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
# Introduction
|
|
|
|
For 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.
|
|
|
|
# CPU
|
|
|
|
By 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.
|
|
|
|
LIBYUV_DISABLE_ASM
|
|
LIBYUV_DISABLE_X86
|
|
LIBYUV_DISABLE_SSE2
|
|
LIBYUV_DISABLE_SSSE3
|
|
LIBYUV_DISABLE_SSE41
|
|
LIBYUV_DISABLE_SSE42
|
|
LIBYUV_DISABLE_AVX
|
|
LIBYUV_DISABLE_AVX2
|
|
LIBYUV_DISABLE_AVX512BW
|
|
LIBYUV_DISABLE_ERMS
|
|
LIBYUV_DISABLE_FMA3
|
|
LIBYUV_DISABLE_DSPR2
|
|
LIBYUV_DISABLE_NEON
|
|
|
|
# Test Width/Height/Repeat
|
|
|
|
The unittests default to a small image (128x72) to run fast. This can be set by environment variable to test a specific resolutions.
|
|
You can also repeat the test a specified number of iterations, allowing benchmarking and profiling.
|
|
|
|
set LIBYUV_WIDTH=1280
|
|
set LIBYUV_HEIGHT=720
|
|
set LIBYUV_REPEAT=999
|
|
set LIBYUV_FLAGS=-1
|
|
set LIBYUV_CPU_INFO=-1
|