39 #define VP8_MAX_QUANT 127
125 #define MAX_THREADS 8
VP8Macroblock * macroblocks
(only used in prediction) no split MVs
This structure describes decoded (raw) audio or video data.
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]
struct VP8Macroblock VP8Macroblock
int update_probabilities
If this flag is not set, all the probability updates are discarded after this frame is decoded...
struct VP8FilterStrength VP8FilterStrength
struct VP8Context::@62 filter
int update_golden
VP56_FRAME_NONE if not updated, or which frame to copy if so.
uint8_t intra4x4_pred_mode_top[4]
VP8 compatible video decoder.
CRITICAL_SECTION pthread_mutex_t
struct VP8Context::@61 segmentation
Base parameters for segmentation, i.e.
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]
struct VP8ThreadData VP8ThreadData
VP8Macroblock * macroblocks_base
struct VP8Context::@65 prob[2]
These are all of the updatable probabilities for binary decisions.
VP5 and VP6 compatible video decoder (common data)
int8_t ref[4]
filter strength adjustment for macroblocks that reference: [0] - intra / VP56_FRAME_CURRENT [1] - VP5...
struct VP8Context::@63 qmat[4]
Macroblocks can have one of 4 different quants in a frame when segmentation is enabled.
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]
uint8_t * edge_emu_buffer
main external API structure.
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]
VP8FilterStrength * filter_strength
uint8_t enabled
whether each mb can have a different strength based on mode/ref
struct VP8Context VP8Context
uint8_t * segmentation_maps[5]
A list of segmentation_map buffers that are to be free()'ed in the next decoding iteration.
H.264 / AVC / MPEG4 prediction functions.
#define DECLARE_ALIGNED(n, t, v)
int8_t mode[VP8_MVMODE_SPLIT+1]
filter strength adjustment for the following macroblock modes: [0-3] - i16x16 (always zero) [4] - i4x...
2 8x16 blocks (horizontal)
w32threads to pthreads wrapper
int8_t filter_level[4]
base loop filter level
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...
VP8ThreadData * thread_data
struct VP8Context::@64 lf_delta