vp56.h File Reference

VP5 and VP6 compatible video decoder (common features) More...

#include "vp56data.h"
#include "dsputil.h"
#include "get_bits.h"
#include "hpeldsp.h"
#include "bytestream.h"
#include "h264chroma.h"
#include "videodsp.h"
#include "vp3dsp.h"
#include "vp56dsp.h"
Include dependency graph for vp56.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  VP56mv
 
struct  VP56RangeCoder
 
struct  VP56RefDc
 
struct  VP56Macroblock
 
struct  VP56Model
 
struct  vp56_context
 

Macros

#define VP56_SIZE_CHANGE   1
 
#define vp56_rac_get_prob   vp56_rac_get_prob
 

Typedefs

typedef struct vp56_context VP56Context
 
typedef struct VP56mv VP56mv
 
typedef void(* VP56ParseVectorAdjustment) (VP56Context *s, VP56mv *vect)
 
typedef void(* VP56Filter) (VP56Context *s, uint8_t *dst, uint8_t *src, int offset1, int offset2, int stride, VP56mv mv, int mask, int select, int luma)
 
typedef void(* VP56ParseCoeff) (VP56Context *s)
 
typedef void(* VP56DefaultModelsInit) (VP56Context *s)
 
typedef void(* VP56ParseVectorModels) (VP56Context *s)
 
typedef int(* VP56ParseCoeffModels) (VP56Context *s)
 
typedef int(* VP56ParseHeader) (VP56Context *s, const uint8_t *buf, int buf_size)
 
typedef struct VP56RangeCoder VP56RangeCoder
 
typedef struct VP56RefDc VP56RefDc
 
typedef struct VP56Macroblock VP56Macroblock
 
typedef struct VP56Model VP56Model
 

Functions

int ff_vp56_init (AVCodecContext *avctx, int flip, int has_alpha)
 
int ff_vp56_init_context (AVCodecContext *avctx, VP56Context *s, int flip, int has_alpha)
 
int ff_vp56_free (AVCodecContext *avctx)
 
int ff_vp56_free_context (VP56Context *s)
 
void ff_vp56_init_dequant (VP56Context *s, int quantizer)
 
int ff_vp56_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
 
void ff_vp56_init_range_decoder (VP56RangeCoder *c, const uint8_t *buf, int buf_size)
 
static av_always_inline unsigned int vp56_rac_renorm (VP56RangeCoder *c)
 
static av_always_inline int vp56_rac_get_prob (VP56RangeCoder *c, uint8_t prob)
 
static av_always_inline int vp56_rac_get_prob_branchy (VP56RangeCoder *c, int prob)
 
static av_always_inline int vp56_rac_get (VP56RangeCoder *c)
 
static av_always_inline int vp8_rac_get (VP56RangeCoder *c)
 
static av_unused int vp56_rac_gets (VP56RangeCoder *c, int bits)
 
static av_unused int vp8_rac_get_uint (VP56RangeCoder *c, int bits)
 
static av_unused int vp8_rac_get_sint (VP56RangeCoder *c, int bits)
 
static av_unused int vp56_rac_gets_nn (VP56RangeCoder *c, int bits)
 
static av_unused int vp8_rac_get_nn (VP56RangeCoder *c)
 
static av_always_inline int vp56_rac_get_tree (VP56RangeCoder *c, const VP56Tree *tree, const uint8_t *probs)
 
static av_always_inline int vp8_rac_get_tree (VP56RangeCoder *c, const int8_t(*tree)[2], const uint8_t *probs)
 
static av_always_inline int vp8_rac_get_coeff (VP56RangeCoder *c, const uint8_t *prob)
 

Variables

const uint8_t ff_vp56_norm_shift [256]
 vp56 specific range coder implementation More...
 

Detailed Description

VP5 and VP6 compatible video decoder (common features)

Definition in file vp56.h.

Macro Definition Documentation

#define VP56_SIZE_CHANGE   1

Definition at line 46 of file vp56.h.

Referenced by ff_vp56_decode_frame(), vp5_parse_header(), and vp6_parse_header().

Typedef Documentation

typedef struct vp56_context VP56Context

Definition at line 39 of file vp56.h.

typedef void(* VP56DefaultModelsInit) (VP56Context *s)

Definition at line 54 of file vp56.h.

