2020-12-12 16:00:07 +08:00
|
|
|
#pragma once
|
2020-01-17 11:20:17 -08:00
|
|
|
|
2020-04-20 05:04:33 +08:00
|
|
|
#define CL_USE_DEPRECATED_OPENCL_1_2_APIS
|
2020-01-17 11:20:17 -08:00
|
|
|
#ifdef __APPLE__
|
|
|
|
|
#include <OpenCL/cl.h>
|
|
|
|
|
#else
|
|
|
|
|
#include <CL/cl.h>
|
|
|
|
|
#endif
|
|
|
|
|
|
2022-05-18 14:11:57 -07:00
|
|
|
#include "common/mat.h"
|
2020-01-17 11:20:17 -08:00
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
cl_kernel krnl;
|
|
|
|
|
cl_mem m_y_cl, m_uv_cl;
|
|
|
|
|
} Transform;
|
|
|
|
|
|
|
|
|
|
void transform_init(Transform* s, cl_context ctx, cl_device_id device_id);
|
|
|
|
|
|
|
|
|
|
void transform_destroy(Transform* transform);
|
|
|
|
|
|
|
|
|
|
void transform_queue(Transform* s, cl_command_queue q,
|
2022-06-01 08:18:28 -07:00
|
|
|
cl_mem yuv, int in_width, int in_height, int in_stride, int in_uv_offset,
|
2020-01-17 11:20:17 -08:00
|
|
|
cl_mem out_y, cl_mem out_u, cl_mem out_v,
|
|
|
|
|
int out_width, int out_height,
|
2021-03-12 03:42:16 +08:00
|
|
|
const mat3& projection);
|