diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index b2f2b4db71..bd8c24321e 100644 --- a/libavcodec/qsvenc.c +++ b/libavcodec/qsvenc.c @@ -692,6 +692,13 @@ static int qsvenc_init_session(AVCodecContext *avctx, QSVEncContext *q) return ret; } + q->session = q->internal_session; + } else if (avctx->hw_device_ctx) { + ret = ff_qsv_init_session_device(avctx, &q->internal_session, + avctx->hw_device_ctx, q->load_plugins); + if (ret < 0) + return ret; + q->session = q->internal_session; } else { ret = ff_qsv_init_internal_session(avctx, &q->internal_session,