Modules | |
VC1 Macroblock-level functions in Simple/Main Profiles | |
Defines | |
#define | GET_MQUANT() |
Get macroblock-level quantizer scale. | |
#define | GET_MVDATA(_dmv_x, _dmv_y) |
Get MV differentials. | |
Functions | |
static int | rv34_decode_cbp (GetBitContext *gb, RV34VLC *vlc, int table) |
Decode coded block pattern. | |
static void | decode_coeff (DCTELEM *dst, int coef, int esc, GetBitContext *gb, VLC *vlc) |
Get one coefficient value from the bistream and store it. | |
static void | decode_subblock (DCTELEM *dst, int code, const int is_block2, GetBitContext *gb, VLC *vlc) |
Decode 2x2 subblock of coefficients. | |
static void | rv34_decode_block (DCTELEM *dst, GetBitContext *gb, RV34VLC *rvlc, int fc, int sc) |
Decode coefficients for 4x4 block. | |
static void | rv34_dequant4x4 (DCTELEM *block, int Qdc, int Q) |
Dequantize ordinary 4x4 block. | |
static void | rv34_dequant4x4_16x16 (DCTELEM *block, int Qdc, int Q) |
Dequantize 4x4 block of DC values for 16x16 macroblock. | |
static void | vc1_pred_mv (MpegEncContext *s, int n, int dmv_x, int dmv_y, int mv1, int r_x, int r_y, uint8_t *is_intra) |
Predict and set motion vector. | |
static void | vc1_interp_mc (VC1Context *v) |
Motion compensation for direct or interpolated blocks in B-frames. | |
static av_always_inline int | scale_mv (int value, int bfrac, int inv, int qs) |
static void | vc1_b_mc (VC1Context *v, int dmv_x[2], int dmv_y[2], int direct, int mode) |
Reconstruct motion vector for B-frame and do motion compensation. | |
static void | vc1_pred_b_mv (VC1Context *v, int dmv_x[2], int dmv_y[2], int direct, int mvtype) |
static int | vc1_i_pred_dc (MpegEncContext *s, int overlap, int pq, int n, int16_t **dc_val_ptr, int *dir_ptr) |
Get predicted DC value for I-frames only prediction dir: left=0, top=1. | |
static int | vc1_pred_dc (MpegEncContext *s, int overlap, int pq, int n, int a_avail, int c_avail, int16_t **dc_val_ptr, int *dir_ptr) |
Get predicted DC value prediction dir: left=0, top=1. |
#define GET_MQUANT | ( | ) |
Get macroblock-level quantizer scale.
Definition at line 1518 of file vc1.c.
Referenced by vc1_decode_b_mb(), vc1_decode_i_blocks_adv(), and vc1_decode_p_mb().
#define GET_MVDATA | ( | _dmv_x, | |||
_dmv_y | ) |
Get MV differentials.
_dmv_x | Horizontal differential for decoded MV | |
_dmv_y | Vertical differential for decoded MV |
Definition at line 1558 of file vc1.c.
Referenced by vc1_decode_b_mb(), and vc1_decode_p_mb().
static void decode_coeff | ( | DCTELEM * | dst, | |
int | coef, | |||
int | esc, | |||
GetBitContext * | gb, | |||
VLC * | vlc | |||
) | [inline, static] |
Get one coefficient value from the bistream and store it.
Definition at line 251 of file rv34.c.
Referenced by decode_subblock().
static void decode_subblock | ( | DCTELEM * | dst, | |
int | code, | |||
const int | is_block2, | |||
GetBitContext * | gb, | |||
VLC * | vlc | |||
) | [inline, static] |
Decode 2x2 subblock of coefficients.
Definition at line 271 of file rv34.c.
Referenced by rv34_decode_block().
static void rv34_decode_block | ( | DCTELEM * | dst, | |
GetBitContext * | gb, | |||
RV34VLC * | rvlc, | |||
int | fc, | |||
int | sc | |||
) | [inline, static] |
Decode coefficients for 4x4 block.
This is done by filling 2x2 subblocks with decoded coefficients in this order (the same for subblocks and subblock coefficients): o--o / / o--o
Definition at line 301 of file rv34.c.
Referenced by rv34_decode_macroblock().
static int rv34_decode_cbp | ( | GetBitContext * | gb, | |
RV34VLC * | vlc, | |||
int | table | |||
) | [static] |
Decode coded block pattern.
Definition at line 218 of file rv34.c.
Referenced by rv34_decode_mb_header().
static void rv34_dequant4x4 | ( | DCTELEM * | block, | |
int | Qdc, | |||
int | Q | |||
) | [inline, static] |
Dequantize ordinary 4x4 block.
Definition at line 331 of file rv34.c.
Referenced by rv34_decode_macroblock().
static void rv34_dequant4x4_16x16 | ( | DCTELEM * | block, | |
int | Qdc, | |||
int | Q | |||
) | [inline, static] |
Dequantize 4x4 block of DC values for 16x16 macroblock.
Definition at line 345 of file rv34.c.
Referenced by rv34_decode_macroblock().
static av_always_inline int scale_mv | ( | int | value, | |
int | bfrac, | |||
int | inv, | |||
int | qs | |||
) | [static] |
static void vc1_b_mc | ( | VC1Context * | v, | |
int | dmv_x[2], | |||
int | dmv_y[2], | |||
int | direct, | |||
int | mode | |||
) | [inline, static] |
Reconstruct motion vector for B-frame and do motion compensation.
Definition at line 1859 of file vc1.c.
Referenced by vc1_decode_b_mb().
static int vc1_i_pred_dc | ( | MpegEncContext * | s, | |
int | overlap, | |||
int | pq, | |||
int | n, | |||
int16_t ** | dc_val_ptr, | |||
int * | dir_ptr | |||
) | [inline, static] |
Get predicted DC value for I-frames only prediction dir: left=0, top=1.
s | MpegEncContext | |
[in] | n | block index in the current MB |
dc_val_ptr | Pointer to DC predictor | |
dir_ptr | Prediction direction for use in AC prediction |
Definition at line 2099 of file vc1.c.
Referenced by vc1_decode_i_block().
static void vc1_interp_mc | ( | VC1Context * | v | ) | [static] |
Motion compensation for direct or interpolated blocks in B-frames.
Definition at line 1737 of file vc1.c.
Referenced by vc1_b_mc().
static void vc1_pred_b_mv | ( | VC1Context * | v, | |
int | dmv_x[2], | |||
int | dmv_y[2], | |||
int | direct, | |||
int | mvtype | |||
) | [inline, static] |
static int vc1_pred_dc | ( | MpegEncContext * | s, | |
int | overlap, | |||
int | pq, | |||
int | n, | |||
int | a_avail, | |||
int | c_avail, | |||
int16_t ** | dc_val_ptr, | |||
int * | dir_ptr | |||
) | [inline, static] |
Get predicted DC value prediction dir: left=0, top=1.
s | MpegEncContext | |
[in] | n | block index in the current MB |
dc_val_ptr | Pointer to DC predictor | |
dir_ptr | Prediction direction for use in AC prediction |
Definition at line 2159 of file vc1.c.
Referenced by vc1_decode_i_block_adv(), and vc1_decode_intra_block().
static void vc1_pred_mv | ( | MpegEncContext * | s, | |
int | n, | |||
int | dmv_x, | |||
int | dmv_y, | |||
int | mv1, | |||
int | r_x, | |||
int | r_y, | |||
uint8_t * | is_intra | |||
) | [inline, static] |
Predict and set motion vector.
Definition at line 1603 of file vc1.c.
Referenced by vc1_decode_p_mb().