transform.h 663 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #define CL_USE_DEPRECATED_OPENCL_1_2_APIS
  3. #ifdef __APPLE__
  4. #include <OpenCL/cl.h>
  5. #else
  6. #include <CL/cl.h>
  7. #endif
  8. #include "common/mat.h"
  9. typedef struct {
  10. cl_kernel krnl;
  11. cl_mem m_y_cl, m_uv_cl;
  12. } Transform;
  13. void transform_init(Transform* s, cl_context ctx, cl_device_id device_id);
  14. void transform_destroy(Transform* transform);
  15. void transform_queue(Transform* s, cl_command_queue q,
  16. cl_mem yuv, int in_width, int in_height, int in_stride, int in_uv_offset,
  17. cl_mem out_y, cl_mem out_u, cl_mem out_v,
  18. int out_width, int out_height,
  19. const mat3& projection);