Libav
Data Structures | Typedefs | Enumerations | Functions
vp9.h File Reference
#include <stddef.h>
#include <stdint.h>
#include "libavutil/internal.h"
#include "avcodec.h"
#include "vp56.h"

Go to the source code of this file.

Data Structures

struct  ProbContext
 
struct  VP9DSPContext
 
struct  VP9MVRefPair
 
struct  VP9Filter
 
struct  VP9Block
 
struct  VP9Context
 

Typedefs

typedef void(* vp9_mc_func) (uint8_t *dst, const uint8_t *ref, ptrdiff_t dst_stride, ptrdiff_t ref_stride, int h, int mx, int my)
 

Enumerations

enum  TxfmMode {
  TX_4X4, TX_8X8, TX_16X16, TX_32X32,
  N_TXFM_SIZES, TX_SWITCHABLE = N_TXFM_SIZES, N_TXFM_MODES
}
 
enum  TxfmType {
  DCT_DCT, DCT_ADST, ADST_DCT, ADST_ADST,
  N_TXFM_TYPES
}
 
enum  IntraPredMode {
  INTRA_PLANAR = 0, INTRA_DC, INTRA_ANGULAR_2, INTRA_ANGULAR_3,
  INTRA_ANGULAR_4, INTRA_ANGULAR_5, INTRA_ANGULAR_6, INTRA_ANGULAR_7,
  INTRA_ANGULAR_8, INTRA_ANGULAR_9, INTRA_ANGULAR_10, INTRA_ANGULAR_11,
  INTRA_ANGULAR_12, INTRA_ANGULAR_13, INTRA_ANGULAR_14, INTRA_ANGULAR_15,
  INTRA_ANGULAR_16, INTRA_ANGULAR_17, INTRA_ANGULAR_18, INTRA_ANGULAR_19,
  INTRA_ANGULAR_20, INTRA_ANGULAR_21, INTRA_ANGULAR_22, INTRA_ANGULAR_23,
  INTRA_ANGULAR_24, INTRA_ANGULAR_25, INTRA_ANGULAR_26, INTRA_ANGULAR_27,
  INTRA_ANGULAR_28, INTRA_ANGULAR_29, INTRA_ANGULAR_30, INTRA_ANGULAR_31,
  INTRA_ANGULAR_32, INTRA_ANGULAR_33, INTRA_ANGULAR_34, VERT_PRED,
  HOR_PRED, DC_PRED, DIAG_DOWN_LEFT_PRED, DIAG_DOWN_RIGHT_PRED,
  VERT_RIGHT_PRED, HOR_DOWN_PRED, VERT_LEFT_PRED, HOR_UP_PRED,
  TM_VP8_PRED, LEFT_DC_PRED, TOP_DC_PRED, DC_128_PRED,
  DC_127_PRED, DC_129_PRED, N_INTRA_PRED_MODES
}
 
enum  FilterMode {
  FILTER_8TAP_SMOOTH, FILTER_8TAP_REGULAR, FILTER_8TAP_SHARP, FILTER_BILINEAR,
  FILTER_SWITCHABLE
}
 
enum  BlockPartition { PARTITION_NONE, PARTITION_H, PARTITION_V, PARTITION_SPLIT }
 
enum  InterPredMode { NEARESTMV = 10, NEARMV = 11, ZEROMV = 12, NEWMV = 13 }
 
enum  MVJoint { MV_JOINT_ZERO, MV_JOINT_H, MV_JOINT_V, MV_JOINT_HV }
 
enum  CompPredMode { PRED_SINGLEREF, PRED_COMPREF, PRED_SWITCHABLE }
 
enum  BlockLevel { BL_64X64, BL_32X32, BL_16X16, BL_8X8 }
 
enum  BlockSize {
  BS_64x64, BS_64x32, BS_32x64, BS_32x32,
  BS_32x16, BS_16x32, BS_16x16, BS_16x8,
  BS_8x16, BS_8x8, BS_8x4, BS_4x8,
  BS_4x4, N_BS_SIZES
}
 

Functions

void ff_vp9dsp_init (VP9DSPContext *dsp)
 
void ff_vp9dsp_init_x86 (VP9DSPContext *dsp)
 
void ff_vp9_fill_mv (VP9Context *s, VP56mv *mv, int mode, int sb)
 
void ff_vp9_adapt_probs (VP9Context *s)
 
int ff_vp9_decode_block (AVCodecContext *avctx, int row, int col, VP9Filter *lflvl, ptrdiff_t yoff, ptrdiff_t uvoff, enum BlockLevel bl, enum BlockPartition bp)
 

Typedef Documentation

§ vp9_mc_func

typedef void(* vp9_mc_func) (uint8_t *dst, const uint8_t *ref, ptrdiff_t dst_stride, ptrdiff_t ref_stride, int h, int mx, int my)

Definition at line 128 of file vp9.h.

Enumeration Type Documentation

§ TxfmMode

enum TxfmMode
Enumerator
TX_4X4 
TX_8X8 
TX_16X16 
TX_32X32 
N_TXFM_SIZES 
TX_SWITCHABLE 
N_TXFM_MODES 

