2023-09-27 15:45:31 -07:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "common/clutil.h"
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
int width, height;
|
|
|
|
cl_kernel loadys_krnl, loaduv_krnl, copy_krnl;
|
|
|
|
} LoadYUVState;
|
|
|
|
|
|
|
|
void loadyuv_init(LoadYUVState* s, cl_context ctx, cl_device_id device_id, int width, int height);
|
|
|
|
|
|
|
|
void loadyuv_destroy(LoadYUVState* s);
|
|
|
|
|
|
|
|
void loadyuv_queue(LoadYUVState* s, cl_command_queue q,
|
|
|
|
cl_mem y_cl, cl_mem u_cl, cl_mem v_cl,
|
2025-03-08 09:09:31 +00:00
|
|
|
cl_mem out_cl);
|
|
|
|
|
|
|
|
|
|
|
|
void copy_queue(LoadYUVState* s, cl_command_queue q, cl_mem src, cl_mem dst,
|
|
|
|
size_t src_offset, size_t dst_offset, size_t size);
|