libavcodec/vp6.c File Reference
VP6 compatible video decoder.
More...
#include <stdlib.h>
#include "avcodec.h"
#include "dsputil.h"
#include "get_bits.h"
#include "huffman.h"
#include "vp56.h"
#include "vp56data.h"
#include "vp6data.h"
Go to the source code of this file.
|
Defines |
#define | VP6_MAX_HUFF_SIZE 12 |
Functions |
static void | vp6_parse_coeff (VP56Context *s) |
static void | vp6_parse_coeff_huffman (VP56Context *s) |
static int | vp6_parse_header (VP56Context *s, const uint8_t *buf, int buf_size, int *golden_frame) |
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.
|
static int | vp6_block_variance (uint8_t *src, int stride) |
static void | vp6_filter_hv4 (uint8_t *dst, uint8_t *src, int stride, int delta, const int16_t *weights) |
static void | vp6_filter_diag2 (VP56Context *s, uint8_t *dst, uint8_t *src, int stride, int h_weight, int v_weight) |
static void | vp6_filter (VP56Context *s, uint8_t *dst, uint8_t *src, int offset1, int offset2, int stride, VP56mv mv, int mask, int select, int luma) |
static av_cold int | vp6_decode_init (AVCodecContext *avctx) |
static av_cold int | vp6_decode_free (AVCodecContext *avctx) |
Variables |
AVCodec | ff_vp6_decoder |
AVCodec | ff_vp6f_decoder |
AVCodec | ff_vp6a_decoder |
Detailed Description
VP6 compatible video decoder.
The VP6F decoder accepts an optional 1 byte extradata. It is composed of:
- upper 4 bits: difference between encoded width and visible width
- lower 4 bits: difference between encoded height and visible height
Definition in file vp6.c.
Define Documentation
#define VP6_MAX_HUFF_SIZE 12 |
Function Documentation
static int vp6_block_variance |
( |
uint8_t * |
src, |
|
|
int |
stride | |
|
) |
| | [static] |
static int vp6_build_huff_tree |
( |
VP56Context * |
s, |
|
|
uint8_t |
coeff_model[], |
|
|
const uint8_t * |
map, |
|
|
unsigned |
size, |
|
|
VLC * |
vlc | |
|
) |
| | [static] |
static void vp6_coeff_order_table_init |
( |
VP56Context * |
s |
) |
[static] |
static av_cold int vp6_decode_free |
( |
AVCodecContext * |
avctx |
) |
[static] |
static av_cold int vp6_decode_init |
( |
AVCodecContext * |
avctx |
) |
[static] |
static void vp6_default_models_init |
( |
VP56Context * |
s |
) |
[static] |
static void vp6_filter |
( |
VP56Context * |
s, |
|
|
uint8_t * |
dst, |
|
|
uint8_t * |
src, |
|
|
int |
offset1, |
|
|
int |
offset2, |
|
|
int |
stride, |
|
|
VP56mv |
mv, |
|
|
int |
mask, |
|
|
int |
select, |
|
|
int |
luma | |
|
) |
| | [static] |
static void vp6_filter_diag2 |
( |
VP56Context * |
s, |
|
|
uint8_t * |
dst, |
|
|
uint8_t * |
src, |
|
|
int |
stride, |
|
|
int |
h_weight, |
|
|
int |
v_weight | |
|
) |
| | [static] |
static void vp6_filter_hv4 |
( |
uint8_t * |
dst, |
|
|
uint8_t * |
src, |
|
|
int |
stride, |
|
|
int |
delta, |
|
|
const int16_t * |
weights | |
|
) |
| | [static] |
static unsigned vp6_get_nb_null |
( |
VP56Context * |
s |
) |
[static] |
static int vp6_huff_cmp |
( |
const void * |
va, |
|
|
const void * |
vb | |
|
) |
| | [static] |
static void vp6_parse_coeff |
( |
VP56Context * |
s |
) |
[static] |
static void vp6_parse_coeff_huffman |
( |
VP56Context * |
s |
) |
[static] |
static int vp6_parse_coeff_models |
( |
VP56Context * |
s |
) |
[static] |
static int vp6_parse_header |
( |
VP56Context * |
s, |
|
|
const uint8_t * |
buf, |
|
|
int |
buf_size, |
|
|
int * |
golden_frame | |
|
) |
| | [static] |
static void vp6_parse_vector_models |
( |
VP56Context * |
s |
) |
[static] |
Variable Documentation
Initial value:
Definition at line 623 of file vp6.c.
Initial value:
{
.name = "vp6a",
.type = AVMEDIA_TYPE_VIDEO,
.id = CODEC_ID_VP6A,
.priv_data_size = sizeof(VP56Context),
.init = vp6_decode_init,
.close = vp6_decode_free,
.decode = ff_vp56_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version, with alpha channel)"),
}
Definition at line 649 of file vp6.c.
Initial value:
Definition at line 636 of file vp6.c.