FFmpeg
Data Structures | Macros | Enumerations | Functions
vp8.h File Reference
#include <stdatomic.h>
#include "libavutil/buffer.h"
#include "libavutil/mem_internal.h"
#include "libavutil/thread.h"
#include "h264pred.h"
#include "threadframe.h"
#include "videodsp.h"
#include "vp8dsp.h"
#include "vpx_rac.h"

Go to the source code of this file.

Data Structures

struct  VP8mv
 
struct  VP8FilterStrength
 
struct  VP8Macroblock
 
struct  VP8intmv
 
struct  VP8mvbounds
 
struct  VP8ThreadData
 
struct  VP8Frame
 
struct  VP8Context
 

Macros

#define VP8_MAX_QUANT   127
 
#define MODE_I4x4   4
 
#define EDGE_EMU_LINESIZE   32
 
#define MAX_THREADS   8
 

Enumerations

enum  VP8FrameType {
  VP8_FRAME_NONE = -1, VP8_FRAME_CURRENT = 0, VP8_FRAME_PREVIOUS = 1, VP8_FRAME_GOLDEN = 2,
  VP8_FRAME_ALTREF = 3
}
 
enum  dct_token {
  DCT_0, DCT_1, DCT_2, DCT_3,
  DCT_4, DCT_CAT1, DCT_CAT2, DCT_CAT3,
  DCT_CAT4, DCT_CAT5, DCT_CAT6, DCT_EOB,
  NUM_DCT_TOKENS
}
 
enum  inter_mvmode { VP8_MVMODE_ZERO = MODE_I4x4 + 1, VP8_MVMODE_MV, VP8_MVMODE_SPLIT }
 
enum  inter_splitmvmode {
  VP8_SPLITMVMODE_16x8 = 0, VP8_SPLITMVMODE_8x16, VP8_SPLITMVMODE_8x8, VP8_SPLITMVMODE_4x4,
  VP8_SPLITMVMODE_NONE
}
 

Functions

int ff_vp8_decode_init (AVCodecContext *avctx)
 
int ff_vp8_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame, AVPacket *avpkt)
 
int ff_vp8_decode_free (AVCodecContext *avctx)
 

Macro Definition Documentation

◆ VP8_MAX_QUANT

#define VP8_MAX_QUANT   127

Definition at line 41 of file vp8.h.

◆ MODE_I4x4

#define MODE_I4x4   4

Definition at line 69 of file vp8.h.

◆ EDGE_EMU_LINESIZE

#define EDGE_EMU_LINESIZE   32

Definition at line 147 of file vp8.h.

◆ MAX_THREADS

#define MAX_THREADS   8

Definition at line 161 of file vp8.h.

Enumeration Type Documentation

◆ VP8FrameType

Enumerator
VP8_FRAME_NONE 
VP8_FRAME_CURRENT 
VP8_FRAME_PREVIOUS 
VP8_FRAME_GOLDEN 
VP8_FRAME_ALTREF 

Definition at line 43 of file vp8.h.

◆ dct_token

enum dct_token
Enumerator
DCT_0 
DCT_1 
DCT_2 
DCT_3 
DCT_4 
DCT_CAT1 
DCT_CAT2 
DCT_CAT3 
DCT_CAT4 
DCT_CAT5 
DCT_CAT6 
DCT_EOB 
NUM_DCT_TOKENS 

Definition at line 51 of file vp8.h.

◆ inter_mvmode

Enumerator
VP8_MVMODE_ZERO 
VP8_MVMODE_MV 
VP8_MVMODE_SPLIT 

Definition at line 71 of file vp8.h.

◆ inter_splitmvmode

Enumerator
VP8_SPLITMVMODE_16x8 

2 16x8 blocks (vertical)

VP8_SPLITMVMODE_8x16 

2 8x16 blocks (horizontal)

VP8_SPLITMVMODE_8x8 

2x2 blocks of 8x8px each

VP8_SPLITMVMODE_4x4 

4x4 blocks of 4x4px each

VP8_SPLITMVMODE_NONE 

(only used in prediction) no split MVs

Definition at line 77 of file vp8.h.

Function Documentation

◆ ff_vp8_decode_init()

int ff_vp8_decode_init ( AVCodecContext avctx)

Definition at line 2928 of file vp8.c.

Referenced by vp8_lossy_decode_frame().

◆ ff_vp8_decode_frame()

int ff_vp8_decode_frame ( AVCodecContext avctx,
AVFrame frame,
int got_frame,
AVPacket avpkt 
)

Definition at line 2847 of file vp8.c.

Referenced by vp8_lossy_decode_frame().

◆ ff_vp8_decode_free()

int ff_vp8_decode_free ( AVCodecContext avctx)

Definition at line 2861 of file vp8.c.

Referenced by vp78_decode_init(), and webp_decode_close().