#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 |
Defines | |
| #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) |
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 | ff_obmc_tab [4] |
| uint8_t | ff_qexp [QROOT] |
| int | ff_scale_mv_ref [MAX_REF_FRAMES][MAX_REF_FRAMES] |
| const int8_t | ff_quant3bA [256] |
| #define BLOCK_INTRA 1 |
Definition at line 50 of file snow.h.
Referenced by check_4block_inter(), check_block(), decode_q_branch(), encode_q_branch(), encode_q_branch2(), ff_snow_pred_block(), get_block_bits(), get_dc(), iterative_me(), and same_block().
| #define BLOCK_OPT 2 |
| #define ENCODER_EXTRA_BITS 4 |
| #define HTAPS_MAX 8 |
Definition at line 68 of file snow.h.
Referenced by decode_header(), ff_snow_pred_block(), get_block_rd(), and mc_block().
| #define LOG2_MB_SIZE 4 |
| #define LOG2_OBMC_MAX 8 |
Definition at line 41 of file snow.h.
Referenced by add_yblock(), ff_snow_inner_add_yblock(), get_block_rd(), and get_dc().
| #define LOSSLESS_QLOG -128 |
Definition at line 37 of file snow.h.
Referenced by decode_frame(), decode_subband_slice_buffered(), dequantize(), dequantize_slice_buffered(), encode_frame(), and quantize().
| #define MAX_REF_FRAMES 8 |
Definition at line 39 of file snow.h.
Referenced by decode_header(), encode_init(), 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(), encode_blocks(), encode_frame(), encode_init(), ff_snow_pred_block(), get_4block_rd(), get_block_rd(), get_dc(), iterative_me(), mca(), predict_slice(), and predict_slice_buffered().
| #define ME_CACHE_SIZE 1024 |
| #define MID_STATE 128 |
Definition at line 32 of file snow.h.
Referenced by decode_header(), encode_header(), and ff_snow_reset_contexts().
| #define QBIAS_SHIFT 3 |
Definition at line 149 of file snow.h.
Referenced by decode_subband_slice_buffered(), dequantize(), and dequantize_slice_buffered().
| #define QEXPSHIFT (7-FRAC_BITS+8) |
Definition at line 499 of file snow.h.
Referenced by decode_subband_slice_buffered(), dequantize(), dequantize_slice_buffered(), and quantize().
| #define QROOT (1<<QSHIFT) |
Definition at line 36 of file snow.h.
Referenced by calculate_visual_weight(), decode_subband_slice_buffered(), dequantize(), dequantize_slice_buffered(), init_qexp(), qscale2qlog(), quantize(), and ratecontrol_1pass().
| #define QSHIFT 5 |
Definition at line 35 of file snow.h.
Referenced by decode_subband_slice_buffered(), dequantize(), dequantize_slice_buffered(), quantize(), and ratecontrol_1pass().
| 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] |
Definition at line 277 of file snow.h.
Referenced by get_4block_rd(), get_dc(), predict_slice(), and predict_slice_buffered().
| int ff_snow_alloc_blocks | ( | SnowContext * | s | ) |
| void ff_snow_common_end | ( | SnowContext * | s | ) |
| int ff_snow_common_init | ( | AVCodecContext * | avctx | ) |
Referenced by decode_init(), and encode_init().
| int ff_snow_common_init_after_header | ( | AVCodecContext * | avctx | ) |
| 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 | |||
| ) |
| void ff_snow_release_buffer | ( | AVCodecContext * | avctx | ) |
Definition at line 551 of file snow.c.
Referenced by decode_frame(), encode_frame(), and ff_snow_frame_start().
| void ff_snow_reset_contexts | ( | SnowContext * | s | ) |
| static int get_symbol | ( | RangeCoder * | c, | |
| uint8_t * | state, | |||
| int | is_signed | |||
| ) | [inline, static] |
| static int get_symbol2 | ( | RangeCoder * | c, | |
| uint8_t * | state, | |||
| int | log2 | |||
| ) | [inline, static] |
| 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 | |||
| ) | [inline, static] |
| static void pred_mv | ( | SnowContext * | s, | |
| int * | mx, | |||
| int * | my, | |||
| int | ref, | |||
| const BlockNode * | left, | |||
| const BlockNode * | top, | |||
| const BlockNode * | tr | |||
| ) | [inline, static] |
| static av_always_inline void predict_plane | ( | SnowContext * | s, | |
| IDWTELEM * | buf, | |||
| int | plane_index, | |||
| int | add | |||
| ) | [static] |
| static av_always_inline void predict_slice | ( | SnowContext * | s, | |
| IDWTELEM * | buf, | |||
| int | plane_index, | |||
| int | add, | |||
| int | mb_y | |||
| ) | [static] |
| static void put_symbol | ( | RangeCoder * | c, | |
| uint8_t * | state, | |||
| int | v, | |||
| int | is_signed | |||
| ) | [inline, static] |
| static void put_symbol2 | ( | RangeCoder * | c, | |
| uint8_t * | state, | |||
| int | v, | |||
| int | log2 | |||
| ) | [inline, static] |
Definition at line 267 of file snow.h.
Referenced by add_yblock(), encode_q_branch2(), get_4block_rd(), and iterative_me().
| 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 | |||
| ) | [inline, static] |
Definition at line 456 of file snow.h.
Referenced by decode_q_branch(), encode_q_branch(), and encode_q_branch2().
| 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] |
Definition at line 192 of file snow.h.
Referenced by ff_snow_horizontal_compose97i_mmx(), and ff_snow_horizontal_compose97i_sse2().
| static av_always_inline void snow_horizontal_compose_liftS_lead_out | ( | int | i, | |
| IDWTELEM * | dst, | |||
| IDWTELEM * | src, | |||
| IDWTELEM * | ref, | |||
| int | width, | |||
| int | w | |||
| ) | [static] |
Definition at line 202 of file snow.h.
Referenced by ff_snow_horizontal_compose97i_mmx(), and ff_snow_horizontal_compose97i_sse2().
| static av_always_inline void snow_interleave_line_header | ( | int * | i, | |
| int | width, | |||
| IDWTELEM * | low, | |||
| IDWTELEM * | high | |||
| ) | [static] |
Definition at line 176 of file snow.h.
Referenced by ff_snow_horizontal_compose97i_mmx(), and ff_snow_horizontal_compose97i_sse2().
| 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 | |||
| ) | [inline, static] |
| static void unpack_coeffs | ( | SnowContext * | s, | |
| SubBand * | b, | |||
| SubBand * | parent, | |||
| int | orientation | |||
| ) | [inline, static] |
| const uint8_t* const ff_obmc_tab[4] |
Definition at line 123 of file snowdata.h.
Referenced by get_4block_rd(), get_dc(), iterative_me(), predict_slice(), and predict_slice_buffered().
Definition at line 128 of file snowdata.h.
Referenced by decode_subband_slice_buffered(), dequantize(), dequantize_slice_buffered(), init_qexp(), quantize(), and ratecontrol_1pass().
| const int8_t ff_quant3bA[256] |
Definition at line 104 of file snowdata.h.
Referenced by encode_subband_c0run(), and unpack_coeffs().
| int ff_scale_mv_ref[MAX_REF_FRAMES][MAX_REF_FRAMES] |
const BlockNode null_block [static] |
Initial value:
{
.color= {128,128,128},
.mx= 0,
.my= 0,
.ref= 0,
.type= 0,
.level= 0,
}
Definition at line 56 of file snow.h.
Referenced by decode_q_branch(), encode_q_branch(), encode_q_branch2(), and get_block_bits().
1.5.8