diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-04-21 19:56:55 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-04-21 19:56:55 +0000 |
commit | ddd0cff3eb5acdc581c8f6f5b36b1bf8b90c8bed (patch) | |
tree | 77daebc4c4c41dae651a3425504a52dd1ccc21b1 /tests/native/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaImageRotateTest.cpp | |
parent | cad0938b23a933110df171fb7c9f96721f606cd2 (diff) | |
parent | 1879ee137ede0d62b88cd16da3d46138ca540dfa (diff) | |
download | ImsMedia-ddd0cff3eb5acdc581c8f6f5b36b1bf8b90c8bed.tar.gz |
Snap for 9989322 from 1879ee137ede0d62b88cd16da3d46138ca540dfa to mainline-rkpd-release
Change-Id: I35046c7ba53f650c5d42314f226f1df5b7cd8dc1
Diffstat (limited to 'tests/native/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaImageRotateTest.cpp')
-rw-r--r-- | tests/native/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaImageRotateTest.cpp | 98 |
1 files changed, 96 insertions, 2 deletions
diff --git a/tests/native/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaImageRotateTest.cpp b/tests/native/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaImageRotateTest.cpp index 60dc69fb..a5cbd157 100644 --- a/tests/native/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaImageRotateTest.cpp +++ b/tests/native/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaImageRotateTest.cpp @@ -72,6 +72,76 @@ TEST_F(ImsMediaImageRotateTest, Rotate90FlipTest_ZeroImageSize) EXPECT_EQ(memcmp(output_img, exp_img, 0), 0); } +TEST_F(ImsMediaImageRotateTest, Rotate90Test) +{ + const uint16_t img_width = 4, img_height = 4; + const uint32_t img_buf_size = img_width * img_height * 1.5f; + + // Input image Y buffer + uint8_t input_img_y[] = {0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33}; + + // Input image UV buffer + uint8_t input_img_uv[] = {80, 90, 81, 91, 82, 92, 83, 93}; + + // Expected output Y buffer + uint8_t exp_img[img_buf_size] = {30, 20, 10, 0, 31, 21, 11, 1, 32, 22, 12, 2, 33, 23, 13, 3, 82, + 92, 80, 90, 83, 93, 81, 91}; + + // Output image buffer to be verified + uint8_t output_img[img_buf_size] = {0}; + + ImsMediaImageRotate::YUV420_SP_Rotate90( + output_img, img_buf_size, img_height, input_img_y, input_img_uv, img_width, img_height); + + EXPECT_EQ(memcmp(output_img, exp_img, img_buf_size), 0); +} + +TEST_F(ImsMediaImageRotateTest, Rotate90WithOutputStrideTest) +{ + const uint16_t img_width = 4, img_height = 4, outimg_stride = 6; + const uint32_t img_buf_size = outimg_stride * img_width * 1.5f; + + // Input image Y buffer + uint8_t input_img_y[] = {0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33}; + + // Input image UV buffer + uint8_t input_img_uv[] = {80, 90, 81, 91, 82, 92, 83, 93}; + + // Expected output Y buffer + uint8_t exp_img[img_buf_size] = {30, 20, 10, 0, 0, 0, 31, 21, 11, 1, 0, 0, 32, 22, 12, 2, 0, 0, + 33, 23, 13, 3, 0, 0, 82, 92, 80, 90, 0, 0, 83, 93, 81, 91, 0, 0}; + + // Output image buffer to be verified + uint8_t output_img[img_buf_size] = {0}; + + ImsMediaImageRotate::YUV420_SP_Rotate90(output_img, img_buf_size, outimg_stride, input_img_y, + input_img_uv, img_width, img_height); + + EXPECT_EQ(memcmp(output_img, exp_img, img_buf_size), 0); +} + +TEST_F(ImsMediaImageRotateTest, Rotate90Flip_ZeroImageSize) +{ + const uint16_t img_width = 0, img_height = 0; + + // Input image Y buffer + uint8_t input_img_y[0] = {}; + + // Input image UV buffer + uint8_t input_img_uv[0] = {}; + + // Expected output Y buffer + uint8_t exp_img[0] = {}; + + // Output image buffer to be verified + uint8_t output_img[0] = {}; + + ImsMediaImageRotate::YUV420_SP_Rotate90( + output_img, 0, img_height, input_img_y, input_img_uv, img_width, img_height); + + EXPECT_EQ(memcmp(output_img, exp_img, 0), 0); +} + TEST_F(ImsMediaImageRotateTest, Rotate270Test) { const uint16_t img_width = 4, img_height = 4; @@ -91,7 +161,31 @@ TEST_F(ImsMediaImageRotateTest, Rotate270Test) uint8_t output_img[img_buf_size] = {0}; ImsMediaImageRotate::YUV420_SP_Rotate270( - output_img, input_img_y, input_img_uv, img_width, img_height); + output_img, img_buf_size, img_height, input_img_y, input_img_uv, img_width, img_height); + + EXPECT_EQ(memcmp(output_img, exp_img, img_buf_size), 0); +} + +TEST_F(ImsMediaImageRotateTest, Rotate270WithOutStrideTest) +{ + const uint16_t img_width = 4, img_height = 4, outimg_stride = 6; + const uint32_t img_buf_size = outimg_stride * img_width * 1.5f; + + // Input image Y buffer + uint8_t input_img_y[] = {0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33}; + + // Input image UV buffer + uint8_t input_img_uv[] = {80, 90, 81, 91, 82, 92, 83, 93}; + + // Expected output Y buffer + uint8_t exp_img[img_buf_size] = {3, 13, 23, 33, 0, 0, 2, 12, 22, 32, 0, 0, 1, 11, 21, 31, 0, 0, + 0, 10, 20, 30, 0, 0, 81, 91, 83, 93, 0, 0, 80, 90, 82, 92, 0, 0}; + + // Output image buffer to be verified + uint8_t output_img[img_buf_size] = {0}; + + ImsMediaImageRotate::YUV420_SP_Rotate270(output_img, img_buf_size, outimg_stride, input_img_y, + input_img_uv, img_width, img_height); EXPECT_EQ(memcmp(output_img, exp_img, img_buf_size), 0); } @@ -113,7 +207,7 @@ TEST_F(ImsMediaImageRotateTest, Rotate270Test_ZeroImageSize) uint8_t output_img[0] = {}; ImsMediaImageRotate::YUV420_SP_Rotate270( - output_img, input_img_y, input_img_uv, img_width, img_height); + output_img, 0, img_height, input_img_y, input_img_uv, img_width, img_height); EXPECT_EQ(memcmp(output_img, exp_img, 0), 0); } |