mb_access.c File Reference

Functions for macroblock neighborhoods. More...

#include "global.h"
#include "mbuffer.h"
#include "mb_access.h"

Include dependency graph for mb_access.c:

Go to the source code of this file.

Functions

int mb_is_available (int mbAddr, Macroblock *currMB)
void CheckAvailabilityOfNeighbors (Macroblock *currMB)
void get_mb_block_pos_normal (int mb_addr, int *x, int *y)
void get_mb_block_pos_mbaff (int mb_addr, int *x, int *y)
void get_mb_pos (int mb_addr, int mb_size[2], int *x, int *y)
void getNonAffNeighbour (Macroblock *currMb, int xN, int yN, int mb_size[2], PixelPos *pix)
void getAffNeighbour (Macroblock *currMB, int xN, int yN, int mb_size[2], PixelPos *pix)
void get4x4Neighbour (Macroblock *currMB, int block_x, int block_y, int mb_size[2], PixelPos *pix)

Variables

StorablePicture * dec_picture
static int * CurPos


Detailed Description

Functions for macroblock neighborhoods.

Author:
Main contributors (see contributors.h for copyright, address and affiliation details)

Definition in file mb_access.c.


Function Documentation

void CheckAvailabilityOfNeighbors ( Macroblock *  currMB  ) 

Checks the availability of neighboring macroblocks of the current macroblock for prediction and context determination;.

Definition at line 50 of file mb_access.c.

References img, macroblock::mb_available_left, macroblock::mb_available_up, mb_is_available(), macroblock::mbAddrA, macroblock::mbAddrB, macroblock::mbAddrC, macroblock::mbAddrD, storable_picture::MbaffFrameFlag, macroblock::mbAvailA, macroblock::mbAvailB, macroblock::mbAvailC, macroblock::mbAvailD, and storable_picture::PicWidthInMbs.

Referenced by DeblockMb(), and start_macroblock().

Here is the call graph for this function:

void get4x4Neighbour ( Macroblock *  currMB,
int  block_x,
int  block_y,
int  mb_size[2],
PixelPos *  pix 
)

get neighboring 4x4 block

Parameters:
currMB current macroblock
block_x input x block position
block_y input y block position
pix returns position informations
mb_size macroblock component width & height

Definition at line 576 of file mb_access.c.

Referenced by get_neighbors(), predict_nnz(), predict_nnz_chroma(), read_and_store_CBP_block_bit(), read_ipred_modes(), readCBP_CABAC(), readMVD_CABAC(), and readRefFrame_CABAC().

void get_mb_block_pos_mbaff ( int  mb_addr,
int *  x,
int *  y 
)

returns the x and y macroblock coordinates for a given MbAddress for mbaff type slices

Definition at line 105 of file mb_access.c.

Referenced by init_picture().

void get_mb_block_pos_normal ( int  mb_addr,
int *  x,
int *  y 
)

returns the x and y macroblock coordinates for a given MbAddress

Definition at line 92 of file mb_access.c.

Referenced by init_picture().

void get_mb_pos ( int  mb_addr,
int  mb_size[2],
int *  x,
int *  y 
)

returns the x and y sample coordinates for a given MbAddress

Definition at line 117 of file mb_access.c.

Referenced by DeblockMb(), and getAffNeighbour().

void getAffNeighbour ( Macroblock *  currMB,
int  xN,
int  yN,
int  mb_size[2],
PixelPos *  pix 
)

get neighboring positions for aff coding

Parameters:
currMB current macroblock
xN input x position
yN input y position
mb_size Macroblock size in pixel (according to luma or chroma MB access)
pix returns position informations

Definition at line 215 of file mb_access.c.

References get_mb_pos(), img, macroblock::mb_field, macroblock::mbAddrA, macroblock::mbAddrB, macroblock::mbAddrC, macroblock::mbAddrD, macroblock::mbAddrX, macroblock::mbAvailA, macroblock::mbAvailB, macroblock::mbAvailC, and macroblock::mbAvailD.

Referenced by init_picture().

Here is the call graph for this function:

void getNonAffNeighbour ( Macroblock *  currMb,
int  xN,
int  yN,
int  mb_size[2],
PixelPos *  pix 
)

get neighboring positions for non-aff coding

Parameters:
currMb current macroblock
xN input x position
yN input y position
mb_size Macroblock size in pixel (according to luma or chroma MB access)
pix returns position informations

Definition at line 142 of file mb_access.c.

References img, macroblock::mbAddrA, macroblock::mbAddrB, macroblock::mbAddrC, macroblock::mbAddrD, macroblock::mbAddrX, macroblock::mbAvailA, macroblock::mbAvailB, macroblock::mbAvailC, and macroblock::mbAvailD.

Referenced by init_picture().

int mb_is_available ( int  mbAddr,
Macroblock *  currMB 
)

returns 1 if the macroblock at the given address is available

Definition at line 27 of file mb_access.c.

References img, storable_picture::PicSizeInMbs, and macroblock::slice_nr.

Referenced by CheckAvailabilityOfNeighbors(), and read_one_macroblock().


Documentation generated with DoxyGen