[FFmpeg-devel] [PATCH v2 1/4] configure: fix check for opencl_vaapi_intel_media.

Mark Thompson sw at jkqxz.net
Thu Jun 28 18:43:57 EEST 2018


On 21/06/18 12:45, Jun Zhao wrote:
> opencl_vaapi_intel_media doesn't depend on libmfx, OpenCLâ„¢ Drivers
> and Runtimes for Intel® Architectureis is a standalone release, more
> information can be found in the link:
> https://software.intel.com/en-us/articles/opencl-drivers.
> 
> Signed-off-by: Jun Zhao <mypopydev at gmail.com>
> ---
>  configure                    | 6 ++----
>  libavutil/hwcontext_opencl.c | 7 ++++++-
>  2 files changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/configure b/configure
> index 6ad5ce8..717b2f1 100755
> --- a/configure
> +++ b/configure
> @@ -6336,10 +6336,8 @@ fi
>  
>  if enabled_all opencl vaapi ; then
>      enabled opencl_drm_beignet && enable opencl_vaapi_beignet
> -    if enabled libmfx ; then
> -        check_type "CL/cl.h CL/va_ext.h" "clCreateFromVA_APIMediaSurfaceINTEL_fn" &&
> -            enable opencl_vaapi_intel_media
> -    fi
> +    check_type "CL/cl.h CL/va_ext.h" "clCreateFromVA_APIMediaSurfaceINTEL_fn" &&
> +        enable opencl_vaapi_intel_media
>  fi
>  
>  if enabled_all opencl dxva2 ; then
> diff --git a/libavutil/hwcontext_opencl.c b/libavutil/hwcontext_opencl.c
> index 07458c2..f6cceef 100644
> --- a/libavutil/hwcontext_opencl.c
> +++ b/libavutil/hwcontext_opencl.c
> @@ -46,7 +46,9 @@
>  #endif
>  
>  #if HAVE_OPENCL_VAAPI_INTEL_MEDIA
> +#if CONFIG_LIBMFX
>  #include <mfx/mfxstructures.h>
> +#endif
>  #include <va/va.h>
>  #include <CL/va_ext.h>
>  #include "hwcontext_vaapi.h"
> @@ -2249,10 +2251,13 @@ static int opencl_map_from_qsv(AVHWFramesContext *dst_fc, AVFrame *dst,
>      cl_int cle;
>      int err, p;
>  
> +#if CONFIG_LIBMFX
>      if (src->format == AV_PIX_FMT_QSV) {
>          mfxFrameSurface1 *mfx_surface = (mfxFrameSurface1*)src->data[3];
>          va_surface = *(VASurfaceID*)mfx_surface->Data.MemId;
> -    } else if (src->format == AV_PIX_FMT_VAAPI) {
> +    } else
> +#endif
> +        if (src->format == AV_PIX_FMT_VAAPI) {
>          va_surface = (VASurfaceID)(uintptr_t)src->data[3];
>      } else {
>          return AVERROR(ENOSYS);
> 

Looks ok to me.

Thanks,

- Mark


More information about the ffmpeg-devel mailing list