vp56.h File Reference


Detailed Description

VP5 and VP6 compatible video decoder (common features).

Copyright (C) 2006 Aurelien Jacobs <aurel@gnuage.org>

This file is part of FFmpeg.

FFmpeg is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

FFmpeg is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with FFmpeg; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Definition in file vp56.h.

Go to the source code of this file.

Classes

struct  vp56_range_coder_t
struct  vp56_ref_dc_t
struct  vp56_mv
struct  vp56_macroblock_t
struct  vp56_model_t
struct  vp56_context

Typedefs

typedef struct vp56_context vp56_context_t
typedef struct vp56_mv vp56_mv_t
typedef void(* vp56_parse_vector_adjustment_t )(vp56_context_t *s, vp56_mv_t *vect)
typedef int(* vp56_adjust_t )(int v, int t)
typedef void(* vp56_filter_t )(vp56_context_t *s, uint8_t *dst, uint8_t *src, int offset1, int offset2, int stride, vp56_mv_t mv, int mask, int select, int luma)
typedef void(* vp56_parse_coeff_t )(vp56_context_t *s)
typedef void(* vp56_default_models_init_t )(vp56_context_t *s)
typedef void(* vp56_parse_vector_models_t )(vp56_context_t *s)
typedef void(* vp56_parse_coeff_models_t )(vp56_context_t *s)
typedef int(* vp56_parse_header_t )(vp56_context_t *s, uint8_t *buf, int buf_size, int *golden_frame)

Functions

void vp56_init (AVCodecContext *avctx, int flip, int has_alpha)
int vp56_free (AVCodecContext *avctx)
void vp56_init_dequant (vp56_context_t *s, int quantizer)
int vp56_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
static void vp56_init_range_decoder (vp56_range_coder_t *c, uint8_t *buf, int buf_size)
 vp56 specific range coder implementation
static int vp56_rac_get_prob (vp56_range_coder_t *c, uint8_t prob)
static int vp56_rac_get (vp56_range_coder_t *c)
static int vp56_rac_gets (vp56_range_coder_t *c, int bits)
static int vp56_rac_gets_nn (vp56_range_coder_t *c, int bits)
static int vp56_rac_get_tree (vp56_range_coder_t *c, const vp56_tree_t *tree, const uint8_t *probs)


Typedef Documentation

typedef struct vp56_context vp56_context_t

Definition at line 33 of file vp56.h.

typedef struct vp56_mv vp56_mv_t

Definition at line 34 of file vp56.h.

Definition at line 36 of file vp56.h.

typedef int(* vp56_adjust_t)(int v, int t)

Definition at line 38 of file vp56.h.

typedef void(* vp56_filter_t)(vp56_context_t *s, uint8_t *dst, uint8_t *src, int offset1, int offset2, int stride, vp56_mv_t mv, int mask, int select, int luma)

Definition at line 39 of file vp56.h.

typedef void(* vp56_parse_coeff_t)(vp56_context_t *s)

Definition at line 42 of file vp56.h.

Definition at line 43 of file vp56.h.

Definition at line 44 of file vp56.h.

Definition at line 45 of file vp56.h.

typedef int(* vp56_parse_header_t)(vp56_context_t *s, uint8_t *buf, int buf_size, int *golden_frame)

Definition at line 46 of file vp56.h.


Function Documentation

void vp56_init ( AVCodecContext avctx,
int  flip,
int  has_alpha 
)

Definition at line 646 of file vp56.c.

Referenced by vp5_decode_init(), and vp6_decode_init().

int vp56_free ( AVCodecContext avctx  ) 

Definition at line 686 of file vp56.c.

void vp56_init_dequant ( vp56_context_t s,
int  quantizer 
)

Definition at line 31 of file vp56.c.

Referenced by vp5_parse_header(), and vp6_parse_header().

int vp56_decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
uint8_t *  buf,
int  buf_size 
)

Definition at line 497 of file vp56.c.

static void vp56_init_range_decoder ( vp56_range_coder_t c,
uint8_t *  buf,
int  buf_size 
) [inline, static]

vp56 specific range coder implementation

Definition at line 182 of file vp56.h.

Referenced by vp5_parse_header(), and vp6_parse_header().

static int vp56_rac_get_prob ( vp56_range_coder_t c,
uint8_t  prob 
) [inline, static]

static int vp56_rac_get ( vp56_range_coder_t c  )  [inline, static]

static int vp56_rac_gets ( vp56_range_coder_t c,
int  bits 
) [inline, static]

static int vp56_rac_gets_nn ( vp56_range_coder_t c,
int  bits 
) [inline, static]

static int vp56_rac_get_tree ( vp56_range_coder_t c,
const vp56_tree_t tree,
const uint8_t *  probs 
) [inline, static]


Generated on Sat Dec 18 05:15:56 2010 for MythTV by  doxygen 1.5.5