From: James Zern Date: Wed, 8 Aug 2012 21:16:08 +0000 (-0700) Subject: EncoderTest: check that timestamps are monotonic X-Git-Tag: v1.2.0~112 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=51ebb9a39671f3a9743fb4cd0b155d577d2f8a65;p=libvpx EncoderTest: check that timestamps are monotonic Change-Id: I813fa94c83df6282f382b24bbaccb1fe2fa94276 --- 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