FFmpeg
Macros | Functions
vp56.c File Reference
#include "libavutil/mem.h"
#include "avcodec.h"
#include "bytestream.h"
#include "decode.h"
#include "h264chroma.h"
#include "vp56.h"
#include "vp56data.h"
#include "vpx_rac.h"

Go to the source code of this file.

Macros

#define TRANSPOSE(x)   (((x) >> 3) | (((x) & 7) << 3))
 

Functions

void ff_vp56_init_dequant (VP56Context *s, int quantizer)
 
static int vp56_get_vectors_predictors (VP56Context *s, int row, int col, VP56Frame ref_frame)
 
static void vp56_parse_mb_type_models (VP56Context *s)
 
static VP56mb vp56_parse_mb_type (VP56Context *s, VP56mb prev_type, int ctx)
 
static void vp56_decode_4mv (VP56Context *s, int row, int col)
 
static VP56mb vp56_decode_mv (VP56Context *s, int row, int col)
 
static VP56mb vp56_conceal_mv (VP56Context *s, int row, int col)
 
static void vp56_add_predictors_dc (VP56Context *s, VP56Frame ref_frame)
 
static void vp56_deblock_filter (VP56Context *s, uint8_t *yuv, ptrdiff_t stride, int dx, int dy)
 
static void vp56_mc (VP56Context *s, int b, int plane, uint8_t *src, ptrdiff_t stride, int x, int y, ptrdiff_t ref_stride)
 
static void vp56_idct_put (VP56Context *s, uint8_t *dest, ptrdiff_t stride, int16_t *block, int selector)
 
static void vp56_idct_add (VP56Context *s, uint8_t *dest, ptrdiff_t stride, int16_t *block, int selector)
 
static av_always_inline void vp56_render_mb (VP56Context *s, int row, int col, int is_alpha, VP56mb mb_type)
 
static int vp56_decode_mb (VP56Context *s, int row, int col, int is_alpha)
 
static int vp56_conceal_mb (VP56Context *s, int row, int col, int is_alpha)
 
static int vp56_size_changed (VP56Context *s)
 
static int ff_vp56_decode_mbs (AVCodecContext *avctx, void *, int, int)
 
int ff_vp56_decode_frame (AVCodecContext *avctx, AVFrame *rframe, int *got_frame, AVPacket *avpkt)
 
av_cold int ff_vp56_init_context (AVCodecContext *avctx, VP56Context *s, int flip, int has_alpha)
 Initializes an VP56Context. More...
 
av_cold int ff_vp56_free_context (VP56Context *s)
 

Detailed Description

VP5 and VP6 compatible video decoder (common features)

Definition in file vp56.c.

Macro Definition Documentation

◆ TRANSPOSE

#define TRANSPOSE (   x)    (((x) >> 3) | (((x) & 7) << 3))

Function Documentation

◆ ff_vp56_init_dequant()

void ff_vp56_init_dequant ( VP56Context *  s,
int  quantizer 
)

Definition at line 36 of file vp56.c.

Referenced by vp5_parse_header(), and vp6_parse_header().

◆ vp56_get_vectors_predictors()

static int vp56_get_vectors_predictors ( VP56Context *  s,
int  row,
int  col,
VP56Frame  ref_frame 
)
static

Definition at line 45 of file vp56.c.

Referenced by vp56_decode_mv().

◆ vp56_parse_mb_type_models()

static void vp56_parse_mb_type_models ( VP56Context *  s)
static

Definition at line 83 of file vp56.c.

Referenced by ff_vp56_decode_mbs().

◆ vp56_parse_mb_type()

static VP56mb vp56_parse_mb_type ( VP56Context *  s,
VP56mb  prev_type,
int  ctx 
)
static

Definition at line 154 of file vp56.c.

Referenced by vp56_decode_mv().

◆ vp56_decode_4mv()

static void vp56_decode_4mv ( VP56Context *  s,
int  row,
int  col 
)
static

