FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
vc1_mc.c File Reference

VC-1 and WMV3 block decoding routines. More...

#include "avcodec.h"
#include "h264chroma.h"
#include "mathops.h"
#include "mpegvideo.h"
#include "vc1.h"

Go to the source code of this file.

Functions

void ff_vc1_mc_1mv (VC1Context *v, int dir)
 Do motion compensation over 1 macroblock Mostly adapted hpel_motion and qpel_motion from mpegvideo.c.
 
static int median4 (int a, int b, int c, int d)
 
void ff_vc1_mc_4mv_luma (VC1Context *v, int n, int dir, int avg)
 Do motion compensation for 4-MV macroblock - luminance block.
 
static av_always_inline int get_chroma_mv (int *mvx, int *mvy, int *a, int flag, int *tx, int *ty)
 
void ff_vc1_mc_4mv_chroma (VC1Context *v, int dir)
 Do motion compensation for 4-MV macroblock - both chroma blocks.
 
void ff_vc1_mc_4mv_chroma4 (VC1Context *v, int dir, int dir2, int avg)
 Do motion compensation for 4-MV interlaced frame chroma macroblock (both U and V)
 
void ff_vc1_interp_mc (VC1Context *v)
 Motion compensation for direct or interpolated blocks in B-frames.
 

Detailed Description

VC-1 and WMV3 block decoding routines.

Definition in file vc1_mc.c.

Function Documentation

void ff_vc1_mc_1mv ( VC1Context v,
int  dir 
)

Do motion compensation over 1 macroblock Mostly adapted hpel_motion and qpel_motion from mpegvideo.c.

Definition at line 38 of file vc1_mc.c.

Referenced by vc1_b_mc(), vc1_decode_b_mb_intfr(), vc1_decode_p_mb(), vc1_decode_p_mb_intfi(), and vc1_decode_p_mb_intfr().

static int median4 ( int  a,
int  b,
int  c,
int  d 
)
inlinestatic

Definition at line 243 of file vc1_mc.c.

Referenced by ff_vc1_mc_4mv_luma(), and get_chroma_mv().

void ff_vc1_mc_4mv_luma ( VC1Context v,
int  n,
int  dir,
int  avg 
)

Do motion compensation for 4-MV macroblock - luminance block.

Definition at line 256 of file vc1_mc.c.

Referenced by vc1_decode_b_mb_intfi(), vc1_decode_b_mb_intfr(), vc1_decode_p_mb(), vc1_decode_p_mb_intfi(), and vc1_decode_p_mb_intfr().

static av_always_inline int get_chroma_mv ( int *  mvx,
int *  mvy,
int *  a,
int  flag,
int *  tx,
int *  ty 
)
static

Definition at line 447 of file vc1_mc.c.

Referenced by ff_vc1_mc_4mv_chroma().

void ff_vc1_mc_4mv_chroma ( VC1Context v,
int  dir 
)

Do motion compensation for 4-MV macroblock - both chroma blocks.

Definition at line 502 of file vc1_mc.c.

Referenced by vc1_decode_b_mb_intfi(), vc1_decode_p_mb(), and vc1_decode_p_mb_intfi().

void ff_vc1_mc_4mv_chroma4 ( VC1Context v,
int  dir,
int  dir2,
int  avg 
)

Do motion compensation for 4-MV interlaced frame chroma macroblock (both U and V)

Definition at line 674 of file vc1_mc.c.

Referenced by vc1_decode_b_mb_intfr(), and vc1_decode_p_mb_intfr().

void ff_vc1_interp_mc ( VC1Context v)

Motion compensation for direct or interpolated blocks in B-frames.

Definition at line 788 of file vc1_mc.c.

Referenced by vc1_b_mc(), and vc1_decode_b_mb_intfr().