29 #include "libavutil/buffer.h"
43 #define VP8_MAX_QUANT 127
134 #define MAX_THREADS 8
VP8Macroblock * macroblocks
(only used in prediction) no split MVs
VP5 and VP6 compatible video decoder (common features)
int8_t sign_bias[4]
one state [0, 1] per ref frame type
uint8_t * intra4x4_pred_mode_top
uint8_t token[4][16][3][NUM_DCT_TOKENS-1]
#define DECLARE_ALIGNED(n, t, v)
os2threads to pthreads wrapper
int update_probabilities
If this flag is not set, all the probability updates are discarded after this frame is decoded...
int update_golden
VP56_FRAME_NONE if not updated, or which frame to copy if so.
uint8_t intra4x4_pred_mode_top[4]
Multithreading support functions.
VP8 compatible video decoder.
int ff_vp8_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
Context for storing H.264 prediction functions.
int update_last
update VP56_FRAME_PREVIOUS with the current one
int num_coeff_partitions
All coefficients are contained in separate arith coding contexts.
vp8_mc_func put_pixels_tab[3][3][3]
uint8_t intra4x4_pred_mode_mb[16]
uint8_t intra4x4_pred_mode_left[4]
uint8_t edge_emu_buffer[21 *32]
VP8Macroblock * macroblocks_base
struct VP8Context::@93 lf_delta
int8_t ref[4]
filter strength adjustment for macroblocks that reference: [0] - intra / VP56_FRAME_CURRENT [1] - VP5...
void(* vp8_mc_func)(uint8_t *dst, ptrdiff_t dstStride, uint8_t *src, ptrdiff_t srcStride, int h, int x, int y)
int16_t luma_dc_qmul[2]
luma dc-only block quant
uint8_t(* top_border)[16+8+8]
main external API structure.
VP8Frame * next_framep[4]
int mb_layout
This describes the macroblock memory layout.
uint8_t left_nnz[9]
For coeff decode, we need to know whether the above block had non-zero coefficients.
VP56RangeCoder c
header context, includes mb modes and motion vectors
VP56RangeCoder coeff_partition[8]
struct VP8Context::@94 prob[2]
These are all of the updatable probabilities for binary decisions.
VP8FilterStrength * filter_strength
uint8_t enabled
whether each mb can have a different strength based on mode/ref
H.264 / AVC / MPEG4 prediction functions.
av_cold int ff_vp8_decode_init(AVCodecContext *avctx)
2 8x16 blocks (horizontal)
av_cold int ff_vp8_decode_free(AVCodecContext *avctx)
A reference to a data buffer.
struct VP8Context::@91 filter
struct VP8Context::@90 segmentation
Base parameters for segmentation, i.e.
w32threads to pthreads wrapper
int8_t filter_level[4]
base loop filter level
struct VP8Context::@92 qmat[4]
Macroblocks can have one of 4 different quants in a frame when segmentation is enabled.
uint8_t non_zero_count_cache[6][4]
This is the index plus one of the last non-zero coeff for each of the blocks in the current macrobloc...
This structure stores compressed data.
VP8ThreadData * thread_data