| Index: media/base/simd/convert_rgb_to_yuv_unittest.cc
|
| diff --git a/media/base/simd/convert_rgb_to_yuv_unittest.cc b/media/base/simd/convert_rgb_to_yuv_unittest.cc
|
| index 020fb257464175c9efaa78f936b9fe46cfae46ec..08aa4dfb42ae3b6ab20722869c488274356b4a64 100644
|
| --- a/media/base/simd/convert_rgb_to_yuv_unittest.cc
|
| +++ b/media/base/simd/convert_rgb_to_yuv_unittest.cc
|
| @@ -16,28 +16,14 @@ int ConvertRGBToY(const uint8* rgb) {
|
| return std::max(0, std::min(255, y));
|
| }
|
|
|
| -int ConvertRGBToU(const uint8* rgb, int size, bool subsampling) {
|
| - int u = 0;
|
| - if (!subsampling) {
|
| - u = 112 * rgb[0] - 74 * rgb[1] - 38 * rgb[2];
|
| - } else {
|
| - int u0 = 112 * rgb[0] - 74 * rgb[1] - 38 * rgb[2];
|
| - int u1 = 112 * rgb[size] - 74 * rgb[size + 1] - 38 * rgb[size + 2];
|
| - u = (u0 + u1 + 1) / 2;
|
| - }
|
| +int ConvertRGBToU(const uint8* rgb, int size) {
|
| + int u = 112 * rgb[0] - 74 * rgb[1] - 38 * rgb[2];
|
| u = ((u + 128) >> 8) + 128;
|
| return std::max(0, std::min(255, u));
|
| }
|
|
|
| -int ConvertRGBToV(const uint8* rgb, int size, bool subsampling) {
|
| - int v = 0;
|
| - if (!subsampling) {
|
| - v = -18 * rgb[0] - 94 * rgb[1] + 112 * rgb[2];
|
| - } else {
|
| - int v0 = -18 * rgb[0] - 94 * rgb[1] + 112 * rgb[2];
|
| - int v1 = -18 * rgb[size] - 94 * rgb[size + 1] + 112 * rgb[size + 2];
|
| - v = (v0 + v1 + 1) / 2;
|
| - }
|
| +int ConvertRGBToV(const uint8* rgb, int size) {
|
| + int v = -18 * rgb[0] - 94 * rgb[1] + 112 * rgb[2];
|
| v = ((v + 128) >> 8) + 128;
|
| return std::max(0, std::min(255, v));
|
| }
|
| @@ -61,12 +47,6 @@ TEST(YUVConvertTest, SideBySideRGB) {
|
| const int kStep = 8;
|
| const int kWidth = 256 / kStep;
|
|
|
| -#ifdef ENABLE_SUBSAMPLING
|
| - const bool kSubsampling = true;
|
| -#else
|
| - const bool kSubsampling = false;
|
| -#endif
|
| -
|
| for (int size = 3; size <= 4; ++size) {
|
| // Create the output buffers.
|
| scoped_array<uint8> rgb(new uint8[kWidth * size]);
|
| @@ -109,14 +89,14 @@ TEST(YUVConvertTest, SideBySideRGB) {
|
| // Check the output U pixels.
|
| for (int i = 0; i < kWidth / 2; ++i) {
|
| const uint8* p = &rgb[i * 2 * size];
|
| - int error = ConvertRGBToU(p, size, kSubsampling) - u[i];
|
| + int error = ConvertRGBToU(p, size) - u[i];
|
| total_error += error > 0 ? error : -error;
|
| }
|
|
|
| // Check the output V pixels.
|
| for (int i = 0; i < kWidth / 2; ++i) {
|
| const uint8* p = &rgb[i * 2 * size];
|
| - int error = ConvertRGBToV(p, size, kSubsampling) - v[i];
|
| + int error = ConvertRGBToV(p, size) - v[i];
|
| total_error += error > 0 ? error : -error;
|
| }
|
| }
|
|
|