diff --git a/test/encode_test_driver.cc b/test/encode_test_driver.cc index d40256aaa..ce7e5b35e 100644 --- a/test/encode_test_driver.cc +++ b/test/encode_test_driver.cc @@ -94,6 +94,8 @@ void EncoderTest::SetMode(TestMode mode) { 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 @@ void EncoderTest::RunLoop(VideoSource *video) { 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 f00fe3c35..d9a79ec31 100644 --- a/test/encode_test_driver.h +++ b/test/encode_test_driver.h @@ -138,7 +138,7 @@ class Encoder { // 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 @@ class EncoderTest { unsigned long deadline_; TwopassStatsStore stats_; unsigned long flags_; + vpx_codec_pts_t last_pts_; }; } // namespace libvpx_test