[FFmpeg-devel] [PATCH v2 1/2] qsv: needn't load user plugin since libmfx 1.28
Soft Works
softworkz at hotmail.com
Fri Aug 21 10:45:23 EEST 2020
> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Xiang, Haihao
> Sent: Friday, August 21, 2020 9:29 AM
> To: ffmpeg-devel at ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH v2 1/2] qsv: needn't load user plugin
> since libmfx 1.28
>
> On Fri, 2020-08-21 at 05:48 +0000, Soft Works wrote:
> > > -----Original Message-----
> > > From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> > > Haihao Xiang
> > > Sent: Friday, August 21, 2020 7:23 AM
> > > To: ffmpeg-devel at ffmpeg.org
> > > Cc: Haihao Xiang <haihao.xiang at intel.com>
> > > Subject: [FFmpeg-devel] [PATCH v2 1/2] qsv: needn't load user plugin
> > > since libmfx 1.28
> > >
> > > MFXVideoUSER_Load call is redundant since libmfx 1.28
> > > ---
> > > Fixed merge conflict when applying this patch by 'git am'
> > >
> > > libavcodec/qsv.c | 9 ++++++++-
> > > 1 file changed, 8 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c index
> > > 17720070f1..56a30ad642 100644
> > > --- a/libavcodec/qsv.c
> > > +++ b/libavcodec/qsv.c
> > > @@ -19,7 +19,6 @@
> > > */
> > >
> > > #include <mfx/mfxvideo.h>
> > > -#include <mfx/mfxplugin.h>
> > > #include <mfx/mfxjpeg.h>
> > >
> > > #include <stdio.h>
> > > @@ -36,6 +35,10 @@
> > > #include "avcodec.h"
> > > #include "qsv_internal.h"
> > >
> > > +#if !QSV_VERSION_ATLEAST(1, 28)
> > > +#include <mfx/mfxplugin.h>
> > > +#endif
> > > +
> > > #if QSV_VERSION_ATLEAST(1, 12)
> > > #include "mfx/mfxvp8.h"
> > > #endif
> > > @@ -295,6 +298,9 @@ enum AVPictureType ff_qsv_map_pictype(int
> > > mfx_pic_type) static int qsv_load_plugins(mfxSession session, const
> > > char *load_plugins,
> > > void *logctx) {
> > > +#if QSV_VERSION_ATLEAST(1, 28)
> > > + return 0;
> > > +#else
> > > if (!load_plugins || !*load_plugins)
> > > return 0;
> > >
> > > @@ -340,6 +346,7 @@ load_plugin_fail:
> > > }
> > >
> > > return 0;
> > > +#endif
> > >
> > > }
> >
> >
> > Hi,
> >
> > Are you sure this check is right? You are checking the libmfx version
> > against which ffmpeg is compiled.
> >
> > What happens, when a graphics driver supports only API level 1.21?
> >
>
> I understand your concern, however lots of features in FFmpeg are
> disabled/enabled against api version at compile-time.
That is in no way an argument to break compatibility with downlevel
drivers without any need. Things are working fine without that patch
for all API versions.
If you really want to avoid the plugin-load, then you should check the
driver's API level at runtime.
Kind regards,
softworkz
More information about the ffmpeg-devel
mailing list