summaryrefslogtreecommitdiff
path: root/libavfilter/qsvvpp.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 /libavfilter/qsvvpp.c
parentccbb31c14b766ef666ef2daa8c467e478183a957 (diff)
qsv: Join the derived session to the parent
Should improve the performance on multiple transcoding from a single source.
Diffstat (limited to 'libavfilter/qsvvpp.c')
-rw-r--r--libavfilter/qsvvpp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c
index 0b639c2d67..a96cfa65de 100644
--- a/libavfilter/qsvvpp.c
+++ b/libavfilter/qsvvpp.c
@@ -515,6 +515,9 @@ static int init_vpp_session(AVFilterContext *avctx, QSVVPPContext *s)
if (ret != MFX_ERR_NONE)
return AVERROR_UNKNOWN;
}
+ ret = MFXJoinSession(device_hwctx->session, s->session);
+ if (ret != MFX_ERR_NONE)
+ return AVERROR_UNKNOWN;
if (IS_OPAQUE_MEMORY(s->in_mem_mode) || IS_OPAQUE_MEMORY(s->out_mem_mode)) {
s->opaque_alloc.In.Surfaces = s->surface_ptrs_in;