#include "dsputil.h"
#include "dwt.h"
#include "rangecoder.h"
#include "mathops.h"
#include "mpegvideo.h"
Go to the source code of this file.
Data Structures | |
struct | BlockNode |
struct | x_and_coeff |
struct | SubBand |
struct | Plane |
struct | SnowContext |
Macros | |
#define | MID_STATE 128 |
#define | MAX_PLANES 4 |
#define | QSHIFT 5 |
#define | QROOT (1<<QSHIFT) |
#define | LOSSLESS_QLOG -128 |
#define | FRAC_BITS 4 |
#define | MAX_REF_FRAMES 8 |
#define | LOG2_OBMC_MAX 8 |
#define | OBMC_MAX (1<<(LOG2_OBMC_MAX)) |
#define | BLOCK_INTRA 1 |
#define | BLOCK_OPT 2 |
#define | LOG2_MB_SIZE 4 |
#define | MB_SIZE (1<<LOG2_MB_SIZE) |
#define | ENCODER_EXTRA_BITS 4 |
#define | HTAPS_MAX 8 |
#define | QBIAS_SHIFT 3 |
#define | ME_CACHE_SIZE 1024 |
#define | QEXPSHIFT (7-FRAC_BITS+8) |
Typedefs | |
typedef struct BlockNode | BlockNode |
typedef struct x_and_coeff | x_and_coeff |
typedef struct SubBand | SubBand |
typedef struct Plane | Plane |
typedef struct SnowContext | SnowContext |
Functions | |
static av_always_inline void | snow_interleave_line_header (int *i, int width, IDWTELEM *low, IDWTELEM *high) |
static av_always_inline void | snow_interleave_line_footer (int *i, IDWTELEM *low, IDWTELEM *high) |
static av_always_inline void | snow_horizontal_compose_lift_lead_out (int i, IDWTELEM *dst, IDWTELEM *src, IDWTELEM *ref, int width, int w, int lift_high, int mul, int add, int shift) |
static av_always_inline void | snow_horizontal_compose_liftS_lead_out (int i, IDWTELEM *dst, IDWTELEM *src, IDWTELEM *ref, int width, int w) |
int | ff_snow_common_init (AVCodecContext *avctx) |
int | ff_snow_common_init_after_header (AVCodecContext *avctx) |
void | ff_snow_common_end (SnowContext *s) |
void | ff_snow_release_buffer (AVCodecContext *avctx) |
void | ff_snow_reset_contexts (SnowContext *s) |
int | ff_snow_alloc_blocks (SnowContext *s) |
int | ff_snow_frame_start (SnowContext *s) |
void | ff_snow_pred_block (SnowContext *s, uint8_t *dst, uint8_t *tmp, int stride, int sx, int sy, int b_w, int b_h, BlockNode *block, int plane_index, int w, int h) |
static void | snow_set_blocks (SnowContext *s, int level, int x, int y, int l, int cb, int cr, int mx, int my, int ref, int type) |
static void | pred_mv (SnowContext *s, int *mx, int *my, int ref, const BlockNode *left, const BlockNode *top, const BlockNode *tr) |
static av_always_inline int | same_block (BlockNode *a, BlockNode *b) |
static av_always_inline void | add_yblock (SnowContext *s, int sliced, slice_buffer *sb, IDWTELEM *dst, uint8_t *dst8, const uint8_t *obmc, int src_x, int src_y, int b_w, int b_h, int w, int h, int dst_stride, int src_stride, int obmc_stride, int b_x, int b_y, int add, int offset_dst, int plane_index) |
static av_always_inline void | predict_slice (SnowContext *s, IDWTELEM *buf, int plane_index, int add, int mb_y) |
static av_always_inline void | predict_plane (SnowContext *s, IDWTELEM *buf, int plane_index, int add) |
static void | set_blocks (SnowContext *s, int level, int x, int y, int l, int cb, int cr, int mx, int my, int ref, int type) |
static void | init_ref (MotionEstContext *c, uint8_t *src[3], uint8_t *ref[3], uint8_t *ref2[3], int x, int y, int ref_index) |
static void | put_symbol (RangeCoder *c, uint8_t *state, int v, int is_signed) |
static int | get_symbol (RangeCoder *c, uint8_t *state, int is_signed) |
static void | put_symbol2 (RangeCoder *c, uint8_t *state, int v, int log2) |
static int | get_symbol2 (RangeCoder *c, uint8_t *state, int log2) |
static void | unpack_coeffs (SnowContext *s, SubBand *b, SubBand *parent, int orientation) |
Variables | |
static const BlockNode | null_block |
const uint8_t *const | obmc_tab [4] |
uint8_t | qexp [QROOT] |
int | scale_mv_ref [MAX_REF_FRAMES][MAX_REF_FRAMES] |
const int8_t | quant3bA [256] |
#define BLOCK_INTRA 1 |
Definition at line 50 of file snow.h.
Referenced by decode_q_branch(), ff_snow_pred_block(), and same_block().
#define FRAC_BITS 4 |
Definition at line 38 of file snow.h.
Referenced by add_yblock(), and predict_slice().
#define HTAPS_MAX 8 |
Definition at line 68 of file snow.h.
Referenced by decode_header(), ff_snow_pred_block(), and mc_block().
#define LOG2_MB_SIZE 4 |
Definition at line 65 of file snow.h.
Referenced by ff_snow_alloc_blocks().
#define LOG2_OBMC_MAX 8 |
Definition at line 41 of file snow.h.
Referenced by add_yblock(), and ff_snow_inner_add_yblock().
#define LOSSLESS_QLOG -128 |
Definition at line 37 of file snow.h.
Referenced by decode_frame(), decode_subband_slice_buffered(), and dequantize_slice_buffered().
#define MAX_REF_FRAMES 8 |
Definition at line 39 of file snow.h.
Referenced by decode_header(), ff_snow_common_end(), and mca().
#define MB_SIZE (1<<LOG2_MB_SIZE) |
Definition at line 66 of file snow.h.
Referenced by add_yblock(), decode_frame(), ff_snow_pred_block(), mca(), predict_slice(), and predict_slice_buffered().
#define MID_STATE 128 |
Definition at line 32 of file snow.h.
Referenced by decode_header(), and ff_snow_reset_contexts().
#define OBMC_MAX (1<<(LOG2_OBMC_MAX)) |
#define QBIAS_SHIFT 3 |
Definition at line 149 of file snow.h.
Referenced by decode_subband_slice_buffered(), and dequantize_slice_buffered().
#define QEXPSHIFT (7-FRAC_BITS+8) |
Definition at line 501 of file snow.h.
Referenced by decode_subband_slice_buffered(), and dequantize_slice_buffered().
#define QROOT (1<<QSHIFT) |
Definition at line 36 of file snow.h.
Referenced by decode_subband_slice_buffered(), dequantize_slice_buffered(), and init_qexp().
#define QSHIFT 5 |
Definition at line 35 of file snow.h.
Referenced by decode_subband_slice_buffered(), and dequantize_slice_buffered().
typedef struct SnowContext SnowContext |
typedef struct x_and_coeff x_and_coeff |
|
static |
Definition at line 279 of file snow.h.
Referenced by predict_slice(), and predict_slice_buffered().
int ff_snow_alloc_blocks | ( | SnowContext * | s | ) |
Definition at line 85 of file snow.c.
Referenced by decode_frame().
void ff_snow_common_end | ( | SnowContext * | s | ) |
Definition at line 621 of file snow.c.
Referenced by decode_end(), and decode_init().
int ff_snow_common_init | ( | AVCodecContext * | avctx | ) |
Referenced by decode_init().
int ff_snow_common_init_after_header | ( | AVCodecContext * | avctx | ) |
Definition at line 459 of file snow.c.
Referenced by decode_frame().
int ff_snow_frame_start | ( | SnowContext * | s | ) |
Definition at line 569 of file snow.c.
Referenced by decode_frame().
void ff_snow_pred_block | ( | SnowContext * | s, |
uint8_t * | dst, | ||
uint8_t * | tmp, | ||
int | stride, | ||
int | sx, | ||
int | sy, | ||
int | b_w, | ||
int | b_h, | ||
BlockNode * | block, | ||
int | plane_index, | ||
int | w, | ||
int | h | ||
) |
Definition at line 290 of file snow.c.
Referenced by add_yblock().
void ff_snow_release_buffer | ( | AVCodecContext * | avctx | ) |
Definition at line 556 of file snow.c.
Referenced by decode_frame(), and ff_snow_frame_start().
void ff_snow_reset_contexts | ( | SnowContext * | s | ) |
Definition at line 71 of file snow.c.
Referenced by decode_header().
|
inlinestatic |
|
inlinestatic |
Definition at line 574 of file snow.h.
Referenced by unpack_coeffs().
|
inlinestatic |
|
inlinestatic |
Definition at line 253 of file snow.h.
Referenced by decode_q_branch().
|
static |
Definition at line 451 of file snow.h.
Referenced by decode_frame().
|
static |
Definition at line 401 of file snow.h.
Referenced by predict_plane().
|
inlinestatic |
|
inlinestatic |
|
static |
Definition at line 269 of file snow.h.
Referenced by add_yblock().
|
inlinestatic |
Definition at line 458 of file snow.h.
Referenced by decode_q_branch().
|
static |
Definition at line 194 of file snow.h.
Referenced by ff_snow_horizontal_compose97i_mmx(), and ff_snow_horizontal_compose97i_sse2().
|
static |
Definition at line 204 of file snow.h.
Referenced by ff_snow_horizontal_compose97i_mmx(), and ff_snow_horizontal_compose97i_sse2().
|
static |
|
static |
Definition at line 178 of file snow.h.
Referenced by ff_snow_horizontal_compose97i_mmx(), and ff_snow_horizontal_compose97i_sse2().
|
inlinestatic |
|
inlinestatic |
Definition at line 594 of file snow.h.
Referenced by decode_frame().
|
static |
Definition at line 56 of file snow.h.
Referenced by decode_q_branch().
const uint8_t* const obmc_tab[4] |
Definition at line 123 of file snowdata.h.
Referenced by predict_slice(), and predict_slice_buffered().
uint8_t qexp[QROOT] |
Definition at line 128 of file snowdata.h.
Referenced by decode_subband_slice_buffered(), dequantize_slice_buffered(), and init_qexp().
const int8_t quant3bA[256] |
Definition at line 104 of file snowdata.h.
Referenced by unpack_coeffs().
int scale_mv_ref[MAX_REF_FRAMES][MAX_REF_FRAMES] |
Definition at line 129 of file snowdata.h.