libavcodec/dwt.c File Reference

#include "libavutil/attributes.h"
#include "dsputil.h"
#include "dwt.h"

Go to the source code of this file.

Defines

#define LIFT(src, ref, inv)   ((src) + ((inv) ? - (ref) : + (ref)))
#define LIFT(src, ref, inv)   ((src) + ((inv) ? - (ref) : + (ref)))
#define LIFTS(src, ref, inv)
#define LIFTS(src, ref, inv)

Functions

void ff_slice_buffer_init (slice_buffer *buf, int line_count, int max_allocated_lines, int line_width, IDWTELEM *base_buffer)
IDWTELEMff_slice_buffer_load_line (slice_buffer *buf, int line)
void ff_slice_buffer_release (slice_buffer *buf, int line)
void ff_slice_buffer_flush (slice_buffer *buf)
void ff_slice_buffer_destroy (slice_buffer *buf)
static int mirror (int v, int m)
static av_always_inline void lift (DWTELEM *dst, DWTELEM *src, DWTELEM *ref, int dst_step, int src_step, int ref_step, int width, int mul, int add, int shift, int highpass, int inverse)
static av_always_inline void inv_lift (IDWTELEM *dst, IDWTELEM *src, IDWTELEM *ref, int dst_step, int src_step, int ref_step, int width, int mul, int add, int shift, int highpass, int inverse)
static av_always_inline void liftS (DWTELEM *dst, DWTELEM *src, DWTELEM *ref, int dst_step, int src_step, int ref_step, int width, int mul, int add, int shift, int highpass, int inverse)
static av_always_inline void inv_liftS (IDWTELEM *dst, IDWTELEM *src, IDWTELEM *ref, int dst_step, int src_step, int ref_step, int width, int mul, int add, int shift, int highpass, int inverse)
static void horizontal_decompose53i (DWTELEM *b, int width)
static void vertical_decompose53iH0 (DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, int width)
static void vertical_decompose53iL0 (DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, int width)
static void spatial_decompose53i (DWTELEM *buffer, int width, int height, int stride)
static void horizontal_decompose97i (DWTELEM *b, int width)
static void vertical_decompose97iH0 (DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, int width)
static void vertical_decompose97iH1 (DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, int width)
static void vertical_decompose97iL0 (DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, int width)
static void vertical_decompose97iL1 (DWTELEM *b0, DWTELEM *b1, DWTELEM *b2, int width)
static void spatial_decompose97i (DWTELEM *buffer, int width, int height, int stride)
void ff_spatial_dwt (DWTELEM *buffer, int width, int height, int stride, int type, int decomposition_count)
static void horizontal_compose53i (IDWTELEM *b, int width)
static void vertical_compose53iH0 (IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, int width)
static void vertical_compose53iL0 (IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, int width)
static void spatial_compose53i_buffered_init (DWTCompose *cs, slice_buffer *sb, int height, int stride_line)
static void spatial_compose53i_init (DWTCompose *cs, IDWTELEM *buffer, int height, int stride)
static void spatial_compose53i_dy_buffered (DWTCompose *cs, slice_buffer *sb, int width, int height, int stride_line)
static void spatial_compose53i_dy (DWTCompose *cs, IDWTELEM *buffer, int width, int height, int stride)
static void av_unused spatial_compose53i (IDWTELEM *buffer, int width, int height, int stride)
void ff_snow_horizontal_compose97i (IDWTELEM *b, int width)
static void vertical_compose97iH0 (IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, int width)
static void vertical_compose97iH1 (IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, int width)
static void vertical_compose97iL0 (IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, int width)
static void vertical_compose97iL1 (IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, int width)
void ff_snow_vertical_compose97i (IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, IDWTELEM *b3, IDWTELEM *b4, IDWTELEM *b5, int width)
static void spatial_compose97i_buffered_init (DWTCompose *cs, slice_buffer *sb, int height, int stride_line)
static void spatial_compose97i_init (DWTCompose *cs, IDWTELEM *buffer, int height, int stride)
static void spatial_compose97i_dy_buffered (DWTContext *dsp, DWTCompose *cs, slice_buffer *sb, int width, int height, int stride_line)
static void spatial_compose97i_dy (DWTCompose *cs, IDWTELEM *buffer, int width, int height, int stride)
static void av_unused spatial_compose97i (IDWTELEM *buffer, int width, int height, int stride)
void ff_spatial_idwt_buffered_init (DWTCompose *cs, slice_buffer *sb, int width, int height, int stride_line, int type, int decomposition_count)
void ff_spatial_idwt_buffered_slice (DWTContext *dsp, DWTCompose *cs, slice_buffer *slice_buf, int width, int height, int stride_line, int type, int decomposition_count, int y)
void ff_spatial_idwt_init (DWTCompose *cs, IDWTELEM *buffer, int width, int height, int stride, int type, int decomposition_count)
void ff_spatial_idwt_slice (DWTCompose *cs, IDWTELEM *buffer, int width, int height, int stride, int type, int decomposition_count, int y)
void ff_spatial_idwt (IDWTELEM *buffer, int width, int height, int stride, int type, int decomposition_count)
static int w_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int w, int h, int type)
static int w53_8_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int w97_8_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int w53_16_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
static int w97_16_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
int ff_w53_32_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
int ff_w97_32_c (void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h)
void ff_dsputil_init_dwt (DSPContext *c)
void ff_dwt_init (DWTContext *c)


