FFmpeg
Macros | Functions
vp56.c File Reference

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

#include "avcodec.h"
#include "bytestream.h"
#include "internal.h"
#include "h264chroma.h"
#include "vp56.h"
#include "vp56data.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)
 
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, void *data, int *got_frame, AVPacket *avpkt)
 
av_cold int ff_vp56_init (AVCodecContext *avctx, int flip, int has_alpha)
 
av_cold int ff_vp56_init_context (AVCodecContext *avctx, VP56Context *s, int flip, int has_alpha)
 
av_cold int ff_vp56_free (AVCodecContext *avctx)
 
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

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

Referenced by ff_vp56_init_context().

Function Documentation

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().

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

Definition at line 43 of file vp56.c.

Referenced by vp56_decode_mv().

static void vp56_parse_mb_type_models ( VP56Context *  s)
static

Definition at line 81 of file vp56.c.

Referenced by ff_vp56_decode_mbs().

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

Definition at line 152 of file vp56.c.

Referenced by vp56_decode_mv().

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

Definition at line 164 of file vp56.c.

Referenced by vp56_decode_mv().

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

Definition at line 205 of file vp56.c.

Referenced by vp56_decode_mb().

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

Definition at line 262 of file vp56.c.

Referenced by vp56_conceal_mb().

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

Definition at line 281 of file vp56.c.

Referenced by vp56_render_mb().

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

Definition at line 322 of file vp56.c.

Referenced by vp56_mc().

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

Definition at line 338 of file vp56.c.

Referenced by vp56_render_mb().

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

Definition at line 409 of file vp56.c.

Referenced by vp56_render_mb().

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

Definition at line 417 of file vp56.c.

Referenced by 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 427 of file vp56.c.

Referenced by vp56_conceal_mb(), and vp56_decode_mb().

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

Definition at line 490 of file vp56.c.

Referenced by ff_vp56_decode_mbs().

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

Definition at line 509 of file vp56.c.

Referenced by ff_vp56_decode_mbs().

static int vp56_size_changed ( VP56Context *  s)
static

Definition at line 523 of file vp56.c.

Referenced by ff_vp56_decode_frame().

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

Definition at line 659 of file vp56.c.

Referenced by ff_vp56_decode_frame(), and vp56_size_changed().

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

Definition at line 568 of file vp56.c.

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

Definition at line 776 of file vp56.c.

Referenced by vp5_decode_init(), and vp6_decode_init().

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

Definition at line 782 of file vp56.c.

Referenced by ff_vp56_init(), and vp6_decode_init().

av_cold int ff_vp56_free ( AVCodecContext avctx)

Definition at line 835 of file vp56.c.

Referenced by ff_vp56_init_context(), and vp6_decode_free().

av_cold int ff_vp56_free_context ( VP56Context *  s)

Definition at line 841 of file vp56.c.

Referenced by ff_vp56_free(), and vp6_decode_free().