diff options
author | Rodeo <[email protected]> | 2014-01-12 22:52:30 +0000 |
---|---|---|
committer | Rodeo <[email protected]> | 2014-01-12 22:52:30 +0000 |
commit | d4fdf932d85c988bae5a9046730a98f71c2364a5 (patch) | |
tree | 918b5b6a7e31c45a1b3b8432f1f5c4f969f17a81 /libhb/enc_qsv.c | |
parent | d69e6b4612a40ba2a4714ac8e02a9b4fea6bb03c (diff) |
QSV: base the B-pyramid check on the presence of B-references, rather than the initial delay.
This is potentially more accurate.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5963 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/enc_qsv.c')
-rw-r--r-- | libhb/enc_qsv.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/libhb/enc_qsv.c b/libhb/enc_qsv.c index ca2158a67..e4d0dc04b 100644 --- a/libhb/enc_qsv.c +++ b/libhb/enc_qsv.c @@ -1464,13 +1464,6 @@ int encqsvWork( hb_work_object_t * w, hb_buffer_t ** buf_in, ((task->bs->TimeStamp - task->bs->DecodeTimeStamp + (duration / 2)) / duration)); - // check whether b_pyramid is respected, log if needed - if ((pv->param.gop.b_pyramid != 0 && pv->bfrm_delay <= 1) || - (pv->param.gop.b_pyramid == 0 && pv->bfrm_delay >= 2)) - { - hb_log( "encqsvWork: b_pyramid %d not respected (delay: %d)", - pv->param.gop.b_pyramid, pv->bfrm_delay); - } } if (!pv->bfrm_workaround) @@ -1502,6 +1495,15 @@ int encqsvWork( hb_work_object_t * w, hb_buffer_t ** buf_in, } } + // check whether B-pyramid is used even though it's disabled + if ((pv->param.gop.b_pyramid == 0) && + (task->bs->FrameType & MFX_FRAMETYPE_B) && + (task->bs->FrameType & MFX_FRAMETYPE_REF)) + { + hb_log("encqsvWork: BPyramid off not respected (delay: %d)", + pv->bfrm_delay); + } + // check for PTS < DTS if (buf->s.start < buf->s.renderOffset) { |