41#define VP8_MAX_QUANT 127
147#define EDGE_EMU_LINESIZE 32
Libavcodec external API header.
#define prob(name, subs,...)
H.264 / AVC / MPEG-4 prediction functions.
static pthread_mutex_t lock
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
int(* cond)(enum AVPixelFormat pix_fmt)
AVPixelFormat
Pixel format.
main external API structure.
This structure describes decoded (raw) audio or video data.
This structure stores compressed data.
Context for storing H.264 prediction functions.
The ProgressFrame structure.
int webm_alpha_warned
warn once about unsupported WebM alpha
int8_t mode[VP8_MVMODE_SPLIT+1]
filter strength adjustment for the following macroblock modes: [0-3] - i16x16 (always zero) [4] - i4x...
uint8_t feature_present_prob[4]
uint8_t token[4][16][3][NUM_DCT_TOKENS - 1]
int8_t filter_level[4]
base loop filter level
struct VP8Context::@207214201036132371144115201311213233004154132263 segmentation
Base parameters for segmentation, i.e.
void(* filter_mb_row)(AVCodecContext *avctx, void *tdata, int jobnr, int threadnr)
int num_coeff_partitions
All coefficients are contained in separate arith coding contexts.
uint8_t fullrange
whether we can skip clamping in dsp functions
uint8_t enabled
whether each mb can have a different strength based on mode/ref
int16_t luma_dc_qmul[2]
luma dc-only block quant
int(* decode_mb_row_no_filter)(AVCodecContext *avctx, void *tdata, int jobnr, int threadnr)
int update_golden
VP8_FRAME_NONE if not updated, or which frame to copy if so.
int header_partition_size
int coeff_partition_size[8]
uint8_t feature_enabled[4]
Macroblock features (VP7)
uint8_t * intra4x4_pred_mode_top
int8_t sign_bias[4]
one state [0, 1] per ref frame type
uint8_t intra4x4_pred_mode_left[4]
uint8_t update_feature_data
uint8_t(* top_border)[16+8+8]
struct VP8Context::@163306124322175000246256004010244133161257135334 lf_delta
VP8Frame * next_framep[4]
int8_t ref[4]
filter strength adjustment for macroblocks that reference: [0] - intra / VP8_FRAME_CURRENT [1] - VP8_...
enum AVPixelFormat pix_fmt
vp8_mc_func put_pixels_tab[3][3][3]
struct VP8Context::@051114067332351051142072205003351053156034002153 qmat[4]
Macroblocks can have one of 4 different quants in a frame when segmentation is enabled.
VP8Macroblock * macroblocks
VP8Macroblock * macroblocks_base
int update_probabilities
If this flag is not set, all the probability updates are discarded after this frame is decoded.
int mb_layout
This describes the macroblock memory layout.
VP8ThreadData * thread_data
uint8_t feature_value[4][4]
int update_last
update VP8_FRAME_PREVIOUS with the current one
uint16_t inter_dc_pred[2][2]
Interframe DC prediction (VP7) [0] VP8_FRAME_PREVIOUS [1] VP8_FRAME_GOLDEN.
VPXRangeCoder coeff_partition[8]
uint8_t colorspace
0 is the only value allowed (meaning bt601)
uint8_t feature_index_prob[4][3]
struct VP8Context::@141117005350150307025064237060242357163351066005 coder_state_at_header_end
VPXRangeCoder c
header context, includes mb modes and motion vectors
void * hwaccel_picture_private
RefStruct reference.
uint8_t * seg_map
RefStruct reference.
uint8_t intra4x4_pred_mode_top[4]
uint8_t intra4x4_pred_mode_mb[16]
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...
uint8_t edge_emu_buffer[21 *EDGE_EMU_LINESIZE]
uint8_t left_nnz[9]
For coeff decode, we need to know whether the above block had non-zero coefficients.
VP8FilterStrength * filter_strength
void(* filter)(uint8_t *src, ptrdiff_t stride, int qscale)
Core video DSP helper functions.
static const uint8_t quant[64]
#define EDGE_EMU_LINESIZE
int ff_vp8_decode_init(AVCodecContext *avctx)
@ VP8_SPLITMVMODE_8x8
2x2 blocks of 8x8px each
@ VP8_SPLITMVMODE_4x4
4x4 blocks of 4x4px each
@ VP8_SPLITMVMODE_16x8
2 16x8 blocks (vertical)
@ VP8_SPLITMVMODE_NONE
(only used in prediction) no split MVs
@ VP8_SPLITMVMODE_8x16
2 8x16 blocks (horizontal)
int ff_vp8_decode_free(AVCodecContext *avctx)
int ff_vp8_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt)
VP8 compatible video decoder.
void(* vp8_mc_func)(uint8_t *dst, ptrdiff_t dstStride, const uint8_t *src, ptrdiff_t srcStride, int h, int x, int y)
Common VP5-VP9 range decoder stuff.