summaryrefslogtreecommitdiff
path: root/tests/native/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaImageRotateTest.cpp
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-21 19:56:55 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-04-21 19:56:55 +0000
commitddd0cff3eb5acdc581c8f6f5b36b1bf8b90c8bed (patch)
tree77daebc4c4c41dae651a3425504a52dd1ccc21b1 /tests/native/service/src/com/android/telephony/imsmedia/lib/libimsmedia/core/utils/ImsMediaImageRotateTest.cpp
parentcad0938b23a933110df171fb7c9f96721f606cd2 (diff)
parent1879ee137ede0d62b88cd16da3d46138ca540dfa (diff)
downloadImsMedia-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.cpp98
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);
}