summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2015-10-22 21:14:06 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-10-22 21:14:06 +0000
commitd6fc63ac31797a5f537bcf057047b8c7f33394bc (patch)
tree4151c195e9f3db3e51c2871e3250a058a1f538e1
parentdbefcc06099416980626da1dded54c14e2775419 (diff)
parentaa1125655519965c2c5bd2f99966d23ff6180d8a (diff)
downloadlibvpx-d6fc63ac31797a5f537bcf057047b8c7f33394bc.tar.gz
Merge "Adjust superframe-is-optional unit test for vp10 superframe syntax."
-rw-r--r--test/superframe_test.cc27
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