libavcodec/dirac_arith.h File Reference

Arithmetic decoder for Dirac. More...

#include "bytestream.h"
#include "get_bits.h"

Go to the source code of this file.

Data Structures

struct  DiracArith

Defines

#define CTX_SB_F1   CTX_ZP_F5
#define CTX_SB_DATA   0
#define CTX_PMODE_REF1   0
#define CTX_PMODE_REF2   1
#define CTX_GLOBAL_BLOCK   2
#define CTX_MV_F1   CTX_ZP_F2
#define CTX_MV_DATA   0
#define CTX_DC_F1   CTX_ZP_F5
#define CTX_DC_DATA   0

Enumerations

enum  dirac_arith_contexts {
  CTX_ZPZN_F1, CTX_ZPNN_F1, CTX_NPZN_F1, CTX_NPNN_F1,
  CTX_ZP_F2, CTX_ZP_F3, CTX_ZP_F4, CTX_ZP_F5,
  CTX_ZP_F6, CTX_NP_F2, CTX_NP_F3, CTX_NP_F4,
  CTX_NP_F5, CTX_NP_F6, CTX_COEFF_DATA, CTX_SIGN_NEG,
  CTX_SIGN_ZERO, CTX_SIGN_POS, CTX_ZERO_BLOCK, CTX_DELTA_Q_F,
  CTX_DELTA_Q_DATA, CTX_DELTA_Q_SIGN, DIRAC_CTX_COUNT
}

Functions

static void renorm (DiracArith *c)
static void refill (DiracArith *c)
static int dirac_get_arith_bit (DiracArith *c, int ctx)
static int dirac_get_arith_uint (DiracArith *c, int follow_ctx, int data_ctx)
static int dirac_get_arith_int (DiracArith *c, int follow_ctx, int data_ctx)
void ff_dirac_init_arith_decoder (DiracArith *c, GetBitContext *gb, int length)

Variables

const uint8_t ff_dirac_next_ctx [DIRAC_CTX_COUNT]
const uint16_t ff_dirac_prob [256]
int16_t ff_dirac_prob_branchless [256][2]


Detailed Description

Arithmetic decoder for Dirac.

Author:
Marco Gerards <marco@gnu.org>

Definition in file dirac_arith.h.


Define Documentation

#define CTX_DC_DATA   0

Definition at line 72 of file dirac_arith.h.

Referenced by decode_block_params().

#define CTX_DC_F1   CTX_ZP_F5

Definition at line 71 of file dirac_arith.h.

Referenced by decode_block_params().

#define CTX_GLOBAL_BLOCK   2

Definition at line 68 of file dirac_arith.h.

Referenced by decode_block_params().

#define CTX_MV_DATA   0

Definition at line 70 of file dirac_arith.h.

Referenced by decode_block_params().

#define CTX_MV_F1   CTX_ZP_F2

Definition at line 69 of file dirac_arith.h.

Referenced by decode_block_params().

#define CTX_PMODE_REF1   0

Definition at line 66 of file dirac_arith.h.

Referenced by decode_block_params().

#define CTX_PMODE_REF2   1

Definition at line 67 of file dirac_arith.h.

Referenced by decode_block_params().

#define CTX_SB_DATA   0

Definition at line 65 of file dirac_arith.h.

Referenced by dirac_unpack_block_motion_data().

#define CTX_SB_F1   CTX_ZP_F5

Definition at line 64 of file dirac_arith.h.

Referenced by dirac_unpack_block_motion_data().


Enumeration Type Documentation

Enumerator:
CTX_ZPZN_F1 
CTX_ZPNN_F1 
CTX_NPZN_F1 
CTX_NPNN_F1 
CTX_ZP_F2 
CTX_ZP_F3 
CTX_ZP_F4 
CTX_ZP_F5 
CTX_ZP_F6 
CTX_NP_F2 
CTX_NP_F3 
CTX_NP_F4 
CTX_NP_F5 
CTX_NP_F6 
CTX_COEFF_DATA 
CTX_SIGN_NEG 
CTX_SIGN_ZERO 
CTX_SIGN_POS 
CTX_ZERO_BLOCK 
CTX_DELTA_Q_F 
CTX_DELTA_Q_DATA 
CTX_DELTA_Q_SIGN 
DIRAC_CTX_COUNT 

Definition at line 34 of file dirac_arith.h.


Function Documentation

static int dirac_get_arith_bit ( DiracArith c,
int  ctx 
) [inline, static]

static int dirac_get_arith_int ( DiracArith c,
int  follow_ctx,
int  data_ctx 
) [inline, static]

Definition at line 180 of file dirac_arith.h.

Referenced by codeblock(), and decode_block_params().

static int dirac_get_arith_uint ( DiracArith c,
int  follow_ctx,
int  data_ctx 
) [inline, static]

void ff_dirac_init_arith_decoder ( DiracArith c,
GetBitContext gb,
int  length 
)

Definition at line 86 of file dirac_arith.c.

Referenced by decode_subband_internal(), and dirac_unpack_block_motion_data().

static void refill ( DiracArith c  )  [inline, static]

Definition at line 106 of file dirac_arith.h.

static void renorm ( DiracArith c  )  [inline, static]

Definition at line 89 of file dirac_arith.h.

Referenced by dirac_get_arith_bit().


Variable Documentation

const uint8_t ff_dirac_next_ctx[DIRAC_CTX_COUNT]

Definition at line 66 of file dirac_arith.c.

Referenced by dirac_get_arith_uint().

const uint16_t ff_dirac_prob[256]

Definition at line 31 of file dirac_arith.c.

Referenced by ff_dirac_init_arith_decoder().

Definition at line 84 of file dirac_arith.c.

Referenced by dirac_get_arith_bit(), and ff_dirac_init_arith_decoder().


Generated on Fri Oct 26 02:50:04 2012 for FFmpeg by  doxygen 1.5.8