diff --git a/unit_test/scale_argb_test.cc b/unit_test/scale_argb_test.cc index 48ad75eaf..a9112f590 100644 --- a/unit_test/scale_argb_test.cc +++ b/unit_test/scale_argb_test.cc @@ -490,11 +490,11 @@ TEST_F(LibYUVScaleTest, YUVToRGBScaleDown) { } TEST_F(LibYUVScaleTest, ARGBTest3x) { - const int kSrcStride = 48 * 4; - const int kDstStride = 16 * 4; + const int kSrcStride = 480 * 4; + const int kDstStride = 160 * 4; const int kSize = kSrcStride * 3; align_buffer_page_end(orig_pixels, kSize); - for (int i = 0; i < 48 * 3; ++i) { + for (int i = 0; i < 480 * 3; ++i) { orig_pixels[i * 4 + 0] = i; orig_pixels[i * 4 + 1] = 255 - i; orig_pixels[i * 4 + 2] = i + 1; @@ -502,36 +502,36 @@ TEST_F(LibYUVScaleTest, ARGBTest3x) { } align_buffer_page_end(dest_pixels, kDstStride); - int iterations16 = - benchmark_width_ * benchmark_height_ / (16 * 1) * benchmark_iterations_; - for (int i = 0; i < iterations16; ++i) { - ARGBScale(orig_pixels, kSrcStride, 48, 3, dest_pixels, kDstStride, 16, 1, + int iterations160 = + (benchmark_width_ * benchmark_height_ + (160 - 1)) / 160 * benchmark_iterations_; + for (int i = 0; i < iterations160; ++i) { + ARGBScale(orig_pixels, kSrcStride, 480, 3, dest_pixels, kDstStride, 160, 1, kFilterBilinear); } - EXPECT_EQ(49, dest_pixels[0]); - EXPECT_EQ(255 - 49, dest_pixels[1]); - EXPECT_EQ(50, dest_pixels[2]); - EXPECT_EQ(59, dest_pixels[3]); + EXPECT_EQ(225, dest_pixels[0]); + EXPECT_EQ(255 - 225, dest_pixels[1]); + EXPECT_EQ(226, dest_pixels[2]); + EXPECT_EQ(235, dest_pixels[3]); - ARGBScale(orig_pixels, kSrcStride, 48, 3, dest_pixels, kDstStride, 16, 1, + ARGBScale(orig_pixels, kSrcStride, 480, 3, dest_pixels, kDstStride, 160, 1, kFilterNone); - EXPECT_EQ(49, dest_pixels[0]); - EXPECT_EQ(255 - 49, dest_pixels[1]); - EXPECT_EQ(50, dest_pixels[2]); - EXPECT_EQ(59, dest_pixels[3]); + EXPECT_EQ(225, dest_pixels[0]); + EXPECT_EQ(255 - 225, dest_pixels[1]); + EXPECT_EQ(226, dest_pixels[2]); + EXPECT_EQ(235, dest_pixels[3]); free_aligned_buffer_page_end(dest_pixels); free_aligned_buffer_page_end(orig_pixels); } TEST_F(LibYUVScaleTest, ARGBTest4x) { - const int kSrcStride = 64 * 4; - const int kDstStride = 16 * 4; + const int kSrcStride = 640 * 4; + const int kDstStride = 160 * 4; const int kSize = kSrcStride * 4; align_buffer_page_end(orig_pixels, kSize); - for (int i = 0; i < 64 * 4; ++i) { + for (int i = 0; i < 640 * 4; ++i) { orig_pixels[i * 4 + 0] = i; orig_pixels[i * 4 + 1] = 255 - i; orig_pixels[i * 4 + 2] = i + 1; @@ -539,26 +539,25 @@ TEST_F(LibYUVScaleTest, ARGBTest4x) { } align_buffer_page_end(dest_pixels, kDstStride); - int iterations16 = - benchmark_width_ * benchmark_height_ / (16 * 1) * benchmark_iterations_; - for (int i = 0; i < iterations16; ++i) { - ARGBScale(orig_pixels, kSrcStride, 64, 4, dest_pixels, kDstStride, 16, 1, + int iterations160 = + (benchmark_width_ * benchmark_height_ + (160 - 1)) / 160 * benchmark_iterations_; + for (int i = 0; i < iterations160; ++i) { + ARGBScale(orig_pixels, kSrcStride, 640, 4, dest_pixels, kDstStride, 160, 1, kFilterBilinear); } - EXPECT_NEAR((65 + 66 + 129 + 130 + 2) / 4, dest_pixels[0], 4); - EXPECT_NEAR((255 - 65 + 255 - 66 + 255 - 129 + 255 - 130 + 2) / 4, - dest_pixels[1], 4); - EXPECT_NEAR((1 * 4 + 65 + 66 + 129 + 130 + 2) / 4, dest_pixels[2], 4); - EXPECT_NEAR((10 * 4 + 65 + 66 + 129 + 130 + 2) / 4, dest_pixels[3], 4); + EXPECT_NEAR(66, dest_pixels[0], 4); + EXPECT_NEAR(255 - 66, dest_pixels[1], 4); + EXPECT_NEAR(67, dest_pixels[2], 4); + EXPECT_NEAR(76, dest_pixels[3], 4); - ARGBScale(orig_pixels, kSrcStride, 64, 4, dest_pixels, kDstStride, 16, 1, + ARGBScale(orig_pixels, kSrcStride, 640, 4, dest_pixels, kDstStride, 160, 1, kFilterNone); - EXPECT_EQ(130, dest_pixels[0]); - EXPECT_EQ(255 - 130, dest_pixels[1]); - EXPECT_EQ(130 + 1, dest_pixels[2]); - EXPECT_EQ(130 + 10, dest_pixels[3]); + EXPECT_EQ(2, dest_pixels[0]); + EXPECT_EQ(255 - 2, dest_pixels[1]); + EXPECT_EQ(3, dest_pixels[2]); + EXPECT_EQ(12, dest_pixels[3]); free_aligned_buffer_page_end(dest_pixels); free_aligned_buffer_page_end(orig_pixels); diff --git a/unit_test/scale_test.cc b/unit_test/scale_test.cc index 6da6b574d..ec71cdf85 100644 --- a/unit_test/scale_test.cc +++ b/unit_test/scale_test.cc @@ -1385,56 +1385,56 @@ TEST_FACTOR(3, 1, 3, 0) #undef DX TEST_F(LibYUVScaleTest, PlaneTest3x) { - const int kSrcStride = 48; - const int kDstStride = 16; + const int kSrcStride = 480; + const int kDstStride = 160; const int kSize = kSrcStride * 3; align_buffer_page_end(orig_pixels, kSize); - for (int i = 0; i < 48 * 3; ++i) { + for (int i = 0; i < 480 * 3; ++i) { orig_pixels[i] = i; } align_buffer_page_end(dest_pixels, kDstStride); - int iterations16 = - benchmark_width_ * benchmark_height_ / (16 * 1) * benchmark_iterations_; - for (int i = 0; i < iterations16; ++i) { - ScalePlane(orig_pixels, kSrcStride, 48, 3, dest_pixels, kDstStride, 16, 1, + int iterations160 = + (benchmark_width_ * benchmark_height_ + (160 - 1)) / 160 * benchmark_iterations_; + for (int i = 0; i < iterations160; ++i) { + ScalePlane(orig_pixels, kSrcStride, 480, 3, dest_pixels, kDstStride, 160, 1, kFilterBilinear); } - EXPECT_EQ(49, dest_pixels[0]); + EXPECT_EQ(225, dest_pixels[0]); - ScalePlane(orig_pixels, kSrcStride, 48, 3, dest_pixels, kDstStride, 16, 1, + ScalePlane(orig_pixels, kSrcStride, 480, 3, dest_pixels, kDstStride, 160, 1, kFilterNone); - EXPECT_EQ(49, dest_pixels[0]); + EXPECT_EQ(225, dest_pixels[0]); free_aligned_buffer_page_end(dest_pixels); free_aligned_buffer_page_end(orig_pixels); } TEST_F(LibYUVScaleTest, PlaneTest4x) { - const int kSrcStride = 64; - const int kDstStride = 16; + const int kSrcStride = 640; + const int kDstStride = 160; const int kSize = kSrcStride * 4; align_buffer_page_end(orig_pixels, kSize); - for (int i = 0; i < 64 * 4; ++i) { + for (int i = 0; i < 640 * 4; ++i) { orig_pixels[i] = i; } align_buffer_page_end(dest_pixels, kDstStride); - int iterations16 = - benchmark_width_ * benchmark_height_ / (16 * 1) * benchmark_iterations_; - for (int i = 0; i < iterations16; ++i) { - ScalePlane(orig_pixels, kSrcStride, 64, 4, dest_pixels, kDstStride, 16, 1, + int iterations160 = + (benchmark_width_ * benchmark_height_ + (160 - 1)) / 160 * benchmark_iterations_; + for (int i = 0; i < iterations160; ++i) { + ScalePlane(orig_pixels, kSrcStride, 640, 4, dest_pixels, kDstStride, 160, 1, kFilterBilinear); } - EXPECT_EQ((65 + 66 + 129 + 130 + 2) / 4, dest_pixels[0]); + EXPECT_EQ(66, dest_pixels[0]); - ScalePlane(orig_pixels, kSrcStride, 64, 4, dest_pixels, kDstStride, 16, 1, + ScalePlane(orig_pixels, kSrcStride, 640, 4, dest_pixels, kDstStride, 160, 1, kFilterNone); - EXPECT_EQ(130, dest_pixels[0]); // expect the 3rd pixel of the 3rd row + EXPECT_EQ(2, dest_pixels[0]); // expect the 3rd pixel of the 3rd row free_aligned_buffer_page_end(dest_pixels); free_aligned_buffer_page_end(orig_pixels); diff --git a/unit_test/scale_uv_test.cc b/unit_test/scale_uv_test.cc index 6e4649f84..9711f5ebd 100644 --- a/unit_test/scale_uv_test.cc +++ b/unit_test/scale_uv_test.cc @@ -193,63 +193,62 @@ TEST_SCALESWAPXY1(UVScale, Bilinear, 0) #undef TEST_SCALESWAPXY1 TEST_F(LibYUVScaleTest, UVTest3x) { - const int kSrcStride = 48 * 2; - const int kDstStride = 16 * 2; + const int kSrcStride = 480 * 2; + const int kDstStride = 160 * 2; const int kSize = kSrcStride * 3; align_buffer_page_end(orig_pixels, kSize); - for (int i = 0; i < 48 * 3; ++i) { + for (int i = 0; i < 480 * 3; ++i) { orig_pixels[i * 2 + 0] = i; orig_pixels[i * 2 + 1] = 255 - i; } align_buffer_page_end(dest_pixels, kDstStride); - int iterations16 = - benchmark_width_ * benchmark_height_ / (16 * 1) * benchmark_iterations_; - for (int i = 0; i < iterations16; ++i) { - UVScale(orig_pixels, kSrcStride, 48, 3, dest_pixels, kDstStride, 16, 1, + int iterations160 = + (benchmark_width_ * benchmark_height_ + (160 - 1)) / 160 * benchmark_iterations_; + for (int i = 0; i < iterations160; ++i) { + UVScale(orig_pixels, kSrcStride, 480, 3, dest_pixels, kDstStride, 160, 1, kFilterBilinear); } - EXPECT_EQ(49, dest_pixels[0]); - EXPECT_EQ(255 - 49, dest_pixels[1]); + EXPECT_EQ(225, dest_pixels[0]); + EXPECT_EQ(255 - 225, dest_pixels[1]); - UVScale(orig_pixels, kSrcStride, 48, 3, dest_pixels, kDstStride, 16, 1, + UVScale(orig_pixels, kSrcStride, 480, 3, dest_pixels, kDstStride, 160, 1, kFilterNone); - EXPECT_EQ(49, dest_pixels[0]); - EXPECT_EQ(255 - 49, dest_pixels[1]); + EXPECT_EQ(225, dest_pixels[0]); + EXPECT_EQ(255 - 225, dest_pixels[1]); free_aligned_buffer_page_end(dest_pixels); free_aligned_buffer_page_end(orig_pixels); } TEST_F(LibYUVScaleTest, UVTest4x) { - const int kSrcStride = 64 * 2; - const int kDstStride = 16 * 2; + const int kSrcStride = 640 * 2; + const int kDstStride = 160 * 2; const int kSize = kSrcStride * 4; align_buffer_page_end(orig_pixels, kSize); - for (int i = 0; i < 64 * 4; ++i) { + for (int i = 0; i < 640 * 4; ++i) { orig_pixels[i * 2 + 0] = i; orig_pixels[i * 2 + 1] = 255 - i; } align_buffer_page_end(dest_pixels, kDstStride); - int iterations16 = - benchmark_width_ * benchmark_height_ / (16 * 1) * benchmark_iterations_; - for (int i = 0; i < iterations16; ++i) { - UVScale(orig_pixels, kSrcStride, 64, 4, dest_pixels, kDstStride, 16, 1, + int iterations160 = + (benchmark_width_ * benchmark_height_ + (160 - 1)) / 160 * benchmark_iterations_; + for (int i = 0; i < iterations160; ++i) { + UVScale(orig_pixels, kSrcStride, 640, 4, dest_pixels, kDstStride, 160, 1, kFilterBilinear); } - EXPECT_EQ((65 + 66 + 129 + 130 + 2) / 4, dest_pixels[0]); - EXPECT_EQ((255 - 65 + 255 - 66 + 255 - 129 + 255 - 130 + 2) / 4, - dest_pixels[1]); + EXPECT_EQ(66, dest_pixels[0]); + EXPECT_EQ(190, dest_pixels[1]); UVScale(orig_pixels, kSrcStride, 64, 4, dest_pixels, kDstStride, 16, 1, kFilterNone); - EXPECT_EQ(130, dest_pixels[0]); // expect the 3rd pixel of the 3rd row - EXPECT_EQ(255 - 130, dest_pixels[1]); + EXPECT_EQ(2, dest_pixels[0]); // expect the 3rd pixel of the 3rd row + EXPECT_EQ(255 - 2, dest_pixels[1]); free_aligned_buffer_page_end(dest_pixels); free_aligned_buffer_page_end(orig_pixels);