libyuv/unit_test
Frank Barchard 9f13b2814d add RGBToYMatrixRow_AVX2
Adds RGBToYMatrixRow_AVX2 which reads 24 bit RGB values by reading 3 vectors instead of 4 and permutes them into 4 ARGB vectors before conversion.
Also adds RGBToYMatrixRow_Opt and RGBToYMatrixRow_2Step_Opt to convert_argb_test.cc to benchmark and compare the direct AVX2 conversion vs a 2-step approach.

./libyuv_test '--gunit_filter=*RAWToJ400_Opt' --libyuv_width=1280 --libyuv_height=720 --libyuv_repeat=10000 --libyuv_flags=-1 --libyuv_cpu_info=-1

AMD Zen 5
Was LibYUVConvertTest.RAWToJ400_Opt (757 ms)
Now LibYUVConvertTest.RAWToJ400_Opt (699 ms)

Intel Skylake
Was LibYUVConvertTest.RAWToJ400_Opt (1705 ms)
Now LibYUVConvertTest.RAWToJ400_Opt (1426 ms)

Bug: 477295731
Change-Id: I29866baf4ad5fe7a3725e4a01f2fe24649510a7d
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7777325
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
2026-04-20 12:52:44 -07:00
..
testdata Deprecate MIPS and MSA support. 2025-10-16 12:20:40 -07:00
basictypes_test.cc Switch to C99 types 2018-01-23 19:16:05 +00:00
color_test.cc YUY2ToNV12 using YUY2ToY and YUY2ToNVUV 2022-09-30 22:41:21 +00:00
compare_test.cc fix compare row test for avx2 which does 64 bytes per loop 2021-04-06 22:37:25 +00:00
convert_argb_test.cc add RGBToYMatrixRow_AVX2 2026-04-20 12:52:44 -07:00
convert_test.cc row_win.cc rewrite into intrinsics 2026-04-15 19:53:16 -07:00
cpu_test.cc Experimental SVE FMMLA detect 2025-10-27 14:34:55 -07:00
cpu_thread_test.cc Fix -Wmissing-prototypes warnings 2024-08-12 19:08:24 +00:00
math_test.cc Disable tests via macro that refer to row.h 2019-08-20 18:44:36 +00:00
planar_test.cc For for ARM32 build when built with __SOFTFP__ 2025-10-20 11:54:25 -07:00
rotate_argb_test.cc Fix -Wmissing-prototypes warnings 2024-08-12 19:08:24 +00:00
rotate_test.cc Transpose 4x4 for SSE2 and AVX2 2023-03-03 17:46:23 +00:00
scale_argb_test.cc Apply clang format 2025-01-02 13:31:20 -08:00
scale_plane_test.cc row_win.cc rewrite into intrinsics 2026-04-15 19:53:16 -07:00
scale_rgb_test.cc Enable 256x144 scale tests for libyuv 2022-07-13 11:08:29 +00:00
scale_test.cc row_win.cc rewrite into intrinsics 2026-04-15 19:53:16 -07:00
scale_uv_test.cc cpuid for arm/mips/riscv initialize buffer 2023-04-27 22:46:27 +00:00
unit_test.cc Deprecate MIPS and MSA support. 2025-10-16 12:20:40 -07:00
unit_test.h TestI400LargeSize fix for warning message build error 2025-08-01 12:03:11 -07:00
video_common_test.cc Add support for AR64 format 2021-03-13 20:55:21 +00:00