From c6e405a1d3f44745af4439129ae3cc48a6b6ffcb Mon Sep 17 00:00:00 2001 From: Rodeo Date: Thu, 2 Jan 2014 15:46:46 +0000 Subject: qsv: log occurrences of invalid DTS (i.e. DTS > PTS) in the encoder. The muxer is not verbose enough, plus we have access to some additional info not available downstream. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5951 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- libhb/enc_qsv.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libhb/enc_qsv.c b/libhb/enc_qsv.c index 6f17f2b79..90bb26a57 100644 --- a/libhb/enc_qsv.c +++ b/libhb/enc_qsv.c @@ -1480,6 +1480,15 @@ int encqsvWork( hb_work_object_t * w, hb_buffer_t ** buf_in, } } + // check for PTS < DTS + if (buf->s.start < buf->s.renderOffset) + { + hb_log("encqsvWork: PTS %"PRId64" < DTS %"PRId64" for frame %d with type '%s' (bfrm_workaround: %d)", + buf->s.start, buf->s.renderOffset, pv->frames_out + 1, + hb_qsv_frametype_name(task->bs->FrameType), + pv->bfrm_workaround); + } + /* * In the MP4 container, DT(0) = STTS(0) = 0. * -- cgit v1.2.3