#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | DWTCompose |
struct | slice_buffer_s |
Used to minimize the amount of memory used in order to optimize cache performance. More... | |
struct | DWTContext |
Defines | |
#define | MAX_DWT_SUPPORT 8 |
#define | MAX_DECOMPOSITIONS 8 |
#define | COMPOSE_53iL0(b0, b1, b2) (b1 - ((b0 + b2 + 2) >> 2)) |
#define | COMPOSE_DIRAC53iH0(b0, b1, b2) (b1 + ((b0 + b2 + 1) >> 1)) |
#define | COMPOSE_DD97iH0(b0, b1, b2, b3, b4) (b2 + ((-b0 + 9*b1 + 9*b3 - b4 + 8) >> 4)) |
#define | COMPOSE_DD137iL0(b0, b1, b2, b3, b4) (b2 - ((-b0 + 9*b1 + 9*b3 - b4 + 16) >> 5)) |
#define | COMPOSE_HAARiL0(b0, b1) (b0 - ((b1 + 1) >> 1)) |
#define | COMPOSE_HAARiH0(b0, b1) (b0 + b1) |
#define | COMPOSE_FIDELITYiL0(b0, b1, b2, b3, b4, b5, b6, b7, b8) (b4 - ((-8*(b0+b8) + 21*(b1+b7) - 46*(b2+b6) + 161*(b3+b5) + 128) >> 8)) |
#define | COMPOSE_FIDELITYiH0(b0, b1, b2, b3, b4, b5, b6, b7, b8) (b4 + ((-2*(b0+b8) + 10*(b1+b7) - 25*(b2+b6) + 81*(b3+b5) + 128) >> 8)) |
#define | COMPOSE_DAUB97iL1(b0, b1, b2) (b1 - ((1817*(b0 + b2) + 2048) >> 12)) |
#define | COMPOSE_DAUB97iH1(b0, b1, b2) (b1 - (( 113*(b0 + b2) + 64) >> 7)) |
#define | COMPOSE_DAUB97iL0(b0, b1, b2) (b1 + (( 217*(b0 + b2) + 2048) >> 12)) |
#define | COMPOSE_DAUB97iH0(b0, b1, b2) (b1 + ((6497*(b0 + b2) + 2048) >> 12)) |
#define | DWT_97 0 |
#define | DWT_53 1 |
#define | liftS lift |
#define | W_AM 3 |
#define | W_AO 0 |
#define | W_AS 1 |
#define | W_BM 1 |
#define | W_BO 8 |
#define | W_BS 4 |
#define | W_CM 1 |
#define | W_CO 0 |
#define | W_CS 0 |
#define | W_DM 3 |
#define | W_DO 4 |
#define | W_DS 3 |
#define | slice_buffer_get_line(slice_buf, line_num) |
Typedefs | |
typedef int | DWTELEM |
typedef short | IDWTELEM |
typedef struct slice_buffer_s | slice_buffer |
Used to minimize the amount of memory used in order to optimize cache performance. | |
typedef void(* | vertical_compose_2tap )(IDWTELEM *b0, IDWTELEM *b1, int width) |
typedef void(* | vertical_compose_3tap )(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, int width) |
typedef void(* | vertical_compose_5tap )(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, IDWTELEM *b3, IDWTELEM *b4, int width) |
typedef void(* | vertical_compose_9tap )(IDWTELEM *dst, IDWTELEM *b[8], int width) |
Enumerations | |
enum | dwt_type { DWT_SNOW_DAUB9_7, DWT_SNOW_LEGALL5_3, DWT_DIRAC_DD9_7, DWT_DIRAC_LEGALL5_3, DWT_DIRAC_DD13_7, DWT_DIRAC_HAAR0, DWT_DIRAC_HAAR1, DWT_DIRAC_FIDELITY, DWT_DIRAC_DAUB9_7, DWT_NUM_TYPES } |
Functions | |
int | ff_spatial_idwt_init2 (DWTContext *d, IDWTELEM *buffer, int width, int height, int stride, enum dwt_type type, int decomposition_count, IDWTELEM *temp) |
int | ff_spatial_idwt2 (IDWTELEM *buffer, int width, int height, int stride, enum dwt_type type, int decomposition_count, IDWTELEM *temp) |
void | ff_spatial_idwt_slice2 (DWTContext *d, int y) |
int | ff_slice_buffer_init (slice_buffer *buf, int line_count, int max_allocated_lines, int line_width, IDWTELEM *base_buffer) |
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) |
IDWTELEM * | ff_slice_buffer_load_line (slice_buffer *buf, int line) |
void | ff_snow_vertical_compose97i (IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, IDWTELEM *b3, IDWTELEM *b4, IDWTELEM *b5, int width) |
void | ff_snow_horizontal_compose97i (IDWTELEM *b, int width) |
void | ff_snow_inner_add_yblock (const uint8_t *obmc, const int obmc_stride, uint8_t **block, int b_w, int b_h, int src_x, int src_y, int src_stride, slice_buffer *sb, int add, uint8_t *dst8) |
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_spatial_dwt (int *buffer, int width, int height, int stride, int type, int decomposition_count) |
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 (IDWTELEM *buffer, int width, int height, int stride, int type, int decomposition_count) |
void | ff_dwt_init (DWTContext *c) |
void | ff_dwt_init_x86 (DWTContext *c) |
#define COMPOSE_53iL0 | ( | b0, | |||
b1, | |||||
b2 | ) | (b1 - ((b0 + b2 + 2) >> 2)) |
Definition at line 115 of file dwt.h.
Referenced by horizontal_compose_dd97i(), and horizontal_compose_dirac53i().
#define COMPOSE_DAUB97iH0 | ( | b0, | |||
b1, | |||||
b2 | ) | (b1 + ((6497*(b0 + b2) + 2048) >> 12)) |
Definition at line 148 of file dwt.h.
Referenced by horizontal_compose_daub97i(), and vertical_compose_daub97iH0().
#define COMPOSE_DAUB97iH1 | ( | b0, | |||
b1, | |||||
b2 | ) | (b1 - (( 113*(b0 + b2) + 64) >> 7)) |
Definition at line 142 of file dwt.h.
Referenced by horizontal_compose_daub97i(), and vertical_compose_daub97iH1().
#define COMPOSE_DAUB97iL0 | ( | b0, | |||
b1, | |||||
b2 | ) | (b1 + (( 217*(b0 + b2) + 2048) >> 12)) |
Definition at line 145 of file dwt.h.
Referenced by horizontal_compose_daub97i(), and vertical_compose_daub97iL0().
#define COMPOSE_DAUB97iL1 | ( | b0, | |||
b1, | |||||
b2 | ) | (b1 - ((1817*(b0 + b2) + 2048) >> 12)) |
Definition at line 139 of file dwt.h.
Referenced by horizontal_compose_daub97i(), and vertical_compose_daub97iL1().
#define COMPOSE_DD137iL0 | ( | b0, | |||
b1, | |||||
b2, | |||||
b3, | |||||
b4 | ) | (b2 - ((-b0 + 9*b1 + 9*b3 - b4 + 16) >> 5)) |
Definition at line 124 of file dwt.h.
Referenced by horizontal_compose_dd137i(), and vertical_compose_dd137iL0().
#define COMPOSE_DD97iH0 | ( | b0, | |||
b1, | |||||
b2, | |||||
b3, | |||||
b4 | ) | (b2 + ((-b0 + 9*b1 + 9*b3 - b4 + 8) >> 4)) |
Definition at line 121 of file dwt.h.
Referenced by horizontal_compose_dd137i(), horizontal_compose_dd97i(), horizontal_compose_dd97i_ssse3(), and vertical_compose_dd97iH0().
#define COMPOSE_DIRAC53iH0 | ( | b0, | |||
b1, | |||||
b2 | ) | (b1 + ((b0 + b2 + 1) >> 1)) |
Definition at line 118 of file dwt.h.
Referenced by horizontal_compose_dirac53i(), and vertical_compose_dirac53iH0().
#define COMPOSE_FIDELITYiH0 | ( | b0, | |||
b1, | |||||
b2, | |||||
b3, | |||||
b4, | |||||
b5, | |||||
b6, | |||||
b7, | |||||
b8 | ) | (b4 + ((-2*(b0+b8) + 10*(b1+b7) - 25*(b2+b6) + 81*(b3+b5) + 128) >> 8)) |
Definition at line 136 of file dwt.h.
Referenced by horizontal_compose_fidelityi(), and vertical_compose_fidelityiH0().
#define COMPOSE_FIDELITYiL0 | ( | b0, | |||
b1, | |||||
b2, | |||||
b3, | |||||
b4, | |||||
b5, | |||||
b6, | |||||
b7, | |||||
b8 | ) | (b4 - ((-8*(b0+b8) + 21*(b1+b7) - 46*(b2+b6) + 161*(b3+b5) + 128) >> 8)) |
Definition at line 133 of file dwt.h.
Referenced by horizontal_compose_fidelityi(), and vertical_compose_fidelityiL0().
#define COMPOSE_HAARiH0 | ( | b0, | |||
b1 | ) | (b0 + b1) |
Definition at line 130 of file dwt.h.
Referenced by horizontal_compose_haari(), and vertical_compose_haar().
#define COMPOSE_HAARiL0 | ( | b0, | |||
b1 | ) | (b0 - ((b1 + 1) >> 1)) |
Definition at line 127 of file dwt.h.
Referenced by horizontal_compose_haari(), and vertical_compose_haar().
#define DWT_53 1 |
Definition at line 154 of file dwt.h.
Referenced by ff_spatial_dwt(), ff_spatial_idwt_buffered_init(), ff_spatial_idwt_buffered_slice(), ff_spatial_idwt_init(), and ff_spatial_idwt_slice().
#define DWT_97 0 |
Definition at line 153 of file dwt.h.
Referenced by encode_init(), ff_spatial_dwt(), ff_spatial_idwt_buffered_init(), ff_spatial_idwt_buffered_slice(), ff_spatial_idwt_init(), and ff_spatial_idwt_slice().
#define liftS lift |
Definition at line 156 of file dwt.h.
Referenced by horizontal_decompose97i(), vertical_compose97iL0(), and vertical_decompose97iL0().
#define MAX_DECOMPOSITIONS 8 |
Definition at line 30 of file dwt.h.
Referenced by decode_frame(), decode_header(), ff_snow_reset_contexts(), and ff_spatial_idwt().
#define slice_buffer_get_line | ( | slice_buf, | |||
line_num | ) |
Value:
((slice_buf)->line[line_num] ? (slice_buf)->line[line_num] \ : ff_slice_buffer_load_line((slice_buf), \ (line_num)))
Definition at line 226 of file dwt.h.
Referenced by correlate_slice_buffered(), decode_frame(), decode_subband_slice_buffered(), dequantize_slice_buffered(), ff_snow_inner_add_yblock(), spatial_compose53i_buffered_init(), spatial_compose53i_dy_buffered(), spatial_compose97i_buffered_init(), and spatial_compose97i_dy_buffered().
#define W_AM 3 |
Definition at line 158 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), vertical_compose97iH0(), and vertical_decompose97iH0().
#define W_AO 0 |
Definition at line 159 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), vertical_compose97iH0(), and vertical_decompose97iH0().
#define W_AS 1 |
Definition at line 160 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), vertical_compose97iH0(), and vertical_decompose97iH0().
#define W_BM 1 |
Definition at line 163 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), vertical_compose97iL0(), and vertical_decompose97iL0().
#define W_BO 8 |
Definition at line 164 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), snow_horizontal_compose_liftS_lead_out(), vertical_compose97iL0(), and vertical_decompose97iL0().
#define W_BS 4 |
Definition at line 165 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), snow_horizontal_compose_liftS_lead_out(), vertical_compose97iL0(), and vertical_decompose97iL0().
#define W_CM 1 |
Definition at line 167 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), vertical_compose97iH1(), and vertical_decompose97iH1().
#define W_CO 0 |
Definition at line 168 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), vertical_compose97iH1(), and vertical_decompose97iH1().
#define W_CS 0 |
Definition at line 169 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), vertical_compose97iH1(), and vertical_decompose97iH1().
#define W_DM 3 |
Definition at line 171 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), vertical_compose97iL1(), and vertical_decompose97iL1().
#define W_DO 4 |
Definition at line 172 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), vertical_compose97iL1(), and vertical_decompose97iL1().
#define W_DS 3 |
Definition at line 173 of file dwt.h.
Referenced by ff_snow_horizontal_compose97i(), ff_snow_horizontal_compose97i_mmx(), ff_snow_horizontal_compose97i_sse2(), ff_snow_vertical_compose97i(), horizontal_decompose97i(), vertical_compose97iL1(), and vertical_decompose97iL1().
typedef struct slice_buffer_s slice_buffer |
Used to minimize the amount of memory used in order to optimize cache performance.
typedef void(* vertical_compose_2tap)(IDWTELEM *b0, IDWTELEM *b1, int width) |
typedef void(* vertical_compose_3tap)(IDWTELEM *b0, IDWTELEM *b1, IDWTELEM *b2, int width) |
typedef void(* vertical_compose_9tap)(IDWTELEM *dst, IDWTELEM *b[8], int width) |
enum dwt_type |
void ff_dwt_init | ( | DWTContext * | c | ) |
void ff_dwt_init_x86 | ( | DWTContext * | c | ) |
void ff_slice_buffer_destroy | ( | slice_buffer * | buf | ) |
void ff_slice_buffer_flush | ( | slice_buffer * | buf | ) |
int ff_slice_buffer_init | ( | slice_buffer * | buf, | |
int | line_count, | |||
int | max_allocated_lines, | |||
int | line_width, | |||
IDWTELEM * | base_buffer | |||
) |
IDWTELEM* ff_slice_buffer_load_line | ( | slice_buffer * | buf, | |
int | line | |||
) |
void ff_slice_buffer_release | ( | slice_buffer * | buf, | |
int | line | |||
) |
void ff_snow_horizontal_compose97i | ( | IDWTELEM * | b, | |
int | width | |||
) |
void ff_snow_inner_add_yblock | ( | const uint8_t * | obmc, | |
const int | obmc_stride, | |||
uint8_t ** | block, | |||
int | b_w, | |||
int | b_h, | |||
int | src_x, | |||
int | src_y, | |||
int | src_stride, | |||
slice_buffer * | sb, | |||
int | add, | |||
uint8_t * | dst8 | |||
) |
Definition at line 38 of file snow.c.
Referenced by ff_dwt_init(), ff_snow_inner_add_yblock_mmx(), and ff_snow_inner_add_yblock_sse2().
void ff_spatial_dwt | ( | int * | buffer, | |
int | width, | |||
int | height, | |||
int | stride, | |||
int | type, | |||
int | decomposition_count | |||
) |
void ff_spatial_idwt | ( | IDWTELEM * | buffer, | |
int | width, | |||
int | height, | |||
int | stride, | |||
int | type, | |||
int | decomposition_count | |||
) |
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 | |||
) |
int ff_spatial_idwt_init2 | ( | DWTContext * | d, | |
IDWTELEM * | buffer, | |||
int | width, | |||
int | height, | |||
int | stride, | |||
enum dwt_type | type, | |||
int | decomposition_count, | |||
IDWTELEM * | temp | |||
) |
Definition at line 1412 of file dwt.c.
Referenced by dirac_decode_frame_internal(), and ff_spatial_idwt2().
void ff_spatial_idwt_slice2 | ( | DWTContext * | d, | |
int | y | |||
) |
Definition at line 1509 of file dwt.c.
Referenced by dirac_decode_frame_internal(), and ff_spatial_idwt2().