diff options
author | Frank Barchard <fbarchard@google.com> | 2022-09-30 15:12:37 -0700 |
---|---|---|
committer | libyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-09-30 22:41:21 +0000 |
commit | 00950840d1c9bcbb3eb6ebc5aac5793e71166c8b (patch) | |
tree | a261be18062391f039e4e230ce5714f0059ae845 /unit_test | |
parent | 9ba40a8f03673b79d3236e79707723fdf99f76b6 (diff) | |
download | libyuv-00950840d1c9bcbb3eb6ebc5aac5793e71166c8b.tar.gz |
YUY2ToNV12 using YUY2ToY and YUY2ToNVUV
- Optimized YUY2ToNV12 that reduces it from 3 steps to 2 steps
- Was SplitUV, memcpy Y, InterpolateUV
- Now YUY2ToY, YUY2ToNVUV
- rollback LIBYUV_UNLIMITED_DATA
3840x2160 1000 iterations:
Pixel 2 Cortex A73
Was YUY2ToNV12_Opt (6515 ms)
Now YUY2ToNV12_Opt (3350 ms)
AB7 Mediatek P35 Cortex A53
Was YUY2ToNV12_Opt (6435 ms)
Now YUY2ToNV12_Opt (3301 ms)
Skylake AVX2 x64
Was YUY2ToNV12_Opt (1872 ms)
Now YUY2ToNV12_Opt (1657 ms)
SSE2 x64
Was YUY2ToNV12_Opt (2008 ms)
Now YUY2ToNV12_Opt (1691 ms)
Windows Skylake AVX2 32 bit x86
Was YUY2ToNV12_Opt (2161 ms)
Now YUY2ToNV12_Opt (1628 ms)
Bug: libyuv:943
Change-Id: I6c2ba2ae765413426baf770b837de114f808f6d0
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3929843
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: richard winterton <rrwinterton@gmail.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Diffstat (limited to 'unit_test')
-rw-r--r-- | unit_test/color_test.cc | 12 | ||||
-rw-r--r-- | unit_test/convert_test.cc | 6 |
2 files changed, 9 insertions, 9 deletions
diff --git a/unit_test/color_test.cc b/unit_test/color_test.cc index 06dd064b..01267ff1 100644 --- a/unit_test/color_test.cc +++ b/unit_test/color_test.cc @@ -32,10 +32,10 @@ namespace libyuv { #endif #define ERROR_R 1 #define ERROR_G 1 -#if defined(LIBYUV_LIMITED_DATA) -#define ERROR_B 18 -#else +#ifdef LIBYUV_UNLIMITED_DATA #define ERROR_B 1 +#else +#define ERROR_B 18 #endif #define TESTCS(TESTNAME, YUVTOARGB, ARGBTOYUV, HS1, HS, HN, DIFF) \ @@ -502,10 +502,10 @@ TEST_F(LibYUVColorTest, TestYUV) { YUVToRGB(240, 0, 0, &r1, &g1, &b1); EXPECT_EQ(57, r1); EXPECT_EQ(255, g1); -#if defined(LIBYUV_LIMITED_DATA) - EXPECT_EQ(5, b1); -#else +#ifdef LIBYUV_UNLIMITED_DATA EXPECT_EQ(3, b1); +#else + EXPECT_EQ(5, b1); #endif for (int i = 0; i < 256; ++i) { diff --git a/unit_test/convert_test.cc b/unit_test/convert_test.cc index dc6d7a72..47eff2ec 100644 --- a/unit_test/convert_test.cc +++ b/unit_test/convert_test.cc @@ -2620,10 +2620,10 @@ TEST_F(LibYUVConvertTest, TestMJPGToARGB) { // Test result matches known hash value. uint32_t dst_argb_hash = HashDjb2(dst_argb, width * height, 5381); -#if defined(LIBYUV_LIMITED_DATA) - EXPECT_EQ(dst_argb_hash, 2355976473u); -#else +#ifdef LIBYUV_UNLIMITED_DATA EXPECT_EQ(dst_argb_hash, 3900633302u); +#else + EXPECT_EQ(dst_argb_hash, 2355976473u); #endif free_aligned_buffer_page_end(dst_argb); |