FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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 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 41 of file vp56.c.

Referenced by vp56_decode_mv().

static void vp56_parse_mb_type_models ( VP56Context *  s)
static

Definition at line 79 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 150 of file vp56.c.

Referenced by vp56_decode_mv().

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

Definition at line 162 of file vp56.c.

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

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

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

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

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

Definition at line 332 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 403 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 466 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 485 of file vp56.c.

Referenced by ff_vp56_decode_mbs().

static int vp56_size_changed ( VP56Context *  s)
static

Definition at line 499 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 635 of file vp56.c.

Referenced by ff_vp56_decode_frame().

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

Definition at line 544 of file vp56.c.

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

Definition at line 752 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 758 of file vp56.c.

Referenced by ff_vp56_init(), and vp6_decode_init().

av_cold int ff_vp56_free ( AVCodecContext avctx)

Definition at line 811 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 817 of file vp56.c.

Referenced by ff_vp56_free(), and vp6_decode_free().