From e8ee17554998aca4fc840a34ef47beaf559b7d11 Mon Sep 17 00:00:00 2001 From: Frank Barchard Date: Mon, 26 Oct 2015 17:51:03 -0700 Subject: [PATCH] add unittest that compares ABGR to ARGB TBR=harryjin@google.com BUG=libyuv:515 Review URL: https://codereview.chromium.org/1423663007 . --- README.chromium | 2 +- include/libyuv/version.h | 2 +- unit_test/convert_test.cc | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/README.chromium b/README.chromium index a22d6359f..0bf54da81 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 1523 +Version: 1524 License: BSD License File: LICENSE diff --git a/include/libyuv/version.h b/include/libyuv/version.h index 13ad016f8..617a01833 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 1523 +#define LIBYUV_VERSION 1524 #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT diff --git a/unit_test/convert_test.cc b/unit_test/convert_test.cc index 0f8065539..8ab007be8 100644 --- a/unit_test/convert_test.cc +++ b/unit_test/convert_test.cc @@ -1691,4 +1691,39 @@ TEST_F(LibYUVConvertTest, NAME) { \ TESTPTOB(TestYUY2ToNV12, YUY2ToI420, YUY2ToNV12) TESTPTOB(TestUYVYToNV12, UYVYToI420, UYVYToNV12) +TEST_F(LibYUVConvertTest, TestI444ToABGRvsARGB) { + align_buffer_64(src_y, benchmark_width_ * benchmark_height_); + align_buffer_64(src_u, benchmark_width_ * benchmark_height_); + align_buffer_64(src_v, benchmark_width_ * benchmark_height_); + align_buffer_64(dst_argb, benchmark_width_ * benchmark_height_ * 4); + align_buffer_64(dst_abgr, benchmark_width_ * benchmark_height_ * 4); + MemRandomize(src_y, benchmark_width_ * benchmark_height_); + MemRandomize(src_u, benchmark_width_ * benchmark_height_); + MemRandomize(src_v, benchmark_width_ * benchmark_height_); + MemRandomize(dst_argb, benchmark_width_ * benchmark_height_ * 4); + MemRandomize(dst_abgr, benchmark_width_ * benchmark_height_ * 4); + libyuv::I444ToARGB(src_y, benchmark_width_, + src_u, benchmark_width_, + src_v, benchmark_width_, + dst_argb, benchmark_width_ * 4, + benchmark_width_, benchmark_height_); + libyuv::I444ToABGR(src_y, benchmark_width_, + src_u, benchmark_width_, + src_v, benchmark_width_, + dst_abgr, benchmark_width_ * 4, + benchmark_width_, benchmark_height_); + // swap in place. + libyuv::ABGRToARGB(dst_abgr, benchmark_width_ * 4, + dst_abgr, benchmark_width_ * 4, + benchmark_width_, benchmark_height_); + for (int i = 0; i < benchmark_width_ * benchmark_height_ * 4; ++i) { + EXPECT_EQ(dst_abgr[i], dst_argb[i]); + } + free_aligned_buffer_64(src_y); + free_aligned_buffer_64(src_u); + free_aligned_buffer_64(src_v); + free_aligned_buffer_64(dst_argb); + free_aligned_buffer_64(dst_abgr); +} + } // namespace libyuv