schroframe

schroframe

Synopsis




                    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);

Description

Details

SchroFrame

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;


SchroFrameComponent

typedef struct {
  void *data;
  int stride;
  int width;
  int height;
  int length;
  int h_shift;
  int v_shift;
} SchroFrameComponent;


SchroFrameFreeFunc ()

void                (*SchroFrameFreeFunc)               (SchroFrame *frame,
                                                         void *priv);

frame :

priv :


enum SchroFrameFormat

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;


schro_frame_new ()

SchroFrame*         schro_frame_new                     (void);

Returns :


schro_frame_set_free_callback ()

void                schro_frame_set_free_callback       (SchroFrame *frame,
                                                         SchroFrameFreeFunc free_func,
                                                         void *priv);

frame :

free_func :

priv :


schro_frame_convert ()

void                schro_frame_convert                 (SchroFrame *dest,
                                                         SchroFrame *src);

dest :

src :


schro_frame_add ()

void                schro_frame_add                     (SchroFrame *dest,
                                                         SchroFrame *src);

dest :

src :


schro_frame_subtract ()

void                schro_frame_subtract                (SchroFrame *dest,
                                                         SchroFrame *src);

dest :

src :


schro_frame_shift_left ()

void                schro_frame_shift_left              (SchroFrame *frame,
                                                         int shift);

frame :

shift :


schro_frame_shift_right ()

void                schro_frame_shift_right             (SchroFrame *frame,
                                                         int shift);

frame :

shift :


schro_frame_edge_extend ()

void                schro_frame_edge_extend             (SchroFrame *frame,
                                                         int width,
                                                         int height);

frame :

width :

height :


schro_frame_zero_extend ()

void                schro_frame_zero_extend             (SchroFrame *frame,
                                                         int width,
                                                         int height);

frame :

width :

height :


schro_frame_iwt_transform ()

void                schro_frame_iwt_transform           (SchroFrame *frame,
                                                         SchroParams *params,
                                                         int16_t *tmp);

frame :

params :

tmp :


schro_frame_inverse_iwt_transform ()

void                schro_frame_inverse_iwt_transform   (SchroFrame *frame,
                                                         SchroParams *params,
                                                         int16_t *tmp);

frame :

params :

tmp :


schro_frame_downsample ()

void                schro_frame_downsample              (SchroFrame *dest,
                                                         SchroFrame *src,
                                                         int shift);

dest :

src :

shift :