FFmpeg
4.0
|
VP6 compatible video decoder. More...
#include <stdlib.h>
#include "avcodec.h"
#include "get_bits.h"
#include "huffman.h"
#include "internal.h"
#include "vp56.h"
#include "vp56data.h"
#include "vp6data.h"
Go to the source code of this file.
Macros | |
#define | VP6_MAX_HUFF_SIZE 12 |
Functions | |
static int | vp6_parse_coeff (VP56Context *s) |
static int | vp6_parse_coeff_huffman (VP56Context *s) |
static int | vp6_parse_header (VP56Context *s, const uint8_t *buf, int buf_size) |
static void | vp6_coeff_order_table_init (VP56Context *s) |
static void | vp6_default_models_init (VP56Context *s) |
static void | vp6_parse_vector_models (VP56Context *s) |
static int | vp6_huff_cmp (const void *va, const void *vb) |
static int | vp6_build_huff_tree (VP56Context *s, uint8_t coeff_model[], const uint8_t *map, unsigned size, VLC *vlc) |
static int | vp6_parse_coeff_models (VP56Context *s) |
static void | vp6_parse_vector_adjustment (VP56Context *s, VP56mv *vect) |
static unsigned | vp6_get_nb_null (VP56Context *s) |
Read number of consecutive blocks with null DC or AC. More... | |
static int | vp6_block_variance (uint8_t *src, ptrdiff_t stride) |
static void | vp6_filter_hv4 (uint8_t *dst, uint8_t *src, ptrdiff_t stride, int delta, const int16_t *weights) |
static void | vp6_filter_diag2 (VP56Context *s, uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h_weight, int v_weight) |
static void | vp6_filter (VP56Context *s, uint8_t *dst, uint8_t *src, int offset1, int offset2, ptrdiff_t stride, VP56mv mv, int mask, int select, int luma) |
static av_cold void | vp6_decode_init_context (VP56Context *s) |
static av_cold int | vp6_decode_init (AVCodecContext *avctx) |
static av_cold void | vp6_decode_free_context (VP56Context *s) |
static av_cold int | vp6_decode_free (AVCodecContext *avctx) |
Variables | |
AVCodec | ff_vp6_decoder |
AVCodec | ff_vp6f_decoder |
AVCodec | ff_vp6a_decoder |
VP6 compatible video decoder.
The VP6F decoder accepts an optional 1 byte extradata. It is composed of:
Definition in file vp6.c.
#define VP6_MAX_HUFF_SIZE 12 |
Definition at line 41 of file vp6.c.
Referenced by vp6_build_huff_tree().
|
static |
Definition at line 453 of file vp6.c.
Referenced by vp6_parse_header().
|
static |
Definition at line 393 of file vp6.c.
Referenced by vp6_parse_header().
Definition at line 46 of file vp6.c.
Referenced by vp6_decode_init_context().
|
static |
Definition at line 188 of file vp6.c.
Referenced by vp6_default_models_init(), and vp6_parse_coeff_models().
|
static |
Definition at line 199 of file vp6.c.
Referenced by vp6_decode_init_context().
|
static |
Definition at line 217 of file vp6.c.
Referenced by vp6_decode_init_context().
Definition at line 242 of file vp6.c.
Referenced by vp6_build_huff_tree().
|
static |
Definition at line 248 of file vp6.c.
Referenced by vp6_parse_coeff_models().
|
static |
Definition at line 270 of file vp6.c.
Referenced by vp6_decode_init_context().
Definition at line 339 of file vp6.c.
Referenced by vp6_decode_init_context().
|
static |
Read number of consecutive blocks with null DC or AC.
This value is < 74.
Definition at line 381 of file vp6.c.
Referenced by vp6_parse_coeff_huffman().
Definition at line 534 of file vp6.c.
Referenced by vp6_filter().
|
static |
Definition at line 549 of file vp6.c.
Referenced by vp6_filter().
|
static |
Definition at line 566 of file vp6.c.
Referenced by vp6_filter().
|
static |
Definition at line 574 of file vp6.c.
Referenced by vp6_decode_init_context().
Definition at line 649 of file vp6.c.
Referenced by vp6_decode_init(), and vp6_filter().
|
static |
Definition at line 679 of file vp6.c.
Referenced by vp6_decode_free(), and vp6_decode_init_context().
|
static |
AVCodec ff_vp6_decoder |
AVCodec ff_vp6f_decoder |
AVCodec ff_vp6a_decoder |