EncoderTest: check that timestamps are monotonic Change-Id: I813fa94c83df6282f382b24bbaccb1fe2fa94276
diff --git a/test/encode_test_driver.cc b/test/encode_test_driver.cc index d40256a..ce7e5b3 100644 --- a/test/encode_test_driver.cc +++ b/test/encode_test_driver.cc
@@ -94,6 +94,8 @@ void EncoderTest::RunLoop(VideoSource *video) { for (unsigned int pass = 0; pass < passes_; pass++) { + last_pts_ = 0; + if (passes_ == 1) cfg_.g_pass = VPX_RC_ONE_PASS; else if (pass == 0) @@ -120,6 +122,8 @@ if (pkt->kind != VPX_CODEC_CX_FRAME_PKT) continue; + ASSERT_GE(pkt->data.frame.pts, last_pts_); + last_pts_ = pkt->data.frame.pts; FramePktHook(pkt); }
diff --git a/test/encode_test_driver.h b/test/encode_test_driver.h index f00fe3c..d9a79ec 100644 --- a/test/encode_test_driver.h +++ b/test/encode_test_driver.h
@@ -138,7 +138,7 @@ // classes directly, so that tests can be parameterized differently. class EncoderTest { protected: - EncoderTest() : abort_(false), flags_(0) {} + EncoderTest() : abort_(false), flags_(0), last_pts_(0) {} virtual ~EncoderTest() {} @@ -177,6 +177,7 @@ unsigned long deadline_; TwopassStatsStore stats_; unsigned long flags_; + vpx_codec_pts_t last_pts_; }; } // namespace libvpx_test