diff options
Diffstat (limited to 'media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoDecTest.cpp')
-rw-r--r-- | media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoDecTest.cpp | 52 |
1 files changed, 48 insertions, 4 deletions
diff --git a/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoDecTest.cpp b/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoDecTest.cpp index 9773cb00..f13d88c1 100644 --- a/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoDecTest.cpp +++ b/media/omx/1.0/vts/functional/video/VtsHalMediaOmxV1_0TargetVideoDecTest.cpp | |||
@@ -768,7 +768,7 @@ TEST_F(VideoDecHidlTest, DecodeTest) { | |||
768 | eleInfo.open(info); | 768 | eleInfo.open(info); |
769 | ASSERT_EQ(eleInfo.is_open(), true); | 769 | ASSERT_EQ(eleInfo.is_open(), true); |
770 | android::Vector<FrameData> Info; | 770 | android::Vector<FrameData> Info; |
771 | int bytesCount = 0; | 771 | int bytesCount = 0, maxBytesCount = 0; |
772 | uint32_t flags = 0; | 772 | uint32_t flags = 0; |
773 | uint32_t timestamp = 0; | 773 | uint32_t timestamp = 0; |
774 | timestampDevTest = true; | 774 | timestampDevTest = true; |
@@ -779,9 +779,15 @@ TEST_F(VideoDecHidlTest, DecodeTest) { | |||
779 | Info.push_back({bytesCount, flags, timestamp}); | 779 | Info.push_back({bytesCount, flags, timestamp}); |
780 | if (flags != OMX_BUFFERFLAG_CODECCONFIG) | 780 | if (flags != OMX_BUFFERFLAG_CODECCONFIG) |
781 | timestampUslist.push_back(timestamp); | 781 | timestampUslist.push_back(timestamp); |
782 | if (maxBytesCount < bytesCount) maxBytesCount = bytesCount; | ||
782 | } | 783 | } |
783 | eleInfo.close(); | 784 | eleInfo.close(); |
784 | 785 | ||
786 | // As the frame sizes are known ahead, use it to configure i/p buffer size | ||
787 | maxBytesCount = ALIGN_POWER_OF_TWO(maxBytesCount, 10); | ||
788 | status = setPortBufferSize(omxNode, kPortIndexInput, maxBytesCount); | ||
789 | ASSERT_EQ(status, ::android::hardware::media::omx::V1_0::Status::OK); | ||
790 | |||
785 | // set port mode | 791 | // set port mode |
786 | portMode[0] = PortMode::PRESET_BYTE_BUFFER; | 792 | portMode[0] = PortMode::PRESET_BYTE_BUFFER; |
787 | portMode[1] = PortMode::DYNAMIC_ANW_BUFFER; | 793 | portMode[1] = PortMode::DYNAMIC_ANW_BUFFER; |
@@ -801,6 +807,8 @@ TEST_F(VideoDecHidlTest, DecodeTest) { | |||
801 | &xFramerate); | 807 | &xFramerate); |
802 | setDefaultPortParam(omxNode, kPortIndexOutput, OMX_VIDEO_CodingUnused, | 808 | setDefaultPortParam(omxNode, kPortIndexOutput, OMX_VIDEO_CodingUnused, |
803 | eColorFormat, nFrameWidth, nFrameHeight, 0, xFramerate); | 809 | eColorFormat, nFrameWidth, nFrameHeight, 0, xFramerate); |
810 | |||
811 | // disabling adaptive playback. | ||
804 | omxNode->prepareForAdaptivePlayback(kPortIndexOutput, false, 1920, 1080); | 812 | omxNode->prepareForAdaptivePlayback(kPortIndexOutput, false, 1920, 1080); |
805 | 813 | ||
806 | android::Vector<BufferInfo> iBuffer, oBuffer; | 814 | android::Vector<BufferInfo> iBuffer, oBuffer; |
@@ -923,7 +931,7 @@ TEST_F(VideoDecHidlTest, ThumbnailTest) { | |||
923 | eleInfo.open(info); | 931 | eleInfo.open(info); |
924 | ASSERT_EQ(eleInfo.is_open(), true); | 932 | ASSERT_EQ(eleInfo.is_open(), true); |
925 | android::Vector<FrameData> Info; | 933 | android::Vector<FrameData> Info; |
926 | int bytesCount = 0; | 934 | int bytesCount = 0, maxBytesCount = 0; |
927 | uint32_t flags = 0; | 935 | uint32_t flags = 0; |
928 | uint32_t timestamp = 0; | 936 | uint32_t timestamp = 0; |
929 | while (1) { | 937 | while (1) { |
@@ -931,9 +939,21 @@ TEST_F(VideoDecHidlTest, ThumbnailTest) { | |||
931 | eleInfo >> flags; | 939 | eleInfo >> flags; |
932 | eleInfo >> timestamp; | 940 | eleInfo >> timestamp; |
933 | Info.push_back({bytesCount, flags, timestamp}); | 941 | Info.push_back({bytesCount, flags, timestamp}); |
942 | if (maxBytesCount < bytesCount) maxBytesCount = bytesCount; | ||
934 | } | 943 | } |
935 | eleInfo.close(); | 944 | eleInfo.close(); |
936 | 945 | ||
946 | // As the frame sizes are known ahead, use it to configure i/p buffer size | ||
947 | maxBytesCount = ALIGN_POWER_OF_TWO(maxBytesCount, 10); | ||
948 | status = setPortBufferSize(omxNode, kPortIndexInput, maxBytesCount); | ||
949 | ASSERT_EQ(status, ::android::hardware::media::omx::V1_0::Status::OK); | ||
950 | |||
951 | // set port mode | ||
952 | status = omxNode->setPortMode(kPortIndexInput, portMode[0]); | ||
953 | ASSERT_EQ(status, ::android::hardware::media::omx::V1_0::Status::OK); | ||
954 | status = omxNode->setPortMode(kPortIndexOutput, portMode[1]); | ||
955 | ASSERT_EQ(status, ::android::hardware::media::omx::V1_0::Status::OK); | ||
956 | |||
937 | // set Port Params | 957 | // set Port Params |
938 | uint32_t nFrameWidth, nFrameHeight, xFramerate; | 958 | uint32_t nFrameWidth, nFrameHeight, xFramerate; |
939 | OMX_COLOR_FORMATTYPE eColorFormat = OMX_COLOR_FormatYUV420Planar; | 959 | OMX_COLOR_FORMATTYPE eColorFormat = OMX_COLOR_FormatYUV420Planar; |
@@ -1024,7 +1044,7 @@ TEST_F(VideoDecHidlTest, SimpleEOSTest) { | |||
1024 | eleInfo.open(info); | 1044 | eleInfo.open(info); |
1025 | ASSERT_EQ(eleInfo.is_open(), true); | 1045 | ASSERT_EQ(eleInfo.is_open(), true); |
1026 | android::Vector<FrameData> Info; | 1046 | android::Vector<FrameData> Info; |
1027 | int bytesCount = 0; | 1047 | int bytesCount = 0, maxBytesCount = 0; |
1028 | uint32_t flags = 0; | 1048 | uint32_t flags = 0; |
1029 | uint32_t timestamp = 0; | 1049 | uint32_t timestamp = 0; |
1030 | while (1) { | 1050 | while (1) { |
@@ -1032,9 +1052,21 @@ TEST_F(VideoDecHidlTest, SimpleEOSTest) { | |||
1032 | eleInfo >> flags; | 1052 | eleInfo >> flags; |
1033 | eleInfo >> timestamp; | 1053 | eleInfo >> timestamp; |
1034 | Info.push_back({bytesCount, flags, timestamp}); | 1054 | Info.push_back({bytesCount, flags, timestamp}); |
1055 | if (maxBytesCount < bytesCount) maxBytesCount = bytesCount; | ||
1035 | } | 1056 | } |
1036 | eleInfo.close(); | 1057 | eleInfo.close(); |
1037 | 1058 | ||
1059 | // As the frame sizes are known ahead, use it to configure i/p buffer size | ||
1060 | maxBytesCount = ALIGN_POWER_OF_TWO(maxBytesCount, 10); | ||
1061 | status = setPortBufferSize(omxNode, kPortIndexInput, maxBytesCount); | ||
1062 | ASSERT_EQ(status, ::android::hardware::media::omx::V1_0::Status::OK); | ||
1063 | |||
1064 | // set port mode | ||
1065 | status = omxNode->setPortMode(kPortIndexInput, portMode[0]); | ||
1066 | ASSERT_EQ(status, ::android::hardware::media::omx::V1_0::Status::OK); | ||
1067 | status = omxNode->setPortMode(kPortIndexOutput, portMode[1]); | ||
1068 | ASSERT_EQ(status, ::android::hardware::media::omx::V1_0::Status::OK); | ||
1069 | |||
1038 | // set Port Params | 1070 | // set Port Params |
1039 | uint32_t nFrameWidth, nFrameHeight, xFramerate; | 1071 | uint32_t nFrameWidth, nFrameHeight, xFramerate; |
1040 | OMX_COLOR_FORMATTYPE eColorFormat = OMX_COLOR_FormatYUV420Planar; | 1072 | OMX_COLOR_FORMATTYPE eColorFormat = OMX_COLOR_FormatYUV420Planar; |
@@ -1107,7 +1139,7 @@ TEST_F(VideoDecHidlTest, FlushTest) { | |||
1107 | eleInfo.open(info); | 1139 | eleInfo.open(info); |
1108 | ASSERT_EQ(eleInfo.is_open(), true); | 1140 | ASSERT_EQ(eleInfo.is_open(), true); |
1109 | android::Vector<FrameData> Info; | 1141 | android::Vector<FrameData> Info; |
1110 | int bytesCount = 0; | 1142 | int bytesCount = 0, maxBytesCount = 0; |
1111 | uint32_t flags = 0; | 1143 | uint32_t flags = 0; |
1112 | uint32_t timestamp = 0; | 1144 | uint32_t timestamp = 0; |
1113 | while (1) { | 1145 | while (1) { |
@@ -1115,9 +1147,21 @@ TEST_F(VideoDecHidlTest, FlushTest) { | |||
1115 | eleInfo >> flags; | 1147 | eleInfo >> flags; |
1116 | eleInfo >> timestamp; | 1148 | eleInfo >> timestamp; |
1117 | Info.push_back({bytesCount, flags, timestamp}); | 1149 | Info.push_back({bytesCount, flags, timestamp}); |
1150 | if (maxBytesCount < bytesCount) maxBytesCount = bytesCount; | ||
1118 | } | 1151 | } |
1119 | eleInfo.close(); | 1152 | eleInfo.close(); |
1120 | 1153 | ||
1154 | // As the frame sizes are known ahead, use it to configure i/p buffer size | ||
1155 | maxBytesCount = ALIGN_POWER_OF_TWO(maxBytesCount, 10); | ||
1156 | status = setPortBufferSize(omxNode, kPortIndexInput, maxBytesCount); | ||
1157 | ASSERT_EQ(status, ::android::hardware::media::omx::V1_0::Status::OK); | ||
1158 | |||
1159 | // set port mode | ||
1160 | status = omxNode->setPortMode(kPortIndexInput, portMode[0]); | ||
1161 | ASSERT_EQ(status, ::android::hardware::media::omx::V1_0::Status::OK); | ||
1162 | status = omxNode->setPortMode(kPortIndexOutput, portMode[1]); | ||
1163 | ASSERT_EQ(status, ::android::hardware::media::omx::V1_0::Status::OK); | ||
1164 | |||
1121 | // set Port Params | 1165 | // set Port Params |
1122 | uint32_t nFrameWidth, nFrameHeight, xFramerate; | 1166 | uint32_t nFrameWidth, nFrameHeight, xFramerate; |
1123 | OMX_COLOR_FORMATTYPE eColorFormat = OMX_COLOR_FormatYUV420Planar; | 1167 | OMX_COLOR_FORMATTYPE eColorFormat = OMX_COLOR_FormatYUV420Planar; |