Define Documentation

#define LIFT ( src,
ref,
inv   )     ((src) + ((inv) ? - (ref) : + (ref)))

#define LIFT ( src,
ref,
inv   )     ((src) + ((inv) ? - (ref) : + (ref)))

Referenced by inv_lift(), and lift().

#define LIFTS ( src,
ref,
inv   ) 

Value:

((inv) ? \
        (src) + (((ref) + 4*(src))>>shift): \
        -((-16*(src) + (ref) + add/4 + 1 + (5<<25))/(5*4) - (1<<23)))

#define LIFTS ( src,
ref,
inv   ) 

Value:

((inv) ? \
            (src) + (((ref) + 4*(src))>>shift): \
            -((-16*(src) + (ref) + add/4 + 1 + (5<<25))/(5*4) - (1<<23)))

Referenced by inv_liftS(), and liftS().


Function Documentation

void ff_dsputil_init_dwt ( DSPContext c  ) 

Definition at line 828 of file dwt.c.

Referenced by dsputil_init().

void ff_dwt_init ( DWTContext c  ) 

Definition at line 836 of file dwt.c.

Referenced by common_init().

void ff_slice_buffer_destroy ( slice_buffer buf  ) 

Definition at line 81 of file dwt.c.

Referenced by decode_end(), and decode_frame().

void ff_slice_buffer_flush ( slice_buffer buf  ) 

Definition at line 72 of file dwt.c.

Referenced by decode_frame(), and ff_slice_buffer_destroy().

void ff_slice_buffer_init ( slice_buffer buf,
int  line_count,
int  max_allocated_lines,
int  line_width,
IDWTELEM base_buffer 
)

Definition at line 25 of file dwt.c.

Referenced by decode_frame().

IDWTELEM* ff_slice_buffer_load_line ( slice_buffer buf,
int  line 
)

Definition at line 43 of file dwt.c.

void ff_slice_buffer_release ( slice_buffer buf,
int  line 
)

Definition at line 59 of file dwt.c.

Referenced by decode_frame(), and ff_slice_buffer_flush().

void ff_snow_horizontal_compose97i ( IDWTELEM b,
int  width 
)

Definition at line 510 of file dwt.c.

Referenced by ff_dwt_init(), and spatial_compose97i_dy().

void ff_snow_vertical_compose97i ( IDWTELEM b0,
IDWTELEM b1,
IDWTELEM b2,
IDWTELEM b3,
IDWTELEM b4,
IDWTELEM b5,
int  width 
)

Definition at line 582 of file dwt.c.

Referenced by ff_dwt_init().

void ff_spatial_dwt ( DWTELEM buffer,
int  width,
int  height,
int  stride,
int  type,
int  decomposition_count 
)

Definition at line 392 of file dwt.c.

Referenced by w_c().

void ff_spatial_idwt ( IDWTELEM buffer,
int  width,
int  height,
int  stride,
int  type,
int  decomposition_count 
)

Definition at line 727 of file dwt.c.

void ff_spatial_idwt_buffered_init ( DWTCompose cs,
slice_buffer sb,
int  width,
int  height,
int  stride_line,
int  type,
int  decomposition_count 
)

Definition at line 673 of file dwt.c.

Referenced by decode_frame().

void ff_spatial_idwt_buffered_slice ( DWTContext dsp,
DWTCompose cs,
slice_buffer slice_buf,
int  width,
int  height,
int  stride_line,
int  type,
int  decomposition_count,
int  y 
)

Definition at line 683 of file dwt.c.

Referenced by decode_frame().

void ff_spatial_idwt_init ( DWTCompose cs,
IDWTELEM buffer,
int  width,
int  height,
int  stride,
int  type,
int  decomposition_count 
)

Definition at line 700 of file dwt.c.

Referenced by ff_spatial_idwt().

