EncoderTest: check that timestamps are monotonic

Change-Id: I813fa94c83df6282f382b24bbaccb1fe2fa94276
This commit is contained in:
James Zern 2012-08-08 14:16:08 -07:00
parent 3c37e7d2fa
commit 51ebb9a396
2 changed files with 6 additions and 1 deletions

@ -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);
}

@ -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