| Index: unit_test/convert_test.cc
|
| diff --git a/unit_test/convert_test.cc b/unit_test/convert_test.cc
|
| index 6d8f606484853a3f74b175a5403fc7780e084d1c..7542ddf44e236ae6a7cf83f0f490e16f93a5cb13 100644
|
| --- a/unit_test/convert_test.cc
|
| +++ b/unit_test/convert_test.cc
|
| @@ -427,7 +427,8 @@ TESTPLANARTOBP(I420, 2, 2, NV12, 2, 2)
|
| TESTPLANARTOBP(I420, 2, 2, NV21, 2, 2)
|
|
|
| #define TESTBIPLANARTOPI(SRC_FMT_PLANAR, SRC_SUBSAMP_X, SRC_SUBSAMP_Y, \
|
| - FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, W1280, N, NEG, OFF) \
|
| + FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, W1280, N, NEG, OFF, \
|
| + DOY) \
|
| TEST_F(LibYUVConvertTest, SRC_FMT_PLANAR##To##FMT_PLANAR##N) { \
|
| const int kWidth = ((W1280) > 0) ? (W1280) : 1; \
|
| const int kHeight = benchmark_height_; \
|
| @@ -471,7 +472,7 @@ TEST_F(LibYUVConvertTest, SRC_FMT_PLANAR##To##FMT_PLANAR##N) { \
|
| SRC_FMT_PLANAR##To##FMT_PLANAR(src_y + OFF, kWidth, \
|
| src_uv + OFF, \
|
| 2 * SUBSAMPLE(kWidth, SRC_SUBSAMP_X), \
|
| - dst_y_c, kWidth, \
|
| + DOY ? dst_y_c : NULL, kWidth, \
|
| dst_u_c, SUBSAMPLE(kWidth, SUBSAMP_X), \
|
| dst_v_c, SUBSAMPLE(kWidth, SUBSAMP_X), \
|
| kWidth, NEG kHeight); \
|
| @@ -480,23 +481,25 @@ TEST_F(LibYUVConvertTest, SRC_FMT_PLANAR##To##FMT_PLANAR##N) { \
|
| SRC_FMT_PLANAR##To##FMT_PLANAR(src_y + OFF, kWidth, \
|
| src_uv + OFF, \
|
| 2 * SUBSAMPLE(kWidth, SRC_SUBSAMP_X), \
|
| - dst_y_opt, kWidth, \
|
| + DOY ? dst_y_opt : NULL, kWidth, \
|
| dst_u_opt, SUBSAMPLE(kWidth, SUBSAMP_X), \
|
| dst_v_opt, SUBSAMPLE(kWidth, SUBSAMP_X), \
|
| kWidth, NEG kHeight); \
|
| } \
|
| int max_diff = 0; \
|
| - for (int i = 0; i < kHeight; ++i) { \
|
| - for (int j = 0; j < kWidth; ++j) { \
|
| - int abs_diff = \
|
| - abs(static_cast<int>(dst_y_c[i * kWidth + j]) - \
|
| - static_cast<int>(dst_y_opt[i * kWidth + j])); \
|
| - if (abs_diff > max_diff) { \
|
| - max_diff = abs_diff; \
|
| + if (DOY) { \
|
| + for (int i = 0; i < kHeight; ++i) { \
|
| + for (int j = 0; j < kWidth; ++j) { \
|
| + int abs_diff = \
|
| + abs(static_cast<int>(dst_y_c[i * kWidth + j]) - \
|
| + static_cast<int>(dst_y_opt[i * kWidth + j])); \
|
| + if (abs_diff > max_diff) { \
|
| + max_diff = abs_diff; \
|
| + } \
|
| } \
|
| } \
|
| + EXPECT_LE(max_diff, 1); \
|
| } \
|
| - EXPECT_LE(max_diff, 1); \
|
| for (int i = 0; i < SUBSAMPLE(kHeight, SUBSAMP_Y); ++i) { \
|
| for (int j = 0; j < SUBSAMPLE(kWidth, SUBSAMP_X); ++j) { \
|
| int abs_diff = \
|
| @@ -537,16 +540,19 @@ TEST_F(LibYUVConvertTest, SRC_FMT_PLANAR##To##FMT_PLANAR##N) { \
|
| FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y) \
|
| TESTBIPLANARTOPI(SRC_FMT_PLANAR, SRC_SUBSAMP_X, SRC_SUBSAMP_Y, \
|
| FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, \
|
| - benchmark_width_ - 4, _Any, +, 0) \
|
| + benchmark_width_ - 4, _Any, +, 0, 1) \
|
| TESTBIPLANARTOPI(SRC_FMT_PLANAR, SRC_SUBSAMP_X, SRC_SUBSAMP_Y, \
|
| FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, \
|
| - benchmark_width_, _Unaligned, +, 1) \
|
| + benchmark_width_, _Unaligned, +, 1, 1) \
|
| TESTBIPLANARTOPI(SRC_FMT_PLANAR, SRC_SUBSAMP_X, SRC_SUBSAMP_Y, \
|
| FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, \
|
| - benchmark_width_, _Invert, -, 0) \
|
| + benchmark_width_, _Invert, -, 0, 1) \
|
| TESTBIPLANARTOPI(SRC_FMT_PLANAR, SRC_SUBSAMP_X, SRC_SUBSAMP_Y, \
|
| FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, \
|
| - benchmark_width_, _Opt, +, 0)
|
| + benchmark_width_, _Opt, +, 0, 1) \
|
| + TESTBIPLANARTOPI(SRC_FMT_PLANAR, SRC_SUBSAMP_X, SRC_SUBSAMP_Y, \
|
| + FMT_PLANAR, SUBSAMP_X, SUBSAMP_Y, \
|
| + benchmark_width_, _NullY, +, 0, 0)
|
|
|
| TESTBIPLANARTOP(NV12, 2, 2, I420, 2, 2)
|
| TESTBIPLANARTOP(NV21, 2, 2, I420, 2, 2)
|
|
|