mb_access.c File Reference

Functions for macroblock neighborhoods. More...

#include "global.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 48 of file mb_access.c.

References img_par::mb_data, mb_is_available(), macroblock::mb_left, macroblock::mb_up, macroblock::mbAddrX, img_par::MbaffFrameFlag, 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 
)

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

Referenced by prepare_enc_frame_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 94 of file mb_access.c.

Referenced by field_picture(), and prepare_enc_frame_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 119 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 204 of file mb_access.c.

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

Referenced by prepare_enc_frame_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 144 of file mb_access.c.

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

Referenced by field_picture(), and prepare_enc_frame_picture().

Boolean mb_is_available ( int  mbAddr,
Macroblock currMB 
)

returns 1 if the macroblock at the given address is available

Definition at line 24 of file mb_access.c.

References img_par::mb_data, macroblock::p_Img, and macroblock::slice_nr.

Referenced by CheckAvailabilityOfNeighbors().


Documentation generated with DoxyGen