libavcodec/h264_mvpred.h File Reference

H.264 / AVC / MPEG4 part10 motion vector predicion. More...

#include "internal.h"
#include "avcodec.h"
#include "h264.h"
#include <assert.h>

Go to the source code of this file.

Defines

#define SET_DIAG_MV(MV_OP, REF_OP, XY, Y4)

Functions

static int fetch_diagonal_mv (H264Context *h, const int16_t **C, int i, int list, int part_width)
static void pred_motion (H264Context *const h, int n, int part_width, int list, int ref, int *const mx, int *const my)
 gets the predicted MV.
static void pred_16x8_motion (H264Context *const h, int n, int list, int ref, int *const mx, int *const my)
 gets the directionally predicted 16x8 MV.
static void pred_8x16_motion (H264Context *const h, int n, int list, int ref, int *const mx, int *const my)
 gets the directionally predicted 8x16 MV.
static void pred_pskip_motion (H264Context *const h, int *const mx, int *const my)


Detailed Description

H.264 / AVC / MPEG4 part10 motion vector predicion.

Author:
Michael Niedermayer <michaelni@gmx.at>

Definition in file h264_mvpred.h.


Define Documentation

#define SET_DIAG_MV ( MV_OP,
REF_OP,
XY,
Y4   ) 

Value:

const int xy = XY, y4 = Y4;\
                const int mb_type = mb_types[xy+(y4>>2)*s->mb_stride];\
                if(!USES_LIST(mb_type,list))\
                    return LIST_NOT_USED;\
                mv = s->current_picture_ptr->motion_val[list][h->mb2b_xy[xy]+3 + y4*h->b_stride];\
                h->mv_cache[list][scan8[0]-2][0] = mv[0];\
                h->mv_cache[list][scan8[0]-2][1] = mv[1] MV_OP;\
                return s->current_picture_ptr->ref_index[list][4*xy+1 + (y4&~1)] REF_OP;

Referenced by fetch_diagonal_mv().


Function Documentation

static int fetch_diagonal_mv ( H264Context h,
const int16_t **  C,
int  i,
int  list,
int  part_width 
) [inline, static]

Definition at line 38 of file h264_mvpred.h.

Referenced by pred_8x16_motion(), and pred_motion().

static void pred_16x8_motion ( H264Context *const   h,
int  n,
int  list,
int  ref,
int *const   mx,
int *const   my 
) [inline, static]

gets the directionally predicted 16x8 MV.

Parameters:
n the block index
mx the x component of the predicted motion vector
my the y component of the predicted motion vector

Definition at line 151 of file h264_mvpred.h.

Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().

static void pred_8x16_motion ( H264Context *const   h,
int  n,
int  list,
int  ref,
int *const   mx,
int *const   my 
) [inline, static]

gets the directionally predicted 8x16 MV.

Parameters:
n the block index
mx the x component of the predicted motion vector
my the y component of the predicted motion vector

Definition at line 186 of file h264_mvpred.h.

Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().

static void pred_motion ( H264Context *const   h,
int  n,
int  part_width,
int  list,
int  ref,
int *const   mx,
int *const   my 
) [inline, static]

gets the predicted MV.

Parameters:
n the block index
part_width the width of the partition (4, 8,16) -> (1, 2, 4)
mx the x component of the predicted motion vector
my the y component of the predicted motion vector

Definition at line 96 of file h264_mvpred.h.

Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), pred_16x8_motion(), pred_8x16_motion(), pred_pskip_motion(), and svq3_mc_dir().

static void pred_pskip_motion ( H264Context *const   h,
int *const   mx,
int *const   my 
) [inline, static]

Definition at line 217 of file h264_mvpred.h.


Generated on Fri Oct 26 02:39:44 2012 for FFmpeg by  doxygen 1.5.8