lavfi/opencl: add more opencl helper macro

Signed-off-by: Ruiling Song <ruiling.song@intel.com>
This commit is contained in:
Ruiling Song 2019-04-12 16:27:54 +08:00
parent 2be0bd12b7
commit 0fc464631a
1 changed files with 38 additions and 0 deletions

View File

@ -73,6 +73,44 @@ typedef struct OpenCLFilterContext {
goto fail; \ goto fail; \
} \ } \
} while(0) } 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 " \
"OpenCL command queue: %d.\n", cle); \
} \
} while(0)
/** /**
* Return that all inputs and outputs support only AV_PIX_FMT_OPENCL. * Return that all inputs and outputs support only AV_PIX_FMT_OPENCL.