Definition at line 35 of file vp9.h.

§ TxfmType

enum TxfmType
Enumerator
DCT_DCT 
DCT_ADST 
ADST_DCT 
ADST_ADST 
N_TXFM_TYPES 

Definition at line 45 of file vp9.h.

§ IntraPredMode

Enumerator
INTRA_PLANAR 
INTRA_DC 
INTRA_ANGULAR_2 
INTRA_ANGULAR_3 
INTRA_ANGULAR_4 
INTRA_ANGULAR_5 
INTRA_ANGULAR_6 
INTRA_ANGULAR_7 
INTRA_ANGULAR_8 
INTRA_ANGULAR_9 
INTRA_ANGULAR_10 
INTRA_ANGULAR_11 
INTRA_ANGULAR_12 
INTRA_ANGULAR_13 
INTRA_ANGULAR_14 
INTRA_ANGULAR_15 
INTRA_ANGULAR_16 
INTRA_ANGULAR_17 
INTRA_ANGULAR_18 
INTRA_ANGULAR_19 
INTRA_ANGULAR_20 
INTRA_ANGULAR_21 
INTRA_ANGULAR_22 
INTRA_ANGULAR_23 
INTRA_ANGULAR_24 
INTRA_ANGULAR_25 
INTRA_ANGULAR_26 
INTRA_ANGULAR_27 
INTRA_ANGULAR_28 
INTRA_ANGULAR_29 
INTRA_ANGULAR_30 
INTRA_ANGULAR_31 
INTRA_ANGULAR_32 
INTRA_ANGULAR_33 
INTRA_ANGULAR_34 
VERT_PRED 
HOR_PRED 
DC_PRED 
DIAG_DOWN_LEFT_PRED 
DIAG_DOWN_RIGHT_PRED 
VERT_RIGHT_PRED 
HOR_DOWN_PRED 
VERT_LEFT_PRED 
HOR_UP_PRED 
TM_VP8_PRED 
LEFT_DC_PRED 
TOP_DC_PRED 
DC_128_PRED 
DC_127_PRED 
DC_129_PRED 
N_INTRA_PRED_MODES 

Definition at line 53 of file vp9.h.

§ FilterMode

enum FilterMode
Enumerator
FILTER_8TAP_SMOOTH 
FILTER_8TAP_REGULAR 
FILTER_8TAP_SHARP 
FILTER_BILINEAR 
FILTER_SWITCHABLE 

Definition at line 72 of file vp9.h.

§ BlockPartition

Enumerator
PARTITION_NONE 
PARTITION_H 
PARTITION_V 
PARTITION_SPLIT 

Definition at line 80 of file vp9.h.

§ InterPredMode

Enumerator
NEARESTMV 
NEARMV 
ZEROMV 
NEWMV 

Definition at line 87 of file vp9.h.

§ MVJoint

enum MVJoint
Enumerator
MV_JOINT_ZERO 
MV_JOINT_H 
MV_JOINT_V 
MV_JOINT_HV 

Definition at line 94 of file vp9.h.

§ CompPredMode

Enumerator
PRED_SINGLEREF 
PRED_COMPREF 
PRED_SWITCHABLE 

Definition at line 211 of file vp9.h.

§ BlockLevel

enum BlockLevel
Enumerator
BL_64X64 
BL_32X32 
BL_16X16 
BL_8X8 

Definition at line 228 of file vp9.h.

§ BlockSize

enum BlockSize
Enumerator
BS_64x64 
BS_64x32 
BS_32x64 
BS_32x32 
BS_32x16 
BS_16x32 
BS_16x16 
BS_16x8 
BS_8x16 
BS_8x8 
BS_8x4 
BS_4x8 
BS_4x4 
N_BS_SIZES 

Definition at line 235 of file vp9.h.

Function Documentation

§ ff_vp9dsp_init()

void ff_vp9dsp_init ( VP9DSPContext dsp)

Definition at line 2165 of file vp9dsp.c.

Referenced by vp9_decode_init().

§ ff_vp9dsp_init_x86()

void ff_vp9dsp_init_x86 ( VP9DSPContext dsp)

Definition at line 187 of file vp9dsp_init.c.

Referenced by ff_vp9dsp_init().

§ ff_vp9_fill_mv()

void ff_vp9_fill_mv ( VP9Context s,
VP56mv mv,
int  mode,
int  sb 
)

Definition at line 280 of file vp9mvs.c.

Referenced by decode_mode().

§ ff_vp9_adapt_probs()

void ff_vp9_adapt_probs ( VP9Context s)

Definition at line 46 of file vp9prob.c.

Referenced by vp9_decode_frame().

§ ff_vp9_decode_block()

int ff_vp9_decode_block ( AVCodecContext avctx,
int  row,
int  col,
VP9Filter lflvl,
ptrdiff_t  yoff,
ptrdiff_t  uvoff,
enum BlockLevel  bl,
enum BlockPartition  bp 
)

Definition at line 1544 of file vp9block.c.

Referenced by decode_subblock().