[FFmpeg-devel] [PATCH V2] lavu/qsv: remove the redundant libmfx init code
Li, Zhong
zhong.li at intel.com
Fri Sep 13 18:08:39 EEST 2019
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Mark
> Thompson
> Sent: Wednesday, September 11, 2019 6:34 AM
> To: ffmpeg-devel at ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH V2] lavu/qsv: remove the redundant libmfx
> init code
>
> On 05/09/2019 06:24, Zhong Li wrote:
> > Signed-off-by: Zhong Li <zhong.li at intel.com>
> > ---
> > libavutil/hwcontext_qsv.c | 24 ++----------------------
> > 1 file changed, 2 insertions(+), 22 deletions(-)
> >
> > diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c
> > index 0329a81..1c0e4ff 100644
> > --- a/libavutil/hwcontext_qsv.c
> > +++ b/libavutil/hwcontext_qsv.c
> > @@ -1145,27 +1145,6 @@ static int
> > qsv_device_derive_from_child(AVHWDeviceContext *ctx,
> >
> > err = MFXInit(implementation, &ver, &hwctx->session);
> > if (err != MFX_ERR_NONE) {
> > - av_log(ctx, AV_LOG_ERROR, "Error initializing an MFX session: "
> > - "%d.\n", err);
> > - ret = AVERROR_UNKNOWN;
> > - goto fail;
> > - }
> > -
> > - err = MFXQueryVersion(hwctx->session, &ver);
> > - if (err != MFX_ERR_NONE) {
> > - av_log(ctx, AV_LOG_ERROR, "Error querying an MFX session: %d.\n", err);
> > - ret = AVERROR_UNKNOWN;
> > - goto fail;
> > - }
> > -
> > - av_log(ctx, AV_LOG_VERBOSE,
> > - "Initialize MFX session: API version is %d.%d, implementation version
> is %d.%d\n",
> > - MFX_VERSION_MAJOR, MFX_VERSION_MINOR, ver.Major, ver.Minor);
> > -
> > - MFXClose(hwctx->session);
> > -
> > - err = MFXInit(implementation, &ver, &hwctx->session);
> > - if (err != MFX_ERR_NONE) {
> > av_log(ctx, AV_LOG_ERROR,
> > "Error initializing an MFX session: %d.\n", err);
> > ret = AVERROR_UNKNOWN;
> > @@ -1182,7 +1161,8 @@ static int
> > qsv_device_derive_from_child(AVHWDeviceContext *ctx,
> >
> > ret = MFXQueryVersion(hwctx->session,&ver);
> > if (ret == MFX_ERR_NONE) {
> > - av_log(ctx, AV_LOG_VERBOSE, "MFX compile/runtime
> API: %d.%d/%d.%d\n",
> > + av_log(ctx, AV_LOG_VERBOSE,
> > + "Initialize MFX session: API version is %d.%d,
> > + implementation version is %d.%d\n",
> > MFX_VERSION_MAJOR, MFX_VERSION_MINOR, ver.Major, ver.Minor);
> > }
> > return 0;
> >
>
> Can you add some more explanation? The extra session checking the version is
> not obviously redundant, and the commit log does indicate that the setup was
> deliberate:
>
> commit ccbb31c14b766ef666ef2daa8c467e478183a957
> Author: Luca Barbato <lu_zero at gentoo.org>
> Date: Mon Sep 25 09:57:30 2017 +0000
>
> qsv: Make sure the session is set with the latest version
>
> It is needed to have the calls to MFXJoinSession succeed.
>
>
> - Mark
Thanks to point out this.
So probably just need to remove the redundant MFXQueryVersion()?
Will update the patch.
More information about the ffmpeg-devel
mailing list