MCPcopy Create free account
hub / github.com/cisco/openh264 / TestGetDecStatistics

Method TestGetDecStatistics

test/decoder/DecUT_DecExt.cpp:515–611  ·  view source on GitHub ↗

DECODER_OPTION_GET_STATISTICS

Source from the content-addressed store, hash-verified

513
514//DECODER_OPTION_GET_STATISTICS
515void DecoderInterfaceTest::TestGetDecStatistics() {
516 CM_RETURN eRet;
517 int32_t iRet;
518 SDecoderStatistics sDecStatic;
519 int32_t iError = 0;
520
521 iRet = ValidInit();
522 ASSERT_EQ (iRet, ERR_NONE);
523 //GetOption before decoding
524 m_pDec->GetOption (DECODER_OPTION_GET_STATISTICS, &sDecStatic);
525 EXPECT_EQ (0u, sDecStatic.uiDecodedFrameCount);
526 EXPECT_TRUE (-1 == sDecStatic.iAvgLumaQp);
527 // setoption not support,
528 eRet = (CM_RETURN)m_pDec->SetOption (DECODER_OPTION_GET_STATISTICS, NULL);
529 EXPECT_EQ (eRet, cmInitParaError);
530 //EC on UT
531 iError = 2;
532 m_pDec->SetOption (DECODER_OPTION_ERROR_CON_IDC, &iError);
533 //Decoder error bs
534 DecoderBs ("res/Error_I_P.264");
535 m_pDec->GetOption (DECODER_OPTION_GET_STATISTICS, &sDecStatic);
536 EXPECT_EQ (65u, sDecStatic.uiAvgEcRatio);
537 EXPECT_EQ (7u, sDecStatic.uiAvgEcPropRatio);
538 EXPECT_EQ (5u, sDecStatic.uiDecodedFrameCount);
539 EXPECT_EQ (288u, sDecStatic.uiHeight);
540 EXPECT_EQ (1u, sDecStatic.uiIDRCorrectNum);
541 EXPECT_EQ (3u, sDecStatic.uiResolutionChangeTimes);
542 EXPECT_EQ (352u, sDecStatic.uiWidth);
543 EXPECT_EQ (4u, sDecStatic.uiEcFrameNum);
544 EXPECT_EQ (2u, sDecStatic.uiEcIDRNum);
545 EXPECT_EQ (0u, sDecStatic.uiIDRLostNum);
546 Uninit();
547
548 //Decoder error bs when the first IDR lost
549 iRet = ValidInit();
550 ASSERT_EQ (iRet, ERR_NONE);
551 iError = 2;
552 m_pDec->SetOption (DECODER_OPTION_ERROR_CON_IDC, &iError);
553 DecoderBs ("res/BA_MW_D_IDR_LOST.264");
554 m_pDec->GetOption (DECODER_OPTION_GET_STATISTICS, &sDecStatic);
555 EXPECT_EQ (88u, sDecStatic.uiAvgEcRatio);
556 EXPECT_EQ (88u, sDecStatic.uiAvgEcPropRatio);
557 EXPECT_EQ (97u, sDecStatic.uiDecodedFrameCount);
558 EXPECT_EQ (144u, sDecStatic.uiHeight);
559 EXPECT_EQ (3u, sDecStatic.uiIDRCorrectNum);
560 EXPECT_EQ (0u, sDecStatic.uiEcIDRNum);
561 EXPECT_EQ (1u, sDecStatic.uiResolutionChangeTimes);
562 EXPECT_EQ (176u, sDecStatic.uiWidth);
563 EXPECT_EQ (27u, sDecStatic.uiEcFrameNum);
564 EXPECT_EQ (1u, sDecStatic.uiIDRLostNum);
565 Uninit();
566
567 //ecoder error bs when the first P lost
568 iRet = ValidInit();
569 ASSERT_EQ (iRet, ERR_NONE);
570
571 iError = 2;
572 m_pDec->SetOption (DECODER_OPTION_ERROR_CON_IDC, &iError);

Callers

nothing calls this directly

Calls 3

UninitFunction · 0.85
GetOptionMethod · 0.45
SetOptionMethod · 0.45

Tested by

no test coverage detected