![]() |
![]() |
![]() |
Schroedinger Reference Manual | ![]() |
---|---|---|---|---|
SchroFrame; SchroFrameComponent; void (*SchroFrameFreeFunc) (SchroFrame *frame, void *priv); enum SchroFrameFormat; SchroFrame* schro_frame_new (void); void schro_frame_set_free_callback (SchroFrame *frame, SchroFrameFreeFunc free_func, void *priv); void schro_frame_convert (SchroFrame *dest, SchroFrame *src); void schro_frame_add (SchroFrame *dest, SchroFrame *src); void schro_frame_subtract (SchroFrame *dest, SchroFrame *src); void schro_frame_shift_left (SchroFrame *frame, int shift); void schro_frame_shift_right (SchroFrame *frame, int shift); void schro_frame_edge_extend (SchroFrame *frame, int width, int height); void schro_frame_zero_extend (SchroFrame *frame, int width, int height); void schro_frame_iwt_transform (SchroFrame *frame, SchroParams *params, int16_t *tmp); void schro_frame_inverse_iwt_transform (SchroFrame *frame, SchroParams *params, int16_t *tmp); void schro_frame_downsample (SchroFrame *dest, SchroFrame *src, int shift);
typedef struct { int refcount; SchroFrameFreeFunc free; void *regions[3]; void *priv; SchroFrameFormat format; int width; int height; SchroFrameComponent components[3]; uint32_t frame_number; } SchroFrame;
typedef struct { void *data; int stride; int width; int height; int length; int h_shift; int v_shift; } SchroFrameComponent;
typedef enum _SchroFrameFormat { SCHRO_FRAME_FORMAT_U8_444 = 0x00, SCHRO_FRAME_FORMAT_U8_422 = 0x01, SCHRO_FRAME_FORMAT_U8_420 = 0x03, SCHRO_FRAME_FORMAT_S16_444 = 0x04, SCHRO_FRAME_FORMAT_S16_422 = 0x05, SCHRO_FRAME_FORMAT_S16_420 = 0x07, SCHRO_FRAME_FORMAT_S32_444 = 0x08, SCHRO_FRAME_FORMAT_S32_422 = 0x09, SCHRO_FRAME_FORMAT_S32_420 = 0x0b, /* indirectly supported */ SCHRO_FRAME_FORMAT_YUYV = 0x100, /* YUYV order */ SCHRO_FRAME_FORMAT_UYVY = 0x101, /* UYVY order */ SCHRO_FRAME_FORMAT_AYUV = 0x102, SCHRO_FRAME_FORMAT_ARGB = 0x103 } SchroFrameFormat;
void schro_frame_set_free_callback (SchroFrame *frame, SchroFrameFreeFunc free_func, void *priv);
|
|
|
|
|
void schro_frame_shift_left (SchroFrame *frame, int shift);
|
|
|
void schro_frame_shift_right (SchroFrame *frame, int shift);
|
|
|
void schro_frame_edge_extend (SchroFrame *frame, int width, int height);
|
|
|
|
|
void schro_frame_zero_extend (SchroFrame *frame, int width, int height);
|
|
|
|
|
void schro_frame_iwt_transform (SchroFrame *frame, SchroParams *params, int16_t *tmp);
|
|
|
|
|
void schro_frame_inverse_iwt_transform (SchroFrame *frame, SchroParams *params, int16_t *tmp);
|
|
|
|
|
void schro_frame_downsample (SchroFrame *dest, SchroFrame *src, int shift);
|
|
|
|
|