typedef void(* VP56Filter) (VP56Context *s, uint8_t *dst, uint8_t *src, int offset1, int offset2, int stride, VP56mv mv, int mask, int select, int luma)

Definition at line 50 of file vp56.h.

typedef struct VP56Model VP56Model
typedef struct VP56mv VP56mv
typedef void(* VP56ParseCoeff) (VP56Context *s)

Definition at line 53 of file vp56.h.

typedef int(* VP56ParseCoeffModels) (VP56Context *s)

Definition at line 56 of file vp56.h.

typedef int(* VP56ParseHeader) (VP56Context *s, const uint8_t *buf, int buf_size)

Definition at line 57 of file vp56.h.

typedef void(* VP56ParseVectorAdjustment) (VP56Context *s, VP56mv *vect)

Definition at line 48 of file vp56.h.

typedef void(* VP56ParseVectorModels) (VP56Context *s)

Definition at line 55 of file vp56.h.

typedef struct VP56RefDc VP56RefDc

Function Documentation

int ff_vp56_decode_frame ( AVCodecContext avctx,
void data,
int *  got_frame,
AVPacket avpkt 
)

Definition at line 496 of file vp56.c.

int ff_vp56_free ( AVCodecContext avctx)

Definition at line 737 of file vp56.c.

Referenced by ff_vp56_init_context(), and vp6_decode_free().

int ff_vp56_free_context ( VP56Context s)

Definition at line 743 of file vp56.c.

Referenced by ff_vp56_free(), and vp6_decode_free().

int ff_vp56_init ( AVCodecContext avctx,
int  flip,
int  has_alpha 
)

Definition at line 678 of file vp56.c.

Referenced by vp5_decode_init(), and vp6_decode_init().

int ff_vp56_init_context ( AVCodecContext avctx,
VP56Context s,
int  flip,
int  has_alpha 
)

Definition at line 684 of file vp56.c.

Referenced by ff_vp56_init(), and vp6_decode_init().

void ff_vp56_init_dequant ( VP56Context s,
int  quantizer 
)

Definition at line 34 of file vp56.c.

Referenced by vp5_parse_header(), and vp6_parse_header().

void ff_vp56_init_range_decoder ( VP56RangeCoder c,
const uint8_t buf,
int  buf_size 
)
static av_always_inline int vp56_rac_get_prob ( VP56RangeCoder c,
uint8_t  prob 
)
static

Definition at line 227 of file vp56.h.

static av_always_inline int vp56_rac_get_prob_branchy ( VP56RangeCoder c,
int  prob 
)
static
static av_always_inline int vp56_rac_get_tree ( VP56RangeCoder c,
const VP56Tree tree,
const uint8_t probs 
)
static
static av_unused int vp56_rac_gets ( VP56RangeCoder c,
int  bits 
)
static
static av_unused int vp56_rac_gets_nn ( VP56RangeCoder c,
int  bits 
)
static
static av_always_inline unsigned int vp56_rac_renorm ( VP56RangeCoder c)
static

Definition at line 202 of file vp56.h.

Referenced by vp56_rac_get(), vp56_rac_get_prob(), and vp56_rac_get_prob_branchy().

static av_always_inline int vp8_rac_get_coeff ( VP56RangeCoder c,
const uint8_t prob 
)
static

Definition at line 365 of file vp56.h.

Referenced by decode_block_coeffs_internal().

static av_unused int vp8_rac_get_nn ( VP56RangeCoder c)
static

Definition at line 330 of file vp56.h.

Referenced by decode_frame_header().

static av_unused int vp8_rac_get_sint ( VP56RangeCoder c,
int  bits 
)
static

Definition at line 308 of file vp56.h.

Referenced by get_quants(), and parse_segment_info().

static av_always_inline int vp8_rac_get_tree ( VP56RangeCoder c,
const int8_t(*)  tree[2],
const uint8_t probs 
)
static

Definition at line 352 of file vp56.h.

Referenced by decode_intra4x4_modes(), and decode_mb_mode().

static av_unused int vp8_rac_get_uint ( VP56RangeCoder c,
int  bits 
)
static

Variable Documentation

const uint8_t ff_vp56_norm_shift[256]

vp56 specific range coder implementation

Definition at line 25 of file vp56rac.c.

Referenced by vp56_rac_renorm().