Browse Source

configure: fix check for opencl_vaapi_intel_media.

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@gmail.com>
tags/n4.1
Jun Zhao Jun Zhao 7 years ago
parent
commit
2730a0fdf4
2 changed files with 8 additions and 5 deletions
  1. +2
    -4
      configure
  2. +6
    -1
      libavutil/hwcontext_opencl.c

+ 2
- 4
configure View File

@@ -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


+ 6
- 1
libavutil/hwcontext_opencl.c View File

@@ -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"
@@ -2245,10 +2247,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);


Loading…
Cancel
Save