31 #ifndef LIBAVUTIL_OPENCL_H
32 #define LIBAVUTIL_OPENCL_H
38 #include <OpenCL/cl.h>
42 #define AV_OPENCL_KERNEL( ... )# __VA_ARGS__
44 #define AV_OPENCL_MAX_KERNEL_NAME_SIZE 150
46 #define AV_OPENCL_MAX_DEVICE_NAME_SIZE 100
48 #define AV_OPENCL_MAX_PLATFORM_NAME_SIZE 100
248 uint8_t **src_data,
int *plane_size,
int plane_num);
261 cl_mem src_cl_buf,
size_t cl_buffer_size);
const char const char void * val
const char * av_opencl_errstr(cl_int status)
Get OpenCL error string.
int av_opencl_buffer_read(uint8_t *dst_buf, cl_mem src_cl_buf, size_t buf_size)
Read data from OpenCL buffer to memory buffer.
int av_opencl_get_device_list(AVOpenCLDeviceList **device_list)
Get OpenCL device list.
cl_platform_id platform_id
int av_opencl_set_option(const char *key, const char *val)
Set option in the global OpenCL context.
int av_opencl_buffer_create(cl_mem *cl_buf, size_t cl_buf_size, int flags, void *host_ptr)
Create OpenCL buffer.
int av_opencl_buffer_write_image(cl_mem dst_cl_buf, size_t cl_buffer_size, int dst_cl_offset, uint8_t **src_data, int *plane_size, int plane_num)
Write image data from memory to OpenCL buffer.
cl_device_type device_type
AVOpenCLPlatformNode ** platform_node
void av_opencl_release_kernel(AVOpenCLKernelEnv *env)
Release kernel object.
int av_opencl_register_kernel_code(const char *kernel_code)
Register kernel code.
#define AV_OPENCL_MAX_DEVICE_NAME_SIZE
void av_opencl_free_external_env(AVOpenCLExternalEnv **ext_opencl_env)
Free OpenCL external environment.
int av_opencl_create_kernel(AVOpenCLKernelEnv *env, const char *kernel_name)
Create kernel object in the specified kernel environment.
void av_opencl_free_option(void)
Free option values of the global OpenCL context.
AVOpenCLExternalEnv * av_opencl_alloc_external_env(void)
Allocate OpenCL external environment.
void av_opencl_buffer_release(cl_mem *cl_buf)
Release OpenCL buffer.
cl_command_queue command_queue
#define AV_OPENCL_MAX_KERNEL_NAME_SIZE
#define AV_OPENCL_MAX_PLATFORM_NAME_SIZE
int av_opencl_buffer_write(cl_mem dst_cl_buf, uint8_t *src_buf, size_t buf_size)
Write OpenCL buffer with data from src_buf.
void av_opencl_free_device_list(AVOpenCLDeviceList **device_list)
Free OpenCL device list.
void av_opencl_uninit(void)
Release OpenCL environment.
cl_command_queue command_queue
int av_opencl_init(AVOpenCLExternalEnv *ext_opencl_env)
Initialize the run time OpenCL environment and compile the kernel code registered with av_opencl_regi...
int av_opencl_get_option(const char *key, uint8_t **out_val)
Get option value from the global OpenCL context.
int av_opencl_buffer_read_image(uint8_t **dst_data, int *plane_size, int plane_num, cl_mem src_cl_buf, size_t cl_buffer_size)
Read image data from OpenCL buffer.