|
static void | free_buffers (VP8Context *s) |
|
static int | vp8_alloc_frame (VP8Context *s, VP8Frame *f, int ref) |
|
static void | vp8_release_frame (VP8Context *s, VP8Frame *f) |
|
static int | vp8_ref_frame (VP8Context *s, VP8Frame *dst, VP8Frame *src) |
|
static void | vp8_decode_flush_impl (AVCodecContext *avctx, int free_mem) |
|
static void | vp8_decode_flush (AVCodecContext *avctx) |
|
static int | update_dimensions (VP8Context *s, int width, int height) |
|
static void | parse_segment_info (VP8Context *s) |
|
static void | update_lf_deltas (VP8Context *s) |
|
static int | setup_partitions (VP8Context *s, const uint8_t *buf, int buf_size) |
|
static void | get_quants (VP8Context *s) |
|
static VP56Frame | ref_to_update (VP8Context *s, int update, VP56Frame ref) |
| Determine which buffers golden and altref should be updated with after this frame.
|
|
static void | update_refs (VP8Context *s) |
|
static int | decode_frame_header (VP8Context *s, const uint8_t *buf, int buf_size) |
|
static av_always_inline void | clamp_mv (VP8Context *s, VP56mv *dst, const VP56mv *src) |
|
static int | read_mv_component (VP56RangeCoder *c, const uint8_t *p) |
| Motion vector coding, 17.1.
|
|
static av_always_inline const
uint8_t * | get_submv_prob (uint32_t left, uint32_t top) |
|
static av_always_inline int | decode_splitmvs (VP8Context *s, VP56RangeCoder *c, VP8Macroblock *mb, int layout) |
| Split motion vector prediction, 16.4.
|
|
static av_always_inline void | decode_mvs (VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y, int layout) |
|
static av_always_inline void | decode_intra4x4_modes (VP8Context *s, VP56RangeCoder *c, VP8Macroblock *mb, int mb_x, int keyframe, int layout) |
|
static av_always_inline void | decode_mb_mode (VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y, uint8_t *segment, uint8_t *ref, int layout) |
|
static int | decode_block_coeffs_internal (VP56RangeCoder *r, int16_t block[16], uint8_t probs[16][3][NUM_DCT_TOKENS-1], int i, uint8_t *token_prob, int16_t qmul[2]) |
|
static av_always_inline int | decode_block_coeffs (VP56RangeCoder *c, int16_t block[16], uint8_t probs[16][3][NUM_DCT_TOKENS-1], int i, int zero_nhood, int16_t qmul[2]) |
|
static av_always_inline void | decode_mb_coeffs (VP8Context *s, VP8ThreadData *td, VP56RangeCoder *c, VP8Macroblock *mb, uint8_t t_nnz[9], uint8_t l_nnz[9]) |
|
static av_always_inline void | backup_mb_border (uint8_t *top_border, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize, int simple) |
|
static av_always_inline void | xchg_mb_border (uint8_t *top_border, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize, int mb_x, int mb_y, int mb_width, int simple, int xchg) |
|
static av_always_inline int | check_dc_pred8x8_mode (int mode, int mb_x, int mb_y) |
|
static av_always_inline int | check_tm_pred8x8_mode (int mode, int mb_x, int mb_y) |
|
static av_always_inline int | check_intra_pred8x8_mode (int mode, int mb_x, int mb_y) |
|
static av_always_inline int | check_intra_pred8x8_mode_emuedge (int mode, int mb_x, int mb_y) |
|
static av_always_inline int | check_tm_pred4x4_mode (int mode, int mb_x, int mb_y) |
|
static av_always_inline int | check_intra_pred4x4_mode_emuedge (int mode, int mb_x, int mb_y, int *copy_buf) |
|
static av_always_inline void | intra_predict (VP8Context *s, VP8ThreadData *td, uint8_t *dst[3], VP8Macroblock *mb, int mb_x, int mb_y) |
|
static av_always_inline void | vp8_mc_luma (VP8Context *s, VP8ThreadData *td, uint8_t *dst, ThreadFrame *ref, const VP56mv *mv, int x_off, int y_off, int block_w, int block_h, int width, int height, int linesize, vp8_mc_func mc_func[3][3]) |
| luma MC function
|
|
static av_always_inline void | vp8_mc_chroma (VP8Context *s, VP8ThreadData *td, uint8_t *dst1, uint8_t *dst2, ThreadFrame *ref, const VP56mv *mv, int x_off, int y_off, int block_w, int block_h, int width, int height, int linesize, vp8_mc_func mc_func[3][3]) |
| chroma MC function
|
|
static av_always_inline void | vp8_mc_part (VP8Context *s, VP8ThreadData *td, uint8_t *dst[3], ThreadFrame *ref_frame, int x_off, int y_off, int bx_off, int by_off, int block_w, int block_h, int width, int height, VP56mv *mv) |
|
static av_always_inline void | prefetch_motion (VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y, int mb_xy, int ref) |
|
static av_always_inline void | inter_predict (VP8Context *s, VP8ThreadData *td, uint8_t *dst[3], VP8Macroblock *mb, int mb_x, int mb_y) |
| Apply motion vectors to prediction buffer, chapter 18.
|
|
static av_always_inline void | idct_mb (VP8Context *s, VP8ThreadData *td, uint8_t *dst[3], VP8Macroblock *mb) |
|
static av_always_inline void | filter_level_for_mb (VP8Context *s, VP8Macroblock *mb, VP8FilterStrength *f) |
|
static av_always_inline void | filter_mb (VP8Context *s, uint8_t *dst[3], VP8FilterStrength *f, int mb_x, int mb_y) |
|
static av_always_inline void | filter_mb_simple (VP8Context *s, uint8_t *dst, VP8FilterStrength *f, int mb_x, int mb_y) |
|
static void | vp8_decode_mv_mb_modes (AVCodecContext *avctx, VP8Frame *curframe, VP8Frame *prev_frame) |
|
static void | vp8_decode_mb_row_no_filter (AVCodecContext *avctx, void *tdata, int jobnr, int threadnr) |
|
static void | vp8_filter_mb_row (AVCodecContext *avctx, void *tdata, int jobnr, int threadnr) |
|
static int | vp8_decode_mb_row_sliced (AVCodecContext *avctx, void *tdata, int jobnr, int threadnr) |
|
static int | vp8_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
|
static av_cold int | vp8_decode_free (AVCodecContext *avctx) |
|
static av_cold int | vp8_init_frames (VP8Context *s) |
|
static av_cold int | vp8_decode_init (AVCodecContext *avctx) |
|
static av_cold int | vp8_decode_init_thread_copy (AVCodecContext *avctx) |
|
static int | vp8_decode_update_thread_context (AVCodecContext *dst, const AVCodecContext *src) |
|
static unsigned | apply_padding (unsigned size) |
|
static int | webp_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
|