On2 VP3 Video Decoder.
More...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libavutil/imgutils.h"
#include "avcodec.h"
#include "get_bits.h"
#include "hpeldsp.h"
#include "internal.h"
#include "mathops.h"
#include "thread.h"
#include "videodsp.h"
#include "vp3data.h"
#include "vp3dsp.h"
#include "xiph.h"
|
|
#define | FRAGMENT_PIXELS 8 |
| |
|
#define | SB_NOT_CODED 0 |
| |
|
#define | SB_PARTIALLY_CODED 1 |
| |
|
#define | SB_FULLY_CODED 2 |
| |
|
#define | MAXIMUM_LONG_BIT_RUN 4129 |
| |
|
#define | MODE_INTER_NO_MV 0 |
| |
|
#define | MODE_INTRA 1 |
| |
|
#define | MODE_INTER_PLUS_MV 2 |
| |
|
#define | MODE_INTER_LAST_MV 3 |
| |
|
#define | MODE_INTER_PRIOR_LAST 4 |
| |
|
#define | MODE_USING_GOLDEN 5 |
| |
|
#define | MODE_GOLDEN_MV 6 |
| |
|
#define | MODE_INTER_FOURMV 7 |
| |
|
#define | CODING_MODE_COUNT 8 |
| |
|
#define | MODE_COPY 8 |
| |
|
#define | MIN_DEQUANT_VAL 2 |
| |
|
#define | TOKEN_EOB(eob_run) ((eob_run) << 2) |
| |
|
#define | TOKEN_ZERO_RUN(coeff, zero_run) (((coeff) * 512) + ((zero_run) << 2) + 1) |
| |
|
#define | TOKEN_COEFF(coeff) (((coeff) * 4) + 2) |
| |
|
#define | BLOCK_X (2 * mb_x + (k & 1)) |
| |
|
#define | BLOCK_Y (2 * mb_y + (k >> 1)) |
| |
| #define | SET_CHROMA_MODES |
| |
|
#define | COMPATIBLE_FRAME(x) (compatible_frame[s->all_fragments[x].coding_method] == current_frame_type) |
| |
|
#define | DC_COEFF(u) s->all_fragments[u].dc |
| |
|
#define | PUL 8 |
| |
|
#define | PU 4 |
| |
|
#define | PUR 2 |
| |
|
#define | PL 1 |
| |
|
#define | TRANSPOSE(x) (((x) >> 3) | (((x) & 7) << 3)) |
| |
On2 VP3 Video Decoder.
VP3 Video Decoder by Mike Melanson (mike at multimedia.cx) For more information about the VP3 coding process, visit: http://wiki.multimedia.cx/index.php?title=On2_VP3
Theora decoder by Alex Beregszaszi
§ SET_CHROMA_MODES
Value:if (frag[s->fragment_start[1]].coding_method != MODE_COPY) \
frag[s->fragment_start[1]].coding_method = coding_mode; \
if (frag[s->fragment_start[2]].coding_method != MODE_COPY) \
frag[s->fragment_start[2]].coding_method = coding_mode;
§ ff_vp3_decoder
Initial value:= {
.name = "vp3",
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_VP3,
.init = vp3_decode_init,
.close = vp3_decode_end,
.decode = vp3_decode_frame,
.flush = vp3_decode_flush,
}
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
#define AV_CODEC_CAP_FRAME_THREADS
Codec supports frame-level multithreading.
Definition: avcodec.h:1015
#define ONLY_IF_THREADS_ENABLED(x)
Define a function with only the non-default version specified.
Definition: internal.h:225
#define AV_CODEC_CAP_DRAW_HORIZ_BAND
Decoder can use draw_horiz_band callback.
Definition: avcodec.h:953
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:959