1 2 #ifndef __SCHRO_GPUFRAME_H__ 3 #define __SCHRO_GPUFRAME_H__ 4 5 #include <schroedinger/schro-stdint.h> 6 #include <schroedinger/schroframe.h> 7 8 SCHRO_BEGIN_DECLS 9 10 #ifdef SCHRO_ENABLE_UNSTABLE_API 11 12 #define SCHRO_FRAME_IS_CUDA(frame) ((frame)->domain && ((frame)->domain->flags & SCHRO_MEMORY_DOMAIN_CUDA)) 13 14 void schro_gpuframe_to_cpu (SchroFrame *dest, SchroFrame *src); 15 void schro_frame_to_gpu (SchroFrame *dest, SchroFrame *src); 16 17 void schro_gpuframe_convert (SchroFrame *dest, SchroFrame *src); 18 void schro_gpuframe_add (SchroFrame *dest, SchroFrame *src); 19 void schro_gpuframe_subtract (SchroFrame *dest, SchroFrame *src); 20 21 void schro_gpuframe_iwt_transform (SchroFrame *frame, SchroParams *params); 22 void schro_gpuframe_inverse_iwt_transform (SchroFrame *frame, SchroParams *params); 23 24 void schro_gpuframe_compare (SchroFrame *a, SchroFrame *b); 25 26 void schro_gpuframe_upsample(SchroFrame *dst, SchroFrame *src); 27 28 SchroUpsampledFrame *schro_upsampled_gpuframe_new(SchroVideoFormat *fmt); 29 void schro_upsampled_gpuframe_upsample(SchroUpsampledFrame *rv); 30 void schro_upsampled_gpuframe_free(SchroUpsampledFrame *x); 31 32 void schro_gpuframe_zero (SchroFrame *dest); 33 34 #endif 35 36 SCHRO_END_DECLS 37 38 #endif 39 40