void ff_spatial_idwt_slice ( DWTCompose cs,
IDWTELEM buffer,
int  width,
int  height,
int  stride,
int  type,
int  decomposition_count,
int  y 
)

Definition at line 710 of file dwt.c.

Referenced by ff_spatial_idwt().

int ff_w53_32_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
)

Definition at line 820 of file dwt.c.

int ff_w97_32_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
)

Definition at line 824 of file dwt.c.

static void horizontal_compose53i ( IDWTELEM b,
int  width 
) [static]

Definition at line 403 of file dwt.c.

Referenced by spatial_compose53i_dy(), and spatial_compose53i_dy_buffered().

static void horizontal_decompose53i ( DWTELEM b,
int  width 
) [static]

Definition at line 234 of file dwt.c.

Referenced by spatial_decompose53i().

static void horizontal_decompose97i ( DWTELEM b,
int  width 
) [static]

Definition at line 319 of file dwt.c.

Referenced by spatial_decompose97i().

static av_always_inline void inv_lift ( IDWTELEM dst,
IDWTELEM src,
IDWTELEM ref,
int  dst_step,
int  src_step,
int  ref_step,
int  width,
int  mul,
int  add,
int  shift,
int  highpass,
int  inverse 
) [static]

Definition at line 134 of file dwt.c.

Referenced by ff_snow_horizontal_compose97i().

static av_always_inline void inv_liftS ( IDWTELEM dst,
IDWTELEM src,
IDWTELEM ref,
int  dst_step,
int  src_step,
int  ref_step,
int  width,
int  mul,
int  add,
int  shift,
int  highpass,
int  inverse 
) [static]

Definition at line 200 of file dwt.c.

Referenced by ff_snow_horizontal_compose97i().

static av_always_inline void lift ( DWTELEM dst,
DWTELEM src,
DWTELEM ref,
int  dst_step,
int  src_step,
int  ref_step,
int  width,
int  mul,
int  add,
int  shift,
int  highpass,
int  inverse 
) [static]

Definition at line 102 of file dwt.c.

Referenced by horizontal_decompose53i(), and horizontal_decompose97i().

static av_always_inline void liftS ( DWTELEM dst,
DWTELEM src,
DWTELEM ref,
int  dst_step,
int  src_step,
int  ref_step,
int  width,
int  mul,
int  add,
int  shift,
int  highpass,
int  inverse 
) [static]

Definition at line 167 of file dwt.c.

static int mirror ( int  v,
int  m 
) [inline, static]

static void av_unused spatial_compose53i ( IDWTELEM buffer,
int  width,
int  height,
int  stride 
) [static]

Definition at line 502 of file dwt.c.

static void spatial_compose53i_buffered_init ( DWTCompose cs,
slice_buffer sb,
int  height,
int  stride_line 
) [static]

Definition at line 444 of file dwt.c.

Referenced by ff_spatial_idwt_buffered_init().

static void spatial_compose53i_dy ( DWTCompose cs,
IDWTELEM buffer,
int  width,
int  height,
int  stride 
) [static]

Definition at line 484 of file dwt.c.

Referenced by ff_spatial_idwt_slice(), and spatial_compose53i().

static void spatial_compose53i_dy_buffered ( DWTCompose cs,
slice_buffer sb,
int  width,
int  height,
int  stride_line 
) [static]

Definition at line 456 of file dwt.c.

Referenced by ff_spatial_idwt_buffered_slice().

static void spatial_compose53i_init ( DWTCompose cs,
IDWTELEM buffer,
int  height,
int  stride 
) [static]

Definition at line 450 of file dwt.c.

Referenced by ff_spatial_idwt_init(), and spatial_compose53i().

static void av_unused spatial_compose97i ( IDWTELEM buffer,
int  width,
int  height,
int  stride 
) [static]

Definition at line 666 of file dwt.c.

static void spatial_compose97i_buffered_init ( DWTCompose cs,
slice_buffer sb,
int  height,
int  stride_line 
) [static]

Definition at line 597 of file dwt.c.

Referenced by ff_spatial_idwt_buffered_init().

static void spatial_compose97i_dy ( DWTCompose cs,
IDWTELEM buffer,
int  width,
int  height,
int  stride 
) [static]

Definition at line 642 of file dwt.c.

Referenced by ff_spatial_idwt_slice(), and spatial_compose97i().

static void spatial_compose97i_dy_buffered ( DWTContext dsp,
DWTCompose cs,
slice_buffer sb,
int  width,
int  height,
int  stride_line 
) [static]

Definition at line 613 of file dwt.c.

