summaryrefslogtreecommitdiffstats
path: root/libhb/decavcodec.c
diff options
context:
space:
mode:
authorRodeo <[email protected]>2013-11-08 23:22:52 +0000
committerRodeo <[email protected]>2013-11-08 23:22:52 +0000
commita1b76fabd64e2c30d015605bfd066dacfcefe9fa (patch)
treea87edcaffb46050caeea7817befa8e234bd53dc7 /libhb/decavcodec.c
parentc4477f468483470c8f531b19a7bda199122779fa (diff)
libhb: don't use DXYVA2-accelerated decoding when QSV-accelerated decoding is enabled. The latter is ebtter and faster.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5891 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/decavcodec.c')
-rw-r--r--libhb/decavcodec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libhb/decavcodec.c b/libhb/decavcodec.c
index c961bd719..846ef757d 100644
--- a/libhb/decavcodec.c
+++ b/libhb/decavcodec.c
@@ -1359,7 +1359,9 @@ static int decavcodecvInit( hb_work_object_t * w, hb_job_t * job )
pv->context->err_recognition = AV_EF_CRCCHECK;
pv->context->error_concealment = FF_EC_GUESS_MVS|FF_EC_DEBLOCK;
#ifdef USE_HWD
- if ( pv->job && job->use_hwd && hb_use_dxva( pv->title ) )
+ // QSV decoding is faster, so prefer it to DXVA2
+ if (pv->job != NULL && !pv->qsv.decode && pv->job->use_hwd &&
+ hb_use_dxva(pv->title))
{
pv->dxva2 = hb_va_create_dxva2( pv->dxva2, w->codec_param );
if( pv->dxva2 && pv->dxva2->do_job == HB_WORK_OK )