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

Boolean mb_is_available (int mbAddr, Macroblock *currMB)
void CheckAvailabilityOfNeighbors (Macroblock *currMB)
void get_mb_block_pos_normal (int mb_addr, short *x, short *y)
void get_mb_block_pos_mbaff (int mb_addr, short *x, short *y)
void get_mb_pos (ImageParameters *p_Img, int mb_addr, int mb_size[2], short *x, short *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)


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 49 of file mb_access.c.

References mb_is_available(), macroblock::mb_left, macroblock::mb_up, macroblock::mbAddrX, and macroblock::p_Img.

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
mb_size Macroblock size in pixel (according to luma or chroma MB access)
pix returns position informations

Definition at line 566 of file mb_access.c.

References macroblock::p_Img.

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

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

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

Definition at line 108 of file mb_access.c.

Referenced by init_picture().

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

returns the x and y macroblock coordinates for a given MbAddress

Definition at line 95 of file mb_access.c.

Referenced by init_picture().

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

returns the x and y sample coordinates for a given MbAddress

Definition at line 120 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 219 of file mb_access.c.

References get_mb_pos(), macroblock::mbAddrX, and macroblock::p_Img.

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 neighbouring 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 145 of file mb_access.c.

References macroblock::mbAddrX, and macroblock::p_Img.

Referenced by init_picture().

Boolean mb_is_available ( int  mbAddr,
Macroblock currMB 
)

returns 1 if the macroblock at the given address is available

Definition at line 25 of file mb_access.c.

References macroblock::p_Img.

Referenced by CheckAvailabilityOfNeighbors(), read_one_macroblock_b_slice(), and read_one_macroblock_p_slice().


Documentation generated with DoxyGen