Logo Search packages:      
Sourcecode: blender version File versions

vp3.c File Reference


Detailed Description

On2 VP3 Video Decoder

VP3 Video Decoder by Mike Melanson (mike at multimedia.cx) For more information about the VP3 coding process, visit: http://multimedia.cx/

Theora decoder by Alex Beregszaszi

Definition in file vp3.c.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "common.h"
#include "avcodec.h"
#include "dsputil.h"
#include "mpegvideo.h"
#include "vp3data.h"

Go to the source code of this file.

Classes

struct  Coeff
struct  Vp3DecodeContext
struct  Vp3Fragment

Defines

#define CODING_MODE_COUNT   8
#define COMPATIBLE_FRAME(x)   (compatible_frame[s->all_fragments[x].coding_method] == current_frame_type)
#define DC_COEFF(u)   (s->coeffs[u].index ? 0 : s->coeffs[u].coeff)
#define DEBUG_BLOCK_CODING   0
#define DEBUG_DC_PRED   0
#define DEBUG_DEQUANTIZERS   0
#define DEBUG_IDCT   0
#define DEBUG_INIT   0
#define DEBUG_MODES   0
#define DEBUG_TOKEN   0
#define DEBUG_VECTORS   0
#define DEBUG_VLC   0
#define DEBUG_VP3   0
#define FRAGMENT_PIXELS   8
#define FRAME_CODED(x)   (s->all_fragments[x].coding_method != MODE_COPY)
#define KEYFRAMES_ONLY   0
#define MIN_DEQUANT_VAL   2
#define MODE_COPY   8
#define MODE_GOLDEN_MV   6
#define MODE_INTER_FOURMV   7
#define MODE_INTER_LAST_MV   3
#define MODE_INTER_NO_MV   0
#define MODE_INTER_PLUS_MV   2
#define MODE_INTER_PRIOR_LAST   4
#define MODE_INTRA   1
#define MODE_USING_GOLDEN   5
#define PL   1
#define PU   4
#define PUL   8
#define PUR   2
#define SB_FULLY_CODED   2
#define SB_NOT_CODED   0
#define SB_PARTIALLY_CODED   1
#define SCALER   4

Functions

static void apply_loop_filter (Vp3DecodeContext *s)
static void debug_block_coding (const char *format,...)
static void debug_dc_pred (const char *format,...)
static void debug_dequantizers (const char *format,...)
static void debug_idct (const char *format,...)
static void debug_init (const char *format,...)
static void debug_modes (const char *format,...)
static void debug_token (const char *format,...)
static void debug_vectors (const char *format,...)
static void debug_vlc (const char *format,...)
static void debug_vp3 (const char *format,...)
static void horizontal_filter (unsigned char *first_pixel, int stride, int *bounding_values)
static int iabs (int x)
static int init_block_mapping (Vp3DecodeContext *s)
static void init_dequantizer (Vp3DecodeContext *s)
static void init_frame (Vp3DecodeContext *s, GetBitContext *gb)
static void init_loop_filter (Vp3DecodeContext *s)
static int read_huffman_tree (AVCodecContext *avctx, GetBitContext *gb)
static void render_slice (Vp3DecodeContext *s, int slice)
static void reverse_dc_prediction (Vp3DecodeContext *s, int first_fragment, int fragment_width, int fragment_height)
static void theora_calculate_pixel_addresses (Vp3DecodeContext *s)
static int theora_decode_header (AVCodecContext *avctx, GetBitContext gb)
static int theora_decode_init (AVCodecContext *avctx)
static int theora_decode_tables (AVCodecContext *avctx, GetBitContext gb)
static int theora_get_32bit (GetBitContext gb)
static int unpack_dct_coeffs (Vp3DecodeContext *s, GetBitContext *gb)
static int unpack_modes (Vp3DecodeContext *s, GetBitContext *gb)
static int unpack_superblocks (Vp3DecodeContext *s, GetBitContext *gb)
static int unpack_vectors (Vp3DecodeContext *s, GetBitContext *gb)
static int unpack_vlcs (Vp3DecodeContext *s, GetBitContext *gb, VLC *table, int coeff_index, int first_fragment, int last_fragment, int eob_run)
static void vertical_filter (unsigned char *first_pixel, int stride, int *bounding_values)
static void vp3_calculate_pixel_addresses (Vp3DecodeContext *s)
static int vp3_decode_end (AVCodecContext *avctx)
static int vp3_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static int vp3_decode_init (AVCodecContext *avctx)

Variables

static int ModeAlphabet [7][CODING_MODE_COUNT]
AVCodec theora_decoder
AVCodec vp3_decoder


Generated by  Doxygen 1.6.0   Back to index