Referenced by ff_spatial_idwt_buffered_slice().

static void spatial_compose97i_init ( DWTCompose cs,
IDWTELEM buffer,
int  height,
int  stride 
) [static]

Definition at line 605 of file dwt.c.

Referenced by ff_spatial_idwt_init(), and spatial_compose97i().

static void spatial_decompose53i ( DWTELEM buffer,
int  width,
int  height,
int  stride 
) [static]

Definition at line 299 of file dwt.c.

Referenced by ff_spatial_dwt().

static void spatial_decompose97i ( DWTELEM buffer,
int  width,
int  height,
int  stride 
) [static]

Definition at line 366 of file dwt.c.

Referenced by ff_spatial_dwt().

static void vertical_compose53iH0 ( IDWTELEM b0,
IDWTELEM b1,
IDWTELEM b2,
int  width 
) [static]

Definition at line 428 of file dwt.c.

Referenced by spatial_compose53i_dy(), and spatial_compose53i_dy_buffered().

static void vertical_compose53iL0 ( IDWTELEM b0,
IDWTELEM b1,
IDWTELEM b2,
int  width 
) [static]

Definition at line 436 of file dwt.c.

Referenced by spatial_compose53i_dy(), and spatial_compose53i_dy_buffered().

static void vertical_compose97iH0 ( IDWTELEM b0,
IDWTELEM b1,
IDWTELEM b2,
int  width 
) [static]

Definition at line 546 of file dwt.c.

Referenced by spatial_compose97i_dy(), and spatial_compose97i_dy_buffered().

static void vertical_compose97iH1 ( IDWTELEM b0,
IDWTELEM b1,
IDWTELEM b2,
int  width 
) [static]

Definition at line 554 of file dwt.c.

Referenced by spatial_compose97i_dy(), and spatial_compose97i_dy_buffered().

static void vertical_compose97iL0 ( IDWTELEM b0,
IDWTELEM b1,
IDWTELEM b2,
int  width 
) [static]

Definition at line 562 of file dwt.c.

Referenced by spatial_compose97i_dy(), and spatial_compose97i_dy_buffered().

static void vertical_compose97iL1 ( IDWTELEM b0,
IDWTELEM b1,
IDWTELEM b2,
int  width 
) [static]

Definition at line 574 of file dwt.c.

Referenced by spatial_compose97i_dy(), and spatial_compose97i_dy_buffered().

static void vertical_decompose53iH0 ( DWTELEM b0,
DWTELEM b1,
DWTELEM b2,
int  width 
) [static]

Definition at line 283 of file dwt.c.

Referenced by spatial_decompose53i().

static void vertical_decompose53iL0 ( DWTELEM b0,
DWTELEM b1,
DWTELEM b2,
int  width 
) [static]

Definition at line 291 of file dwt.c.

Referenced by spatial_decompose53i().

static void vertical_decompose97iH0 ( DWTELEM b0,
DWTELEM b1,
DWTELEM b2,
int  width 
) [static]

Definition at line 330 of file dwt.c.

Referenced by spatial_decompose97i().

static void vertical_decompose97iH1 ( DWTELEM b0,
DWTELEM b1,
DWTELEM b2,
int  width 
) [static]

Definition at line 338 of file dwt.c.

Referenced by spatial_decompose97i().

static void vertical_decompose97iL0 ( DWTELEM b0,
DWTELEM b1,
DWTELEM b2,
int  width 
) [static]

Definition at line 346 of file dwt.c.

Referenced by spatial_decompose97i().

static void vertical_decompose97iL1 ( DWTELEM b0,
DWTELEM b1,
DWTELEM b2,
int  width 
) [static]

Definition at line 358 of file dwt.c.

Referenced by spatial_decompose97i().

static int w53_16_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 812 of file dwt.c.

Referenced by ff_dsputil_init_dwt().

static int w53_8_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 804 of file dwt.c.

Referenced by ff_dsputil_init_dwt().

static int w97_16_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 816 of file dwt.c.

Referenced by ff_dsputil_init_dwt().

static int w97_8_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  h 
) [static]

Definition at line 808 of file dwt.c.

Referenced by ff_dsputil_init_dwt().

static int w_c ( void *  v,
uint8_t *  pix1,
uint8_t *  pix2,
int  line_size,
int  w,
int  h,
int  type 
) [inline, static]

Definition at line 735 of file dwt.c.

Referenced by ff_w53_32_c(), ff_w97_32_c(), w53_16_c(), w53_8_c(), w97_16_c(), and w97_8_c().


Generated on Fri Oct 26 02:36:51 2012 for FFmpeg by  doxygen 1.5.8