diff options
author | Haihao Xiang <haihao.xiang@intel.com> | 2021-01-04 10:46:14 +0800 |
---|---|---|
committer | Haihao Xiang <haihao.xiang@intel.com> | 2022-08-12 10:43:39 +0800 |
commit | 54c4196d565fec3e6a21d6ab3e788da7cd7000ed (patch) | |
tree | 9b95bc4dc6e879080cfe5e067a5fef5048ce9efb /libavfilter/vf_scale_qsv.c | |
parent | 6900feef0683a9fbad3f1106e0dbd5de243d71e0 (diff) |
lavfi/qsv: create mfx session using oneVPL for qsv filters
Use the mfxLoader handle in qsv hwdevice to create mfx session for qsv
filters.
This is in preparation for oneVPL support
Diffstat (limited to 'libavfilter/vf_scale_qsv.c')
-rw-r--r-- | libavfilter/vf_scale_qsv.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/libavfilter/vf_scale_qsv.c b/libavfilter/vf_scale_qsv.c index fa0152d785..758e730f78 100644 --- a/libavfilter/vf_scale_qsv.c +++ b/libavfilter/vf_scale_qsv.c @@ -278,7 +278,7 @@ static int init_out_session(AVFilterContext *ctx) mfxIMPL impl; mfxVideoParam par; mfxStatus err; - int i; + int i, ret; #if QSV_HAVE_OPAQUE opaque = !!(in_frames_hwctx->frame_type & MFX_MEMTYPE_OPAQUE_FRAME); @@ -315,11 +315,10 @@ static int init_out_session(AVFilterContext *ctx) /* create a "slave" session with those same properties, to be used for * actual scaling */ - err = MFXInit(impl, &ver, &s->session); - if (err != MFX_ERR_NONE) { - av_log(ctx, AV_LOG_ERROR, "Error initializing a session for scaling\n"); - return AVERROR_UNKNOWN; - } + ret = ff_qsvvpp_create_mfx_session(ctx, device_hwctx->loader, impl, &ver, + &s->session); + if (ret) + return ret; if (handle) { err = MFXVideoCORE_SetHandle(s->session, handle_type, handle); |