Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(987)

Unified Diff: media/base/yuv_convert_unittest.cc

Issue 17043007: Fix the WebRTC color bug. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix unit test error on Android. Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/base/yuv_convert_unittest.cc
diff --git a/media/base/yuv_convert_unittest.cc b/media/base/yuv_convert_unittest.cc
index 1ac2a2d17cafa5738bacb2f84d92ee1dfacb5231..8abe8d5388bac29b3e4f5efb3845adb83abd2942 100644
--- a/media/base/yuv_convert_unittest.cc
+++ b/media/base/yuv_convert_unittest.cc
@@ -100,7 +100,11 @@ TEST(YUVConvertTest, YV12) {
uint32 rgb_hash = DJB2Hash(rgb_converted_bytes.get(), kRGBSizeConverted,
kDJB2HashSeed);
+#if defined(OS_ANDROID)
+ EXPECT_EQ(815021082u, rgb_hash);
scherkus (not reviewing) 2013/06/19 19:49:50 what about writing and using a BGRA->RGBA swizzler
hkuang1 2013/06/19 23:21:11 Done. Wrote a helper function to convert BGRA->RGB
+#else
EXPECT_EQ(2413171226u, rgb_hash);
+#endif
}
TEST(YUVConvertTest, YV16) {
@@ -125,7 +129,11 @@ TEST(YUVConvertTest, YV16) {
uint32 rgb_hash = DJB2Hash(rgb_converted_bytes.get(), kRGBSizeConverted,
kDJB2HashSeed);
+#if defined(OS_ANDROID)
+ EXPECT_EQ(3370743199u, rgb_hash);
+#else
EXPECT_EQ(4222342047u, rgb_hash);
+#endif
}
struct YUVScaleTestData {
@@ -270,6 +278,15 @@ TEST_P(YUVScaleTest, OddWidthAndHeightNotCrash) {
GetParam().scale_filter);
}
+#if defined(OS_ANDROID)
+INSTANTIATE_TEST_CASE_P(
+ YUVScaleFormats, YUVScaleTest,
+ ::testing::Values(
+ YUVScaleTestData(media::YV12, media::FILTER_NONE, 2593983416u),
+ YUVScaleTestData(media::YV16, media::FILTER_NONE, 246995851u),
+ YUVScaleTestData(media::YV12, media::FILTER_BILINEAR, 293331713u),
+ YUVScaleTestData(media::YV16, media::FILTER_BILINEAR, 123521758u)));
+#else
INSTANTIATE_TEST_CASE_P(
YUVScaleFormats, YUVScaleTest,
::testing::Values(
@@ -277,6 +294,7 @@ INSTANTIATE_TEST_CASE_P(
YUVScaleTestData(media::YV16, media::FILTER_NONE, 1501777547u),
YUVScaleTestData(media::YV12, media::FILTER_BILINEAR, 3164274689u),
YUVScaleTestData(media::YV16, media::FILTER_BILINEAR, 3095878046u)));
+#endif
// This tests a known worst case YUV value, and for overflow.
TEST(YUVConvertTest, Clamp) {
@@ -304,8 +322,14 @@ TEST(YUVConvertTest, Clamp) {
0, // RGBStride
media::YV12);
+#if defined(OS_ANDROID)
+ unsigned char expectedAndroid[8] = { 104, 255, 255, 255, 4, 5, 6, 7 };
+ int expected_test = memcmp(rgb, expectedAndroid, sizeof(expected));
+ EXPECT_EQ(0, expected_test);
+#else
int expected_test = memcmp(rgb, expected, sizeof(expected));
EXPECT_EQ(0, expected_test);
+#endif
}
TEST(YUVConvertTest, RGB24ToYUV) {
@@ -328,7 +352,11 @@ TEST(YUVConvertTest, RGB24ToYUV) {
uint32 rgb_hash = DJB2Hash(yuv_converted_bytes.get(), kYUV12Size,
kDJB2HashSeed);
+#if defined(OS_ANDROID)
+ EXPECT_EQ(320824432u, rgb_hash);
+#else
EXPECT_EQ(320824432u, rgb_hash);
scherkus (not reviewing) 2013/06/19 19:49:50 these values are the same
hkuang1 2013/06/19 23:21:11 A mistake. Delete it.
+#endif
}
TEST(YUVConvertTest, RGB32ToYUV) {
« media/base/simd/convert_rgb_to_yuv_c.cc ('K') | « media/base/simd/convert_yuv_to_rgb_c.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698