72#define VP56_SIZE_CHANGE 1
77 int offset1,
int offset2, ptrdiff_t
stride,
222 int flip,
int has_alpha);
254 const uint8_t *probs)
256 while (
tree->val > 0) {
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Libavcodec external API header.
static const uint8_t bits[8]
bitstream reader API header.
static const int8_t mv[256][2]
static void flip(AVCodecContext *avctx, AVFrame *frame)
static const uint16_t mask[17]
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
main external API structure.
This structure describes decoded (raw) audio or video data.
This structure stores compressed data.
uint8_t coeff_runv[2][14]
uint8_t coeff_dcct[2][36][5]
uint8_t coeff_acct[2][3][3][6][5]
uint8_t coeff_index_to_pos[64]
uint8_t mb_types_stats[3][10][2]
uint8_t coeff_dccv[2][11]
uint8_t mb_type[3][10][10]
uint8_t coeff_index_to_idct_selector[64]
uint8_t coeff_reorder[64]
uint8_t coeff_ract[2][3][6][11]
VP56Context * alpha_context
uint8_t idct_scantable[64]
VP56ParseVectorAdjustment parse_vector_adjustment
uint8_t * edge_emu_buffer
VP56Macroblock * macroblocks
H264ChromaContext h264chroma
unsigned int nb_null[2][2]
const uint8_t * def_coeff_reorder
uint8_t * edge_emu_buffer_alloc
VP56ParseHeader parse_header
int16_t block_coeff[6][64]
VP56ParseCoeff parse_coeff
VP56ParseCoeffModels parse_coeff_models
const uint8_t * vp56_coord_div
VP56DefaultModelsInit default_models_init
VP56mv vector_candidate[2]
VP56ParseVectorModels parse_vector_models
uint8_t coeff_ctx_last[4]
int sample_variance_threshold
int bounding_values_array[256]
Core video DSP helper functions.
static int vp56_rac_gets(VPXRangeCoder *c, int bits)
vp56 specific range coder implementation
int(* VP56ParseHeader)(VP56Context *s, const uint8_t *buf, int buf_size)
@ VP56_MB_INTER_V1_PF
Inter MB, first vector, from previous frame.
@ VP56_MB_INTER_DELTA_PF
Inter MB, above/left vector + delta, from previous frame.
@ VP56_MB_INTER_DELTA_GF
Inter MB, above/left vector + delta, from golden frame.
@ VP56_MB_INTER_V2_PF
Inter MB, second vector, from previous frame.
@ VP56_MB_INTER_V2_GF
Inter MB, second vector, from golden frame.
@ VP56_MB_INTER_V1_GF
Inter MB, first vector, from golden frame.
@ VP56_MB_INTER_4V
Inter MB, 4 vectors, from previous frame.
@ VP56_MB_INTER_NOVEC_GF
Inter MB, no vector, from golden frame.
@ VP56_MB_INTER_NOVEC_PF
Inter MB, no vector, from previous frame.
void(* VP56Filter)(VP56Context *s, uint8_t *dst, uint8_t *src, int offset1, int offset2, ptrdiff_t stride, VP56mv mv, int mask, int select, int luma)
void(* VP56DefaultModelsInit)(VP56Context *s)
int ff_vp56_free_context(VP56Context *s)
int(* VP56ParseCoeffModels)(VP56Context *s)
static av_always_inline int vp56_rac_get_tree(VPXRangeCoder *c, const VP56Tree *tree, const uint8_t *probs)
void ff_vp56_init_dequant(VP56Context *s, int quantizer)
int(* VP56ParseCoeff)(VP56Context *s)
static av_unused int vp56_rac_gets_nn(VPXRangeCoder *c, int bits)
int ff_vp56_init_context(AVCodecContext *avctx, VP56Context *s, int flip, int has_alpha)
Initializes an VP56Context.
void(* VP56ParseVectorModels)(VP56Context *s)
void(* VP56ParseVectorAdjustment)(VP56Context *s, VP56mv *vect)
int ff_vp56_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt)
Common VP5-VP9 range decoder stuff.
static av_always_inline int vpx_rac_get_prob_branchy(VPXRangeCoder *c, int prob)
static av_always_inline int vpx_rac_get(VPXRangeCoder *c)