[FFmpeg-devel] [PATCH V2 1/2] lavfi/opencl: add more opencl helper macro
Mark Thompson
sw at jkqxz.net
Wed Apr 17 00:24:56 EEST 2019
On 12/04/2019 16:09, Ruiling Song wrote:
> Signed-off-by: Ruiling Song <ruiling.song at intel.com>
> ---
> libavfilter/opencl.h | 38 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/libavfilter/opencl.h b/libavfilter/opencl.h
> index 0b06232ade..0fa5b49d3f 100644
> --- a/libavfilter/opencl.h
> +++ b/libavfilter/opencl.h
> @@ -73,6 +73,44 @@ typedef struct OpenCLFilterContext {
> goto fail; \
> } \
> } while(0)
> +/**
> + * release an OpenCL Kernel
> + */
> +#define CL_RELEASE_KERNEL(k) \
> +do { \
> + if (k) { \
> + cle = clReleaseKernel(k); \
> + if (cle != CL_SUCCESS) \
> + av_log(avctx, AV_LOG_ERROR, "Failed to release " \
> + "OpenCL kernel: %d.\n", cle); \
> + } \
> +} while(0)
> +
> +/**
> + * release an OpenCL Memory Object
> + */
> +#define CL_RELEASE_MEMORY(m) \
> +do { \
> + if (m) { \
> + cle = clReleaseMemObject(m); \
> + if (cle != CL_SUCCESS) \
> + av_log(avctx, AV_LOG_ERROR, "Failed to release " \
> + "OpenCL memory: %d.\n", cle); \
> + } \
> +} while(0)
> +
> +/**
> + * release an OpenCL Command Queue
> + */
> +#define CL_RELEASE_QUEUE(q) \
> +do { \
> + if (q) { \
> + cle = clReleaseCommandQueue(q); \
> + if (cle != CL_SUCCESS) \
> + av_log(avctx, AV_LOG_ERROR, "Failed to release " \
> + "cl command queue: %d.\n", cle); \
> + } \
> +} while(0)
>
> /**
> * Return that all inputs and outputs support only AV_PIX_FMT_OPENCL.
>
LGTM.
Thanks,
- Mark
More information about the ffmpeg-devel
mailing list