[FFmpeg-devel] [PATCH v3 4/4] configure: fix check for opencl_vaapi_intel_media.
Mark Thompson
sw at jkqxz.net
Sun Jun 3 21:18:01 EEST 2018
On 03/06/18 04:15, 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 ede32eb..aa17c13 100755
> --- a/configure
> +++ b/configure
> @@ -6326,10 +6326,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 9ecc361..f9b5ccc 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"
> @@ -2248,10 +2250,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);
>
Have you tested this in a non-MediaSDK environment? I don't think it will work, because it relies on proxying the special extension functions in the Media VAAPI driver (in particular, "DdiMedia_ExtGetSurfaceHandle") through libva.
I guess the patch is in itself harmless, but I'm not sure what the use-case of such a setup would be.
Thanks,
- Mark
More information about the ffmpeg-devel
mailing list