[FFmpeg-devel] [PATCH] configure: include pkgconfig path as vaapi header search

Song, Ruiling ruiling.song at intel.com
Thu Mar 28 05:27:00 EET 2019



> -----Original Message-----
> From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf Of
> Dennis Mungai
> Sent: Thursday, March 28, 2019 11:15 AM
> To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH] configure: include pkgconfig path as vaapi
> header search
> 
> On Thu, 28 Mar 2019 at 06:10, Song, Ruiling <ruiling.song at intel.com> wrote:
> 
> >
> >
> > > -----Original Message-----
> > > From: ffmpeg-devel [mailto:ffmpeg-devel-bounces at ffmpeg.org] On Behalf
> Of
> > > Dennis Mungai
> > > Sent: Thursday, March 28, 2019 7:11 AM
> > > To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> > > Subject: Re: [FFmpeg-devel] [PATCH] configure: include pkgconfig path as
> > vaapi
> > > header search
> > >
> > > On Thu, 28 Mar 2019 at 02:05, Mark Thompson <sw at jkqxz.net> wrote:
> > >
> > > > On 20/03/2019 07:57, Zhong Li wrote:
> > > > > Currectly just standard header path and be found,
> > > > > check_type/struct will fail if vaapi is installed somewhere else.
> > > > > ---
> > > > >  configure | 18 ++++++++++--------
> > > > >  1 file changed, 10 insertions(+), 8 deletions(-)
> > > > >
> > > > > diff --git a/configure b/configure
> > > > > index eaf543df96..0e3c2d24bf 100755
> > > > > --- a/configure
> > > > > +++ b/configure
> > > > > @@ -6024,14 +6024,6 @@ check_type "windows.h d3d11.h"
> > > > "ID3D11VideoDecoder"
> > > > >  check_type "windows.h d3d11.h" "ID3D11VideoContext"
> > > > >  check_type "d3d9.h dxva2api.h" DXVA2_ConfigPictureDecode
> > > > -D_WIN32_WINNT=0x0602
> > > > >
> > > > > -check_type "va/va.h va/va_dec_hevc.h"
> "VAPictureParameterBufferHEVC"
> > > > > -check_struct "va/va.h" "VADecPictureParameterBufferVP9" bit_depth
> > > > > -check_struct "va/va.h va/va_vpp.h" "VAProcPipelineCaps"
> > rotation_flags
> > > > > -check_type "va/va.h va/va_enc_hevc.h"
> > > "VAEncPictureParameterBufferHEVC"
> > > > > -check_type "va/va.h va/va_enc_jpeg.h"
> > > "VAEncPictureParameterBufferJPEG"
> > > > > -check_type "va/va.h va/va_enc_vp8.h"
> > "VAEncPictureParameterBufferVP8"
> > > > > -check_type "va/va.h va/va_enc_vp9.h"
> > "VAEncPictureParameterBufferVP9"
> > > > > -
> > > > >  check_type "vdpau/vdpau.h" "VdpPictureInfoHEVC"
> > > > >
> > > > >  if enabled cuda_sdk; then
> > > > > @@ -6469,6 +6461,16 @@ if enabled vaapi; then
> > > > >      check_cpp_condition vaapi_1 "va/va.h" "VA_CHECK_VERSION(1, 0,
> > 0)"
> > > > >  fi
> > > > >
> > > > > +if enabled vaapi; then
> > > >
> > > > Merge this into the previous block, which has the same condition.
> > > >
> > > > > +    check_type "va/va.h va/va_dec_hevc.h"
> > > "VAPictureParameterBufferHEVC"
> > > > > +    check_struct "va/va.h" "VADecPictureParameterBufferVP9"
> > bit_depth
> > > > > +    check_struct "va/va.h va/va_vpp.h" "VAProcPipelineCaps"
> > > > rotation_flags
> > > > > +    check_type "va/va.h va/va_enc_hevc.h"
> > > > "VAEncPictureParameterBufferHEVC"
> > > > > +    check_type "va/va.h va/va_enc_jpeg.h"
> > > > "VAEncPictureParameterBufferJPEG"
> > > > > +    check_type "va/va.h va/va_enc_vp8.h"
> > > > "VAEncPictureParameterBufferVP8"
> > > > > +    check_type "va/va.h va/va_enc_vp9.h"
> > > > "VAEncPictureParameterBufferVP9"
> > > > > +fi
> > > > > +
> > > > >  if enabled_all opencl libdrm ; then
> > > > >      check_type "CL/cl_intel.h" "clCreateImageFromFdINTEL_fn" &&
> > > > >          enable opencl_drm_beignet
> > > > >
> > > >
> > > > LGTM with that.
> > > >
> > > > Thanks,
> > > >
> > > > - Mark
> > > >
> > > >
> > > Does a similar check exist for Intel's Neo OpenCL runtime?
> > Do you mean checking whether package intel-opencl (Neo package) exists in
> > the system?
> >
> >
> 
> Yes.
> 
> Neo is the successor to Beignet, correct?
Yes, that's the truth.
Currently we simply checking against the specific header file of OpenCL, which is in-fact not accurate.
I am not sure whether you would like to use Neo together with intel-media-driver, which is the most targeted opencl usage in FFmpeg.
If that's the case, I think it may be hard to find a matching intel-media-driver to work with Neo release package.
Because Neo release version depends on a very outdated libva revision.
I just sent a patch to Neo to update libva revision dependency. Once they accept the patch and new Neo release package comes out,
I think we can change to check against Neo package. People would not need to build Neo themselves then.

Thanks!
Ruiling
> 
> Enabling similar functionality for Neo should allow for the same feature
> support for these not using Beignet.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list