Definition at line 166 of file vp56.c.

Referenced by vp56_decode_mv().

◆ vp56_decode_mv()

static VP56mb vp56_decode_mv ( VP56Context *  s,
int  row,
int  col 
)
static

Definition at line 207 of file vp56.c.

Referenced by vp56_decode_mb().

◆ vp56_conceal_mv()

static VP56mb vp56_conceal_mv ( VP56Context *  s,
int  row,
int  col 
)
static

Definition at line 264 of file vp56.c.

Referenced by vp56_conceal_mb().

◆ vp56_add_predictors_dc()

static void vp56_add_predictors_dc ( VP56Context *  s,
VP56Frame  ref_frame 
)
static

Definition at line 283 of file vp56.c.

Referenced by vp56_render_mb().

◆ vp56_deblock_filter()

static void vp56_deblock_filter ( VP56Context *  s,
uint8_t *  yuv,
ptrdiff_t  stride,
int  dx,
int  dy 
)
static

Definition at line 324 of file vp56.c.

Referenced by vp56_mc().

◆ vp56_mc()

static void vp56_mc ( VP56Context *  s,
int  b,
int  plane,
uint8_t *  src,
ptrdiff_t  stride,
int  x,
int  y,
ptrdiff_t  ref_stride 
)
static

Definition at line 340 of file vp56.c.

Referenced by vp56_render_mb().

◆ vp56_idct_put()

static void vp56_idct_put ( VP56Context *  s,
uint8_t *  dest,
ptrdiff_t  stride,
int16_t *  block,
int  selector 
)
static

Definition at line 421 of file vp56.c.

Referenced by vp56_render_mb().

◆ vp56_idct_add()

static void vp56_idct_add ( VP56Context *  s,
uint8_t *  dest,
ptrdiff_t  stride,
int16_t *  block,
int  selector 
)
static

Definition at line 429 of file vp56.c.

Referenced by vp56_render_mb().

◆ vp56_render_mb()

static av_always_inline void vp56_render_mb ( VP56Context *  s,
int  row,
int  col,
int  is_alpha,
VP56mb  mb_type 
)
static

Definition at line 439 of file vp56.c.

Referenced by vp56_conceal_mb(), and vp56_decode_mb().

◆ vp56_decode_mb()

static int vp56_decode_mb ( VP56Context *  s,
int  row,
int  col,
int  is_alpha 
)
static

Definition at line 516 of file vp56.c.

Referenced by ff_vp56_decode_mbs().

◆ vp56_conceal_mb()

static int vp56_conceal_mb ( VP56Context *  s,
int  row,
int  col,
int  is_alpha 
)
static

Definition at line 548 of file vp56.c.

Referenced by ff_vp56_decode_mbs().

◆ vp56_size_changed()

static int vp56_size_changed ( VP56Context *  s)
static

Definition at line 562 of file vp56.c.

Referenced by ff_vp56_decode_frame().

◆ ff_vp56_decode_mbs()

static int ff_vp56_decode_mbs ( AVCodecContext avctx,
void *  data,
int  jobnr,
int  threadnr 
)
static

Definition at line 698 of file vp56.c.

Referenced by ff_vp56_decode_frame().

◆ ff_vp56_decode_frame()

int ff_vp56_decode_frame ( AVCodecContext avctx,
AVFrame rframe,
int *  got_frame,
AVPacket avpkt 
)

Definition at line 607 of file vp56.c.

◆ ff_vp56_init_context()

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

Initializes an VP56Context.

Expects its caller to clean up in case of error.

Definition at line 819 of file vp56.c.

Referenced by vp5_decode_init(), and vp6_decode_init_context().

◆ ff_vp56_free_context()

av_cold int ff_vp56_free_context ( VP56Context *  s)

Definition at line 870 of file vp56.c.

Referenced by vp56_free(), and vp6_decode_free_context().