#include "dsputil.h"
#include "mpegvideo.h"
Go to the source code of this file.
#define A_AVAIL 1 |
Definition at line 36 of file cavs.h.
Referenced by ff_cavs_filter(), ff_cavs_load_intra_pred_luma(), ff_cavs_modify_mb_i(), and ff_cavs_next_mb().
#define B_AVAIL 2 |
Definition at line 37 of file cavs.h.
Referenced by ff_cavs_filter(), ff_cavs_init_mb(), ff_cavs_load_intra_pred_luma(), ff_cavs_modify_mb_i(), and ff_cavs_next_mb().
#define BWD0 0x04 |
#define BWD1 0x08 |
#define C_AVAIL 4 |
Definition at line 38 of file cavs.h.
Referenced by ff_cavs_init_mb(), ff_cavs_load_intra_pred_luma(), and ff_cavs_next_mb().
#define CAVS_START_CODE 0x000001b0 |
#define D_AVAIL 8 |
#define ESCAPE_CODE 59 |
#define EXT_START_CODE 0x000001b5 |
Definition at line 30 of file cavs.h.
Referenced by cavs_decode_frame(), mpeg1_encode_picture_header(), mpeg1_encode_sequence_header(), mpeg_decode_frame(), and mpegvideo_extract_headers().
#define FWD0 0x01 |
#define FWD1 0x02 |
#define MV_BWD_OFFS 12 |
Definition at line 55 of file cavs.h.
Referenced by decode_mb_b(), get_bs(), mc_part_std(), mv_pred_direct(), and mv_pred_sym().
#define NOT_AVAIL -1 |
Definition at line 40 of file cavs.h.
Referenced by decode_mb_i(), ff_cavs_init_mb(), ff_cavs_init_pic(), ff_cavs_mv(), and ff_cavs_next_mb().
#define PIC_I_START_CODE 0x000001b3 |
#define PIC_PB_START_CODE 0x000001b6 |
Definition at line 34 of file cavs.h.
Referenced by cavs_decode_frame(), cavs_find_frame_end(), and decode_pic().
#define SLICE_MAX_START_CODE 0x000001af |
Definition at line 29 of file cavs.h.
Referenced by cavs_decode_frame(), cavs_find_frame_end(), ff_mpeg1_find_frame_end(), mpeg_decode_frame(), and mpegvideo_extract_headers().
#define SLICE_MIN_START_CODE 0x00000101 |
Definition at line 28 of file cavs.h.
Referenced by cavs_decode_frame(), ff_mpeg1_encode_slice_header(), ff_mpeg1_find_frame_end(), mpeg_decode_frame(), mpegvideo_extract_headers(), and slice_decode_thread().
#define SPLITH 0x40 |
#define SPLITV 0x80 |
#define SYM0 0x10 |
#define SYM1 0x20 |
#define USER_START_CODE 0x000001b2 |
Definition at line 31 of file cavs.h.
Referenced by cavs_decode_frame(), mpeg1_encode_picture_header(), and mpeg_decode_frame().
enum intra_chroma_t |
enum intra_luma_t |
enum mb_t |
enum mv_loc_t |
enum mv_pred_t |
enum sub_mb_t |
static int dequant | ( | AVSContext * | h, | |
DCTELEM * | level_buf, | |||
uint8_t * | run_buf, | |||
DCTELEM * | dst, | |||
int | mul, | |||
int | shift, | |||
int | coeff_num | |||
) | [inline, static] |
int ff_cavs_end | ( | AVCodecContext * | avctx | ) |
void ff_cavs_filter | ( | AVSContext * | h, | |
enum mb_t | mb_type | |||
) |
in-loop deblocking filter for a single macroblock
boundary strength (bs) mapping:
--4---5-- 0 2 | | 6 | 7 | 1 3 | ---------
Definition at line 74 of file cavs.c.
Referenced by decode_mb_b(), decode_mb_i(), and decode_mb_p().
int ff_cavs_init | ( | AVCodecContext * | avctx | ) |
void ff_cavs_init_mb | ( | AVSContext * | h | ) |
initialise predictors for motion vectors and intra prediction
Definition at line 535 of file cavs.c.
Referenced by decode_mb_b(), decode_mb_i(), and decode_mb_p().
void ff_cavs_init_pic | ( | AVSContext * | h | ) |
void ff_cavs_init_top_lines | ( | AVSContext * | h | ) |
some predictions require data from the top-neighbouring macroblock.
this data has to be stored for one complete row of macroblocks and this storage space is allocated here
Definition at line 655 of file cavs.c.
Referenced by decode_seq_header().
void ff_cavs_inter | ( | AVSContext * | h, | |
enum mb_t | mb_type | |||
) |
void ff_cavs_load_intra_pred_chroma | ( | AVSContext * | h | ) |
void ff_cavs_load_intra_pred_luma | ( | AVSContext * | h, | |
uint8_t * | top, | |||
uint8_t ** | left, | |||
int | block | |||
) |
void ff_cavs_modify_mb_i | ( | AVSContext * | h, | |
int * | pred_mode_uv | |||
) |
void ff_cavs_mv | ( | AVSContext * | h, | |
enum mv_loc_t | nP, | |||
enum mv_loc_t | nC, | |||
enum mv_pred_t | mode, | |||
enum block_t | size, | |||
int | ref | |||
) |
int ff_cavs_next_mb | ( | AVSContext * | h | ) |
save predictors for later macroblocks and increase macroblock address
Definition at line 577 of file cavs.c.
Referenced by decode_pic().
static void modify_pred | ( | const int_fast8_t * | mod_table, | |
int * | mode | |||
) | [inline, static] |
static void set_intra_mode_default | ( | AVSContext * | h | ) | [inline, static] |
static void set_mv_intra | ( | AVSContext * | h | ) | [inline, static] |
Definition at line 256 of file cavs.h.
Referenced by decode_mb_b(), ff_cavs_init_pic(), ff_cavs_mv(), mv_pred_sym(), and set_mv_intra().
const dec_2dvlc_t ff_cavs_chroma_dec[5] |
const uint8_t ff_cavs_chroma_qp[64] |
const uint16_t ff_cavs_dequant_mul[64] |
const uint8_t ff_cavs_dequant_shift[64] |
const vector_t ff_cavs_dir_mv |
marks block as "no prediction from this direction" e.g.
forward motion vector in BWD partition
Definition at line 97 of file cavsdata.h.
Referenced by decode_mb_b(), and ff_cavs_init_pic().
const dec_2dvlc_t ff_cavs_inter_dec[7] |
const dec_2dvlc_t ff_cavs_intra_dec[7] |
const vector_t ff_cavs_intra_mv |
marks block as using intra prediction
Definition at line 100 of file cavsdata.h.
Referenced by set_mv_intra().
const uint8_t ff_cavs_partition_flags[30] |
Definition at line 27 of file cavsdata.h.
Referenced by decode_mb_b(), ff_cavs_filter(), and ff_cavs_inter().
const uint8_t ff_cavs_scan3x3[4] |
const vector_t ff_cavs_un_mv |
marks block as unavailable, i.e.
out of picture or not yet decoded
Definition at line 93 of file cavsdata.h.
Referenced by ff_cavs_init(), ff_cavs_init_mb(), ff_cavs_init_pic(), ff_cavs_mv(), and ff_cavs_next_mb().
const int_fast8_t ff_left_modifier_c[7] |
const int_fast8_t ff_left_modifier_l[8] |
const int_fast8_t ff_top_modifier_c[7] |
const int_fast8_t ff_top_modifier_l[8] |
Definition at line 145 of file cavs.h.
Referenced by ff_cavs_init_top_lines(), ff_cavs_mv(), mv_pred_direct(), and mv_pred_sym().