Showing the changes to test/decoder/DecUT_DecExt.cpp (1 of 4 files). Show all
Unified · Split
| @@ -145,8 +145,10 @@ void DecoderInterfaceTest::TestInitUninit() { · 144 unmodified lines | |||
| 145 | CM_RETURN eRet; | 145 | CM_RETURN eRet; |
| 146 | //No initialize, no GetOption can be done | 146 | //No initialize, no GetOption can be done |
| 147 | m_pDec->Uninitialize(); | 147 | m_pDec->Uninitialize(); |
| 148 | eRet = (CM_RETURN) m_pDec->GetOption (DECODER_OPTION_DATAFORMAT, &iOutput); | 148 | for (int i = 0; i <= (int) DECODER_OPTION_TRACE_CALLBACK_CONTEXT; ++i) { |
| 149 | EXPECT_EQ (eRet, cmInitExpected); | 149 | eRet = (CM_RETURN) m_pDec->GetOption ((DECODER_OPTION) i, &iOutput); |
| 150 | EXPECT_EQ (eRet, cmInitExpected); | ||
| 151 | } | ||
| 150 | //Initialize first, can get input color format | 152 | //Initialize first, can get input color format |
| 151 | m_sDecParam.eOutputColorFormat = (EVideoFormatType) 20; //just for test | 153 | m_sDecParam.eOutputColorFormat = (EVideoFormatType) 20; //just for test |
| 152 | m_pDec->Initialize (&m_sDecParam); | 154 | m_pDec->Initialize (&m_sDecParam); |
| @@ -157,9 +159,11 @@ void DecoderInterfaceTest::TestInitUninit() { · 4 unmodified lines | |||
| 157 | //Uninitialize, no GetOption can be done | 159 | //Uninitialize, no GetOption can be done |
| 158 | m_pDec->Uninitialize(); | 160 | m_pDec->Uninitialize(); |
| 159 | iOutput = 21; | 161 | iOutput = 21; |
| 160 | eRet = (CM_RETURN) m_pDec->GetOption (DECODER_OPTION_DATAFORMAT, &iOutput); | 162 | for (int i = 0; i <= (int) DECODER_OPTION_TRACE_CALLBACK_CONTEXT; ++i) { |
| 161 | EXPECT_EQ (iOutput, 21); | 163 | eRet = (CM_RETURN) m_pDec->GetOption ((DECODER_OPTION) i, &iOutput); |
| 162 | EXPECT_EQ (eRet, cmInitExpected); | 164 | EXPECT_EQ (iOutput, 21); |
| 165 | EXPECT_EQ (eRet, cmInitExpected); | ||
| 166 | } | ||
| 163 | } | 167 | } |
| 164 | 168 | ||
| 165 | //DECODER_OPTION_DATAFORMAT | 169 | //DECODER_OPTION_DATAFORMAT |
| @@ -168,6 +172,8 @@ void DecoderInterfaceTest::TestDataFormat() { · 2 unmodified lines | |||
| 168 | int iOut; | 172 | int iOut; |
| 169 | CM_RETURN eRet; | 173 | CM_RETURN eRet; |
| 170 | 174 | ||
| 175 | Init(); | ||
| 176 | |||
| 171 | //invalid input | 177 | //invalid input |
| 172 | eRet = (CM_RETURN) m_pDec->SetOption (DECODER_OPTION_DATAFORMAT, NULL); | 178 | eRet = (CM_RETURN) m_pDec->SetOption (DECODER_OPTION_DATAFORMAT, NULL); |
| 173 | EXPECT_EQ (eRet, cmInitParaError); | 179 | EXPECT_EQ (eRet, cmInitParaError); |
| @@ -179,6 +185,8 @@ void DecoderInterfaceTest::TestDataFormat() { · 5 unmodified lines | |||
| 179 | EXPECT_EQ (eRet, cmResultSuccess); | 185 | EXPECT_EQ (eRet, cmResultSuccess); |
| 180 | 186 | ||
| 181 | EXPECT_EQ (iOut, (int32_t) videoFormatI420); | 187 | EXPECT_EQ (iOut, (int32_t) videoFormatI420); |
| 188 | |||
| 189 | Uninit(); | ||
| 182 | } | 190 | } |
| 183 | 191 | ||
| 184 | //DECODER_OPTION_END_OF_STREAM | 192 | //DECODER_OPTION_END_OF_STREAM |
| @@ -186,6 +194,8 @@ void DecoderInterfaceTest::TestEndOfStream() { · 1 unmodified line | |||
| 186 | int iTmp, iOut; | 194 | int iTmp, iOut; |
| 187 | CM_RETURN eRet; | 195 | CM_RETURN eRet; |
| 188 | 196 | ||
| 197 | Init(); | ||
| 198 | |||
| 189 | //invalid input | 199 | //invalid input |
| 190 | eRet = (CM_RETURN) m_pDec->SetOption (DECODER_OPTION_END_OF_STREAM, NULL); | 200 | eRet = (CM_RETURN) m_pDec->SetOption (DECODER_OPTION_END_OF_STREAM, NULL); |
| 191 | EXPECT_EQ (eRet, cmInitParaError); | 201 | EXPECT_EQ (eRet, cmInitParaError); |
| @@ -234,12 +244,48 @@ void DecoderInterfaceTest::TestEndOfStream() { · 42 unmodified lines | |||
| 234 | eRet = (CM_RETURN) m_pDec->DecodeFrame2 (NULL, 0, m_pData, &m_sBufferInfo); | 244 | eRet = (CM_RETURN) m_pDec->DecodeFrame2 (NULL, 0, m_pData, &m_sBufferInfo); |
| 235 | eRet = (CM_RETURN) m_pDec->GetOption (DECODER_OPTION_END_OF_STREAM, &iOut); | 245 | eRet = (CM_RETURN) m_pDec->GetOption (DECODER_OPTION_END_OF_STREAM, &iOut); |
| 236 | EXPECT_EQ (iOut, true); //decoder should have EOS == true | 246 | EXPECT_EQ (iOut, true); //decoder should have EOS == true |
| 247 | |||
| 248 | Uninit(); | ||
| 237 | } | 249 | } |
| 238 | 250 | ||
| 239 | 251 | ||
| 240 | //DECODER_OPTION_VCL_NAL | 252 | //DECODER_OPTION_VCL_NAL |
| 253 | //Here Test illegal bitstream input | ||
| 254 | //legal bitstream decoding test, please see api test | ||
| 241 | void DecoderInterfaceTest::TestVclNal() { | 255 | void DecoderInterfaceTest::TestVclNal() { |
| 242 | //TODO | 256 | int iTmp, iOut; |
| 257 | CM_RETURN eRet; | ||
| 258 | |||
| 259 | Init(); | ||
| 260 | |||
| 261 | //Test SetOption | ||
| 262 | //VclNal never supports SetOption | ||
| 263 | iTmp = rand(); | ||
| 264 | eRet = (CM_RETURN) m_pDec->SetOption (DECODER_OPTION_VCL_NAL, &iTmp); | ||
| 265 | EXPECT_EQ (eRet, cmInitParaError); | ||
| 266 | |||
| 267 | //Test GetOption | ||
| 268 | //invalid input | ||
| 269 | eRet = (CM_RETURN) m_pDec->GetOption (DECODER_OPTION_VCL_NAL, NULL); | ||
| 270 | EXPECT_EQ (eRet, cmInitParaError); | ||
| 271 | |||
| 272 | //valid input without actual decoding | ||
| 273 | eRet = (CM_RETURN) m_pDec->GetOption (DECODER_OPTION_VCL_NAL, &iOut); | ||
| 274 | EXPECT_EQ (eRet, cmResultSuccess); | ||
| 275 | EXPECT_EQ (iOut, FEEDBACK_NON_VCL_NAL); | ||
| 276 | |||
| 277 | //valid input with decoding error | ||
| 278 | MockPacketType (NAL_UNIT_CODED_SLICE_IDR, 50); | ||
| 279 | m_pDec->DecodeFrame2 (m_szBuffer, m_iBufLength, m_pData, &m_sBufferInfo); | ||
| 280 | eRet = (CM_RETURN) m_pDec->GetOption (DECODER_OPTION_VCL_NAL, &iOut); | ||
| 281 | EXPECT_EQ (eRet, cmResultSuccess); | ||
| 282 | EXPECT_EQ (iOut, FEEDBACK_UNKNOWN_NAL); | ||
| 283 | m_pDec->DecodeFrame2 (NULL, 0, m_pData, &m_sBufferInfo); | ||
| 284 | eRet = (CM_RETURN) m_pDec->GetOption (DECODER_OPTION_VCL_NAL, &iOut); | ||
| 285 | EXPECT_EQ (eRet, cmResultSuccess); | ||
| 286 | EXPECT_EQ (iOut, FEEDBACK_UNKNOWN_NAL); | ||
| 287 | |||
| 288 | Uninit(); | ||
| 243 | } | 289 | } |
| 244 | 290 | ||
| 245 | //DECODER_OPTION_TEMPORAL_ID | 291 | //DECODER_OPTION_TEMPORAL_ID |
| @@ -293,9 +339,6 @@ TEST_F (DecoderInterfaceTest, DecoderInterfaceAll) { · 47 unmodified lines | |||
| 293 | 339 | ||
| 294 | //Initialize Uninitialize | 340 | //Initialize Uninitialize |
| 295 | TestInitUninit(); | 341 | TestInitUninit(); |
| 296 | |||
| 297 | //AfterInitialize is OK, do the following tests | ||
| 298 | Init(); | ||
| 299 | //DECODER_OPTION_DATAFORMAT | 342 | //DECODER_OPTION_DATAFORMAT |
| 300 | TestDataFormat(); | 343 | TestDataFormat(); |
| 301 | //DECODER_OPTION_END_OF_STREAM | 344 | //DECODER_OPTION_END_OF_STREAM |
| @@ -320,9 +363,6 @@ TEST_F (DecoderInterfaceTest, DecoderInterfaceAll) { · 18 unmodified lines | |||
| 320 | TestTraceCallback(); | 363 | TestTraceCallback(); |
| 321 | //DECODER_OPTION_TRACE_CALLBACK_CONTEXT | 364 | //DECODER_OPTION_TRACE_CALLBACK_CONTEXT |
| 322 | TestTraceCallbackContext(); | 365 | TestTraceCallbackContext(); |
| 323 | |||
| 324 | //uninitialize | ||
| 325 | Uninit(); | ||
| 326 | } | 366 | } |
| 327 | 367 | ||
| 328 | 368 | ||