diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2015-10-21 10:24:49 -0400 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2015-10-21 22:27:28 -0400 |
commit | aa1125655519965c2c5bd2f99966d23ff6180d8a (patch) | |
tree | 17952ab82e6e8c0335633705bb20ae63ede49cdb | |
parent | 6a032503caec65c1f5fdf609c79b377a06a034d8 (diff) | |
download | libvpx-aa1125655519965c2c5bd2f99966d23ff6180d8a.tar.gz |
Adjust superframe-is-optional unit test for vp10 superframe syntax.
Change-Id: Ic64b6928af7ae8ecc987f845b0bf0faecdacb072
-rw-r--r-- | test/superframe_test.cc | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/test/superframe_test.cc b/test/superframe_test.cc index a8102b75a..90aa75b41 100644 --- a/test/superframe_test.cc +++ b/test/superframe_test.cc @@ -16,8 +16,13 @@ namespace { +const int kTestMode = 0; +const int kSuperframeSyntax = 1; + +typedef std::tr1::tuple<libvpx_test::TestMode,int> SuperframeTestParam; + class SuperframeTest : public ::libvpx_test::EncoderTest, - public ::libvpx_test::CodecTestWithParam<libvpx_test::TestMode> { + public ::libvpx_test::CodecTestWithParam<SuperframeTestParam> { protected: SuperframeTest() : EncoderTest(GET_PARAM(0)), modified_buf_(NULL), last_sf_pts_(0) {} @@ -25,9 +30,13 @@ class SuperframeTest : public ::libvpx_test::EncoderTest, virtual void SetUp() { InitializeConfig(); - SetMode(GET_PARAM(1)); + const SuperframeTestParam input = GET_PARAM(1); + const libvpx_test::TestMode mode = std::tr1::get<kTestMode>(input); + const int syntax = std::tr1::get<kSuperframeSyntax>(input); + SetMode(mode); sf_count_ = 0; sf_count_max_ = INT_MAX; + is_vp10_style_superframe_ = syntax; } virtual void TearDown() { @@ -50,7 +59,8 @@ class SuperframeTest : public ::libvpx_test::EncoderTest, const uint8_t marker = buffer[pkt->data.frame.sz - 1]; const int frames = (marker & 0x7) + 1; const int mag = ((marker >> 3) & 3) + 1; - const unsigned int index_sz = 2 + mag * frames; + const unsigned int index_sz = + 2 + mag * (frames - is_vp10_style_superframe_); if ((marker & 0xe0) == 0xc0 && pkt->data.frame.sz >= index_sz && buffer[pkt->data.frame.sz - index_sz] == marker) { @@ -75,6 +85,7 @@ class SuperframeTest : public ::libvpx_test::EncoderTest, return pkt; } + int is_vp10_style_superframe_; int sf_count_; int sf_count_max_; vpx_codec_cx_pkt_t modified_pkt_; @@ -92,9 +103,11 @@ TEST_P(SuperframeTest, TestSuperframeIndexIsOptional) { EXPECT_EQ(sf_count_, 1); } -VP9_INSTANTIATE_TEST_CASE(SuperframeTest, ::testing::Values( - ::libvpx_test::kTwoPassGood)); +VP9_INSTANTIATE_TEST_CASE(SuperframeTest, ::testing::Combine( + ::testing::Values(::libvpx_test::kTwoPassGood), + ::testing::Values(0))); -VP10_INSTANTIATE_TEST_CASE(SuperframeTest, ::testing::Values( - ::libvpx_test::kTwoPassGood)); +VP10_INSTANTIATE_TEST_CASE(SuperframeTest, ::testing::Combine( + ::testing::Values(::libvpx_test::kTwoPassGood), + ::testing::Values(CONFIG_MISC_FIXES))); } // namespace |