From ddf114624a5ef1999f4969db8a3ed70a554f8119 Mon Sep 17 00:00:00 2001 From: "fbarchard@google.com" Date: Wed, 21 Jan 2015 18:42:16 +0000 Subject: [PATCH] More accurate tests when running improved luma/chroma accuracy code. BUG=324 TESTED=TestYUV R=harryjin@google.com Review URL: https://webrtc-codereview.appspot.com/39589004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@1237 16f28f9a-4ce2-e073-06de-1de4eb20be90 --- README.chromium | 2 +- include/libyuv/version.h | 2 +- unit_test/color_test.cc | 26 ++++++++++---------------- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/README.chromium b/README.chromium index ba7ed94de..3b7bdc279 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 1236 +Version: 1237 License: BSD License File: LICENSE diff --git a/include/libyuv/version.h b/include/libyuv/version.h index e2c3e7aee..d510f09e3 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -11,6 +11,6 @@ #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT #define INCLUDE_LIBYUV_VERSION_H_ -#define LIBYUV_VERSION 1236 +#define LIBYUV_VERSION 1237 #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT diff --git a/unit_test/color_test.cc b/unit_test/color_test.cc index 3670041bc..cda3f9d8f 100644 --- a/unit_test/color_test.cc +++ b/unit_test/color_test.cc @@ -115,23 +115,22 @@ TESTCS(TestI422, I422ToARGB, ARGBToI422, 0, 1, 0, 7) TESTCS(TestJ420, J420ToARGB, ARGBToJ420, 1, 2, benchmark_width_, 3) TESTCS(TestJ422, J422ToARGB, ARGBToJ422, 0, 1, 0, 4) -void YUVToRGB(int y, int u, int v, int* r, int* g, int* b) { - const int kWidth = 128; - const int kHeight = 2; +static void YUVToRGB(int y, int u, int v, int* r, int* g, int* b) { + const int kWidth = 16; + const int kHeight = 1; const int kPixels = kWidth * kHeight; const int kHalfPixels = ((kWidth + 1) / 2) * ((kHeight + 1) / 2); - align_buffer_64(orig_y, kPixels); - align_buffer_64(orig_u, kHalfPixels); - align_buffer_64(orig_v, kHalfPixels); - align_buffer_64(orig_pixels, kPixels * 4); + SIMD_ALIGNED(uint8 orig_y[16]); + SIMD_ALIGNED(uint8 orig_u[8]); + SIMD_ALIGNED(uint8 orig_v[8]); + SIMD_ALIGNED(uint8 orig_pixels[16 * 1 * 4]); memset(orig_y, y, kPixels); memset(orig_u, u, kHalfPixels); memset(orig_v, v, kHalfPixels); - MemRandomize(orig_pixels, kPixels * 4); /* YUV converted to ARGB. */ - I420ToARGB(orig_y, kWidth, + I422ToARGB(orig_y, kWidth, orig_u, (kWidth + 1) / 2, orig_v, (kWidth + 1) / 2, orig_pixels, kWidth * 4, @@ -140,14 +139,9 @@ void YUVToRGB(int y, int u, int v, int* r, int* g, int* b) { *b = orig_pixels[0]; *g = orig_pixels[1]; *r = orig_pixels[2]; - - free_aligned_buffer_64(orig_pixels); - free_aligned_buffer_64(orig_y); - free_aligned_buffer_64(orig_u); - free_aligned_buffer_64(orig_v); } -int RoundToByte(double f) { +static int RoundToByte(double f) { int i = lrintf(f); if (i < 0) { i = 0; @@ -158,7 +152,7 @@ int RoundToByte(double f) { return i; } -void YUVToRGBReference(int y, int u, int v, int* r, int* g, int* b) { +static void YUVToRGBReference(int y, int u, int v, int* r, int* g, int* b) { *r = RoundToByte((y - 16) * 1.164 + (v - 128) * 1.596); *g = RoundToByte((y - 16) * 1.164 + (u - 128) * -0.391 + (v - 128) * -0.813); *b = RoundToByte((y - 16) * 1.164 + (u - 128) * 2.018);