On Tue, 2021-09-28 at 16:48 -0300, James Almer wrote: > On 9/23/2021 3:28 AM, Haihao Xiang wrote: > > The following Cflags has been added to libmfx.pc, so mfx/ prefix is no > > longer needed when including mfx headers in FFmpeg. > > Cflags: -I${includedir} -I${includedir}/mfx > > > > Some old versions of libmfx have the following Cflags in libmfx.pc > > Cflags: -I${includedir} > > > > We may add -I${includedir}/mfx to CFLAGS when running 'configure > > --enable-libmfx' for old versions of libmfx, if so, mfx headers without > > mfx/ prefix can be included too. > > > > If libmfx comes without pkg-config support, we may do a small change to > > the settings of the environment(e.g. set -I/opt/intel/mediasdk/include/mfx > > instead of -I/opt/intel/mediasdk/include to CFLAGS), then the build can > > find the mfx headers without mfx/ prefix > > > > After applying this change, we won't need to change #include for mfx > > headers when mfx headers are installed under a new directory. > > > > This is in preparation for oneVPL support (mfx headers in oneVPL are > > installed under vpl directory) > > --- > > configure | 13 +++++++++---- > > libavcodec/qsv.c | 8 ++++---- > > libavcodec/qsv.h | 2 +- > > libavcodec/qsv_internal.h | 2 +- > > libavcodec/qsvdec.c | 2 +- > > libavcodec/qsvenc.c | 2 +- > > libavcodec/qsvenc.h | 2 +- > > libavcodec/qsvenc_h264.c | 2 +- > > libavcodec/qsvenc_hevc.c | 2 +- > > libavcodec/qsvenc_jpeg.c | 2 +- > > libavcodec/qsvenc_mpeg2.c | 2 +- > > libavcodec/qsvenc_vp9.c | 2 +- > > libavfilter/qsvvpp.h | 2 +- > > libavfilter/vf_deinterlace_qsv.c | 2 +- > > libavfilter/vf_scale_qsv.c | 2 +- > > libavutil/hwcontext_opencl.c | 2 +- > > libavutil/hwcontext_qsv.c | 2 +- > > libavutil/hwcontext_qsv.h | 2 +- > > 18 files changed, 29 insertions(+), 24 deletions(-) > > > > diff --git a/configure b/configure > > index 21c744e627..9655a5823e 100755 > > --- a/configure > > +++ b/configure > > @@ -6434,13 +6434,18 @@ enabled liblensfun && require_pkg_config > > liblensfun lensfun lensfun.h lf_ > > # 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 < 2.0" > > "mfx/mfxvideo.h" MFXInit || > > - { require "libmfx < 2.0" "mfx/mfxvideo.h" > > MFXInit "-llibmfx $advapi32_extralibs" && warn "using libmfx without pkg- > > config"; } } && > > + > > +enabled libmfx && { { check_pkg_config libmfx "libmfx < 2.0" > > "mfxvideo.h" MFXInit || > > +# Some old versions of libmfx have the following settings in libmfx.pc: > > +# includedir=/usr/include > > +# Cflags: -I${includedir} > > +# So add -I${includedir}/mfx to CFLAGS > > + { check_pkg_config libmfx "libmfx < 2.0" > > "mfx/mfxvideo.h" MFXInit && add_cflags -I$($pkg_config > > --variable=includedir > > libmfx)/mfx; } || > > add_cflags ${libmfx_cflags}/mfx
Because /usr/include is a system path, `pkg-config --cflags libmfx` returns nothing and libmfx_cflags is set to nothing. Hence the result `add_cflags ${libmfx_cflags}/mfx` is /mfx, which is wrong for libmfx. > > > + { require "libmfx < 2.0" "mfxvideo.h" > > MFXInit "-llibmfx $advapi32_extralibs" && warn "using libmfx without pkg- > > config"; } } && > > warn "build FFmpeg against libmfx 1.x, > > obsolete features of libmfx such as OPAQUE memory,\n"\ > > "multi-frame encode, user plugins and > > LA_EXT rate control mode are enabled"; } > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".