1 2 #ifndef __SCHRO_VIRT_FRAME_H__ 3 #define __SCHRO_VIRT_FRAME_H__ 4 5 #include <schroedinger/schroutils.h> 6 #include <schroedinger/schroframe.h> 7 8 SCHRO_BEGIN_DECLS 9 10 #ifdef SCHRO_ENABLE_UNSTABLE_API 11 12 SchroFrame *schro_frame_new_virtual (SchroMemoryDomain *domain, 13 SchroFrameFormat format, int width, int height); 14 15 void *schro_virt_frame_get_line (SchroFrame *frame, int component, int i); 16 void *schro_virt_frame_get_line_unrendered (SchroFrame *frame, int component, int i); 17 void schro_virt_frame_set_line_rendered (SchroFrame *frame, int component, int i); 18 void schro_virt_frame_render_line (SchroFrame *frame, void *dest, 19 int component, int i); 20 21 void schro_virt_frame_render (SchroFrame *frame, SchroFrame *dest); 22 23 SchroFrame *schro_virt_frame_new_horiz_downsample (SchroFrame *vf, int cosite); 24 SchroFrame *schro_virt_frame_new_vert_downsample (SchroFrame *vf, int cosite); 25 SchroFrame *schro_virt_frame_new_vert_resample (SchroFrame *vf, int height); 26 SchroFrame *schro_virt_frame_new_horiz_resample (SchroFrame *vf, int width); 27 SchroFrame *schro_virt_frame_new_unpack (SchroFrame *vf); 28 SchroFrame *schro_virt_frame_new_pack_YUY2 (SchroFrame *vf); 29 SchroFrame *schro_virt_frame_new_pack_UYVY (SchroFrame *vf); 30 SchroFrame *schro_virt_frame_new_pack_AYUV (SchroFrame *vf); 31 SchroFrame *schro_virt_frame_new_pack_v216 (SchroFrame *vf); 32 SchroFrame *schro_virt_frame_new_pack_v210 (SchroFrame *vf); 33 SchroFrame *schro_virt_frame_new_pack_RGB (SchroFrame *vf); 34 SchroFrame *schro_virt_frame_new_pack_AY64 (SchroFrame * vf); 35 SchroFrame *schro_virt_frame_new_color_matrix (SchroFrame *vf); 36 SchroFrame *schro_virt_frame_new_subsample (SchroFrame *vf, SchroFrameFormat format); 37 38 SchroFrame * schro_virt_frame_new_convert_u8 (SchroFrame *vf); 39 SchroFrame * schro_virt_frame_new_convert_u8_s32 (SchroFrame *vf); 40 SchroFrame * schro_virt_frame_new_convert_s16 (SchroFrame *vf); 41 SchroFrame * schro_virt_frame_new_convert_s32 (SchroFrame * vf); 42 SchroFrame * schro_virt_frame_new_crop (SchroFrame *vf, int width, int height); 43 SchroFrame * schro_virt_frame_new_edgeextend (SchroFrame *vf, int width, int height); 44 SchroFrame * schro_virt_frame_new_interlace (SchroFrame *vf_top, SchroFrame *vf_bottom); 45 46 #endif 47 48 SCHRO_END_DECLS 49 50 #endif 51 52