[FFmpeg-devel] [PATCH] qsv: Use the installed mfx include headers if possibile
Xiang, Haihao
haihao.xiang at intel.com
Mon May 14 03:50:49 EEST 2018
> On 11/05/18 08:52, Haihao Xiang wrote:
> > Currently an extra copy of mfx include headers from
> > {MSDK_INSTALL_PREFIX}/include
> > to {MSDK_INSTALL_PREFIX}/include/mfx is required when using pkg-config for
> > libmfx detection. This fix checks the installed mfx include headers first,
> > and falls back to the legacy way if that fails
> >
> > Signed-off-by: Haihao Xiang <haihao.xiang at intel.com>
> > ---
> > configure | 3 ++-
> > fftools/ffmpeg_qsv.c | 5 +++++
> > libavcodec/qsv.c | 10 ++++++++++
> > libavcodec/qsv.h | 4 ++++
> > libavcodec/qsv_internal.h | 4 ++++
> > libavcodec/qsvdec.c | 4 ++++
> > libavcodec/qsvdec.h | 4 ++++
> > libavcodec/qsvdec_h2645.c | 4 ++++
> > libavcodec/qsvdec_other.c | 4 ++++
> > libavcodec/qsvenc.c | 5 +++++
> > libavcodec/qsvenc.h | 4 ++++
> > libavcodec/qsvenc_h264.c | 4 ++++
> > libavcodec/qsvenc_hevc.c | 4 ++++
> > libavcodec/qsvenc_jpeg.c | 4 ++++
> > libavcodec/qsvenc_mpeg2.c | 4 ++++
> > libavfilter/qsvvpp.h | 4 ++++
> > libavfilter/vf_deinterlace_qsv.c | 4 ++++
> > libavfilter/vf_scale_qsv.c | 4 ++++
> > libavutil/hwcontext_opencl.c | 4 ++++
> > libavutil/hwcontext_qsv.c | 4 ++++
> > libavutil/hwcontext_qsv.h | 4 ++++
> > 21 files changed, 90 insertions(+), 1 deletion(-)
>
> I don't think it's a good idea to put an #ifdef like this in every file.
>
> >
> > diff --git a/configure b/configure
> > index a1f13a7109..e1f72495fb 100755
> > --- a/configure
> > +++ b/configure
> > @@ -6007,7 +6007,8 @@ enabled libkvazaar && require_pkg_config
> > libkvazaar "kvazaar >= 0.8.1" kv
> > # Media SDK or Intel Media Server Studio, these don't come with
> > # pkg-config support. Instead, users should make sure that the build
> > # can find the libraries and headers through other means.
> > -enabled libmfx && { check_pkg_config libmfx libmfx
> > "mfx/mfxvideo.h" MFXInit ||
> > +enabled libmfx && { { check_pkg_config libmfx libmfx
> > "mfxvideo.h" MFXInit && add_cflags -DMFX_DEFAULT_INC_PATH; } ||
> > + { check_pkg_config libmfx libmfx
> > "mfx/mfxvideo.h" MFXInit; } ||
> > { require libmfx "mfx/mfxvideo.h" MFXInit "-
> > llibmfx $advapi32_extralibs" && warn "using libmfx without pkg-config"; } }
> > enabled libmodplug && require_pkg_config libmodplug libmodplug
> > libmodplug/modplug.h ModPlug_Load
> > enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h
> > lame_set_VBR_quality -lmp3lame $libm_extralibs
>
> So in the current code, the first test is for the open-source dispatcher (<htt
> ps://github.com/lu-zero/mfx_dispatch>), which gets used everywhere that
> pkgconfig is supported, including mingw on Windows. The second test is for
> Windows cases where you can't make make pkgconfig work.
>
> What installs the headers directly in $PREFIX/include? Presumably this is a
> new change - can we ask them not to do that? (Because organising them in a
> subdirectory is I think much more sensible.)
>
Link below is the open-source version of MediaSDK which installs the headers
directly in $PREFIX/include. User needn't the open-source dispatcher any more on
Linux
https://github.com/Intel-Media-SDK/MediaSDK
> - Mark
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
More information about the ffmpeg-devel
mailing list