From aec667481e245327c2935455f7c617f65b18da74 Mon Sep 17 00:00:00 2001 From: Rodeo Date: Mon, 1 Jul 2013 00:32:45 +0000 Subject: [PATCH] QSV: use B-frame workaround (DTS generation) for VFR/PFR too. QSV's DTS generation fails on some VFR samples here. git-svn-id: svn://svn.handbrake.fr/HandBrake/branches/qsv@5626 b64f7644-9d1e-0410-96f1-a4d463321fa5 --- libhb/enc_qsv.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libhb/enc_qsv.c b/libhb/enc_qsv.c index 5d04e039f..431b3969b 100644 --- a/libhb/enc_qsv.c +++ b/libhb/enc_qsv.c @@ -635,8 +635,10 @@ int qsv_enc_init( av_qsv_context* qsv, hb_work_private_t * pv ){ // sanitize pv->bfrm_delay = FFMAX(pv->bfrm_delay, 0); pv->bfrm_delay = FFMIN(pv->bfrm_delay, BFRM_DELAY_MAX); - // check whether we need to generate DTS ourselves (MSDK < 1.6) - if (pv->bfrm_delay && !(hb_qsv_info->capabilities & HB_QSV_CAP_MSDK_1_6)) + // check whether we need to generate DTS ourselves (MSDK < 1.6 or VFR/PFR) + pv->bfrm_workaround = job->cfr != 1 || !(hb_qsv_info->capabilities & + HB_QSV_CAP_MSDK_1_6); + if (pv->bfrm_delay && pv->bfrm_workaround) { pv->bfrm_workaround = 1; pv->list_dts = hb_list_init(); -- 2.40.0