libavcodec/snow.h File Reference

#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 obmc_tab [4]
uint8_t qexp [QROOT]
int scale_mv_ref [MAX_REF_FRAMES][MAX_REF_FRAMES]
const int8_t quant3bA [256]


Define Documentation

#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 BLOCK_OPT   2

Definition at line 51 of file snow.h.

#define ENCODER_EXTRA_BITS   4

Definition at line 67 of file snow.h.

#define FRAC_BITS   4

Definition at line 38 of file snow.h.

#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_PLANES   4

Definition at line 34 of file snow.h.

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

#define ME_CACHE_SIZE   1024

Definition at line 156 of file snow.h.

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

Definition at line 42 of file snow.h.

#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().


Function Documentation

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 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 616 of file snow.c.

Referenced by decode_end().

int ff_snow_common_init ( AVCodecContext avctx  ) 

Referenced by decode_init().

int ff_snow_common_init_after_header ( AVCodecContext avctx  ) 

Definition at line 454 of file snow.c.

Referenced by decode_frame().

int ff_snow_frame_start ( SnowContext s  ) 

Definition at line 564 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 551 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().

static int get_symbol ( RangeCoder c,
uint8_t *  state,
int  is_signed 
) [inline, static]

Definition at line 534 of file snow.h.

static int get_symbol2 ( RangeCoder c,
uint8_t *  state,
int  log2 
) [inline, static]

Definition at line 574 of file snow.h.

Referenced by unpack_coeffs().

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]

Definition at line 482 of file snow.h.

static void pred_mv ( SnowContext s,
int *  mx,
int *  my,
int  ref,
const BlockNode left,
const BlockNode top,
const BlockNode tr 
) [inline, static]

Definition at line 253 of file snow.h.

static av_always_inline void predict_plane ( SnowContext s,
IDWTELEM buf,
int  plane_index,
int  add 
) [static]

Definition at line 451 of file snow.h.

Referenced by decode_frame().

static av_always_inline void predict_slice ( SnowContext s,
IDWTELEM buf,
int  plane_index,
int  add,
int  mb_y 
) [static]

Definition at line 401 of file snow.h.

Referenced by predict_plane().

static void put_symbol ( RangeCoder c,
uint8_t *  state,
int  v,
int  is_signed 
) [inline, static]

Definition at line 503 of file snow.h.

static void put_symbol2 ( RangeCoder c,
uint8_t *  state,
int  v,
int  log2 
) [inline, static]

Definition at line 554 of file snow.h.

static av_always_inline int same_block ( BlockNode a,
BlockNode b 
) [static]

Definition at line 269 of file snow.h.

Referenced by add_yblock().

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 458 of file snow.h.

Referenced by decode_q_branch().

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]

static av_always_inline void snow_horizontal_compose_liftS_lead_out ( int  i,
IDWTELEM dst,
IDWTELEM src,
IDWTELEM ref,
int  width,
int  w 
) [static]

static av_always_inline void snow_interleave_line_footer ( int *  i,
IDWTELEM low,
IDWTELEM high 
) [static]

Definition at line 187 of file snow.h.

static av_always_inline void snow_interleave_line_header ( int *  i,
int  width,
IDWTELEM low,
IDWTELEM high 
) [static]

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]

Definition at line 229 of file snow.h.

static void unpack_coeffs ( SnowContext s,
SubBand b,
SubBand parent,
int  orientation 
) [inline, static]

Definition at line 594 of file snow.h.

Referenced by decode_frame().


Variable Documentation

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().

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.

Referenced by mca(), and pred_mv().


Generated on Fri Oct 26 02:43:49 2012 for FFmpeg by  doxygen 1.5.8