29 #include <stdatomic.h> 32 #include "libavutil/thread.h" 39 #define VP8_MAX_QUANT 127 62 VP8_MVMODE_ZERO = MODE_I4x4 + 1,
67 enum inter_splitmvmode {
68 VP8_SPLITMVMODE_16x8 = 0,
88 uint8_t chroma_pred_mode;
90 uint8_t intra4x4_pred_mode_mb[16];
126 pthread_mutex_t lock;
129 atomic_int thread_mb_pos;
130 atomic_int wait_mb_pos;
132 #define EDGE_EMU_LINESIZE 32 143 void *hwaccel_picture_private;
146 #define MAX_THREADS 8 161 ptrdiff_t uvlinesize;
164 uint8_t deblock_filter;
165 uint8_t mbskip_enabled;
179 uint8_t absolute_vals;
181 uint8_t update_feature_data;
182 int8_t base_quant[4];
183 int8_t filter_level[4];
194 uint8_t *intra4x4_pred_mode_top;
195 uint8_t intra4x4_pred_mode_left[4];
204 int16_t luma_qmul[2];
205 int16_t luma_dc_qmul[2];
206 int16_t chroma_qmul[2];
232 int8_t
mode[VP8_MVMODE_SPLIT + 1];
244 uint8_t (*top_border)[16 + 8 + 8];
245 uint8_t (*top_nnz)[9];
255 const uint8_t *input;
259 } coder_state_at_header_end;
261 int header_partition_size;
270 uint8_t segmentid[3];
275 uint8_t pred16x16[4];
277 uint8_t token[4][16][3][NUM_DCT_TOKENS - 1];
300 int coeff_partition_size[8];
304 vp8_mc_func put_pixels_tab[3][3][3];
318 int (*decode_mb_row_no_filter)(
AVCodecContext *avctx,
void *tdata,
int jobnr,
int threadnr);
319 void (*filter_mb_row)(
AVCodecContext *avctx,
void *tdata,
int jobnr,
int threadnr);
333 uint16_t inter_dc_pred[2][2];
338 uint8_t feature_enabled[4];
339 uint8_t feature_present_prob[4];
340 uint8_t feature_index_prob[4][3];
341 uint8_t feature_value[4][4];
346 int ff_vp8_decode_frame(
AVCodecContext *avctx,
void *data,
int *got_frame,
Definition: videodsp.h:41
VP5 and VP6 compatible video decoder (common features)
int update_probabilities
If this flag is not set, all the probability updates are discarded after this frame is decoded...
Definition: vp8.h:292
int update_golden
VP56_FRAME_NONE if not updated, or which frame to copy if so.
Definition: vp8.h:285
int fade_present
Fade bit present in bitstream (VP7)
Definition: vp8.h:326
VP8 compatible video decoder.
Context for storing H.264 prediction functions.
Definition: h264pred.h:92
int update_last
update VP56_FRAME_PREVIOUS with the current one
Definition: vp8.h:284
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
Definition: mem.h:120
Definition: os2threads.h:54
int num_coeff_partitions
All coefficients are contained in separate arith coding contexts.
Definition: vp8.h:298
uint8_t colorspace
0 is the only value allowed (meaning bt601)
Definition: vp8.h:307
Definition: vf_nlmeans.c:357
uint8_t fullrange
whether we can skip clamping in dsp functions
Definition: vp8.h:308
main external API structure.
Definition: avcodec.h:1518
int mb_layout
This describes the macroblock memory layout.
Definition: vp8.h:316
VP56RangeCoder c
header context, includes mb modes and motion vectors
Definition: vp8.h:247
uint8_t enabled
whether each mb can have a different strength based on mode/ref
Definition: vp8.h:178
refcounted data buffer API
H.264 / AVC / MPEG-4 prediction functions.
A reference to a data buffer.
Definition: buffer.h:81
AVPixelFormat
Pixel format.
Definition: pixfmt.h:60
This structure stores compressed data.
Definition: avcodec.h:1407
mode
Use these values in ebur128_init (or'ed).
Definition: ebur128.h:83