FFmpeg
Classes | Macros | Typedefs | Enumerations | Functions | Variables
vp56.h File Reference

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

#include "avcodec.h"
#include "get_bits.h"
#include "hpeldsp.h"
#include "bytestream.h"
#include "h264chroma.h"
#include "videodsp.h"
#include "vp3dsp.h"
#include "vp56dsp.h"

Go to the source code of this file.

Classes

struct  VP56Tree
 
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 VP56Tree VP56Tree
 
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, ptrdiff_t stride, VP56mv mv, int mask, int select, int luma)
 
typedef int(* 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
 

Enumerations

enum  VP56Frame {
  VP56_FRAME_NONE =-1, VP56_FRAME_CURRENT = 0, VP56_FRAME_PREVIOUS = 1, VP56_FRAME_GOLDEN = 2,
  VP56_FRAME_GOLDEN2 = 3
}
 
enum  VP56mb {
  VP56_MB_INTER_NOVEC_PF = 0, VP56_MB_INTRA = 1, VP56_MB_INTER_DELTA_PF = 2, VP56_MB_INTER_V1_PF = 3,
  VP56_MB_INTER_V2_PF = 4, VP56_MB_INTER_NOVEC_GF = 5, VP56_MB_INTER_DELTA_GF = 6, VP56_MB_INTER_4V = 7,
  VP56_MB_INTER_V1_GF = 8, VP56_MB_INTER_V2_GF = 9
}
 

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)
 
int ff_vp56_init_range_decoder (VP56RangeCoder *c, const uint8_t *buf, int buf_size)
 

Variables

const uint8_t ff_vp56_norm_shift [256]
 vp56 specific range coder implementation
 

Detailed Description

VP5 and VP6 compatible video decoder (common features)

Enumeration Type Documentation

§ VP56mb

enum VP56mb
Enumerator
VP56_MB_INTER_NOVEC_PF 

Inter MB, no vector, from previous frame.

VP56_MB_INTRA 

Intra MB.

VP56_MB_INTER_DELTA_PF 

Inter MB, above/left vector + delta, from previous frame.

VP56_MB_INTER_V1_PF 

Inter MB, first vector, from previous frame.

VP56_MB_INTER_V2_PF 

Inter MB, second vector, from previous frame.

VP56_MB_INTER_NOVEC_GF 

Inter MB, no vector, from golden frame.

VP56_MB_INTER_DELTA_GF 

Inter MB, above/left vector + delta, from golden frame.

VP56_MB_INTER_4V 

Inter MB, 4 vectors, from previous frame.

VP56_MB_INTER_V1_GF 

Inter MB, first vector, from golden frame.

VP56_MB_INTER_V2_GF 

Inter MB, second vector, from golden frame.