From aa1125655519965c2c5bd2f99966d23ff6180d8a Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Wed, 21 Oct 2015 10:24:49 -0400 Subject: [PATCH] Adjust superframe-is-optional unit test for vp10 superframe syntax. Change-Id: Ic64b6928af7ae8ecc987f845b0bf0faecdacb072 --- test/superframe_test.cc | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/test/superframe_test.cc b/test/superframe_test.cc index a8102b7..90aa75b 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 SuperframeTestParam; + class SuperframeTest : public ::libvpx_test::EncoderTest, - public ::libvpx_test::CodecTestWithParam { + public ::libvpx_test::CodecTestWithParam { 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(input); + const int syntax = std::tr1::get(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 -- 2.7.4