aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/qsv.c
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2017-09-24 13:54:28 +0000
committerLuca Barbato <lu_zero@gentoo.org>2017-09-27 12:27:34 +0000
commitea25ccd1b2a980df8d43cc1f86a23e3c094090a6 (patch)
treeb324bc01e3c57291e54447777e0f6a10ac02063c /libavcodec/qsv.c
parentccbb31c14b766ef666ef2daa8c467e478183a957 (diff)
downloadffmpeg-ea25ccd1b2a980df8d43cc1f86a23e3c094090a6.tar.gz
qsv: Join the derived session to the parent
Should improve the performance on multiple transcoding from a single source.
Diffstat (limited to 'libavcodec/qsv.c')
-rw-r--r--libavcodec/qsv.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index a8ae65622c..96dca14e9a 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -593,6 +593,11 @@ int ff_qsv_init_session_device(AVCodecContext *avctx, mfxSession *psession,
"Error setting a HW handle");
}
+ err = MFXJoinSession(parent_session, session);
+ if (err != MFX_ERR_NONE)
+ return ff_qsv_print_error(avctx, err,
+ "Error joining session");
+
ret = qsv_load_plugins(session, load_plugins, avctx);
if (ret < 0) {
av_log(avctx, AV_LOG_ERROR, "Error loading plugins\n");