intra8x8_pred.c File Reference

Functions for intra 8x8 prediction. More...

#include "global.h"
#include "intra8x8_pred.h"
#include "mb_access.h"
#include "image.h"

Include dependency graph for intra8x8_pred.c:

Go to the source code of this file.

Defines

#define P_Z   (PredPel[0])
#define P_A   (PredPel[1])
#define P_B   (PredPel[2])
#define P_C   (PredPel[3])
#define P_D   (PredPel[4])
#define P_E   (PredPel[5])
#define P_F   (PredPel[6])
#define P_G   (PredPel[7])
#define P_H   (PredPel[8])
#define P_I   (PredPel[9])
#define P_J   (PredPel[10])
#define P_K   (PredPel[11])
#define P_L   (PredPel[12])
#define P_M   (PredPel[13])
#define P_N   (PredPel[14])
#define P_O   (PredPel[15])
#define P_P   (PredPel[16])
#define P_Q   (PredPel[17])
#define P_R   (PredPel[18])
#define P_S   (PredPel[19])
#define P_T   (PredPel[20])
#define P_U   (PredPel[21])
#define P_V   (PredPel[22])
#define P_W   (PredPel[23])
#define P_X   (PredPel[24])

Functions

static void LowPassForIntra8x8Pred (imgpel *PredPel, int block_up_left, int block_up, int block_left)
static void LowPassForIntra8x8PredHor (imgpel *PredPel, int block_up_left, int block_up, int block_left)
static void LowPassForIntra8x8PredVer (imgpel *PredPel, int block_up_left, int block_up, int block_left)
static int intra8x8_dc_pred (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
static int intra8x8_vert_pred (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
static int intra8x8_hor_pred (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
static int intra8x8_diag_down_right_pred (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
static int intra8x8_diag_down_left_pred (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
static int intra8x8_vert_right_pred (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
static int intra8x8_vert_left_pred (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
static int intra8x8_hor_up_pred (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
static int intra8x8_hor_down_pred (Macroblock *currMB, ColorPlane pl, int ioff, int joff)
int intrapred8x8 (Macroblock *currMB, ColorPlane pl, int ioff, int joff)


Detailed Description

Functions for intra 8x8 prediction.

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

Definition in file intra8x8_pred.c.


Function Documentation

static int intra8x8_dc_pred ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
) [inline, static]

makes and returns 8x8 DC prediction mode

Returns:
DECODING_OK decoding of intraprediction mode was sucessfull
Parameters:
currMB current macroblock
pl current image plane
ioff pixel offset X within MB
joff pixel offset Y within MB

Definition at line 232 of file intra8x8_pred.c.

References storable_picture::imgUV, storable_picture::imgY, LowPassForIntra8x8Pred(), macroblock::p_Img, and macroblock::p_Slice.

Referenced by intrapred8x8().

Here is the call graph for this function:

static int intra8x8_diag_down_left_pred ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
) [inline, static]

makes and returns 8x8 diagonal down left prediction mode

Returns:
DECODING_OK decoding of intraprediction mode was sucessfull
Parameters:
currMB current macroblock
pl current image plane
ioff pixel offset X within MB
joff pixel offset Y within MB

Definition at line 816 of file intra8x8_pred.c.

References LowPassForIntra8x8Pred(), macroblock::p_Img, and macroblock::p_Slice.

Referenced by intrapred8x8().

Here is the call graph for this function:

static int intra8x8_diag_down_right_pred ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
) [inline, static]

makes and returns 8x8 diagonal down right prediction mode

Returns:
DECODING_OK decoding of intraprediction mode was sucessfull
Parameters:
currMB current macroblock
pl current image plane
ioff pixel offset X within MB
joff pixel offset Y within MB

Definition at line 615 of file intra8x8_pred.c.

References LowPassForIntra8x8Pred(), macroblock::p_Img, and macroblock::p_Slice.

Referenced by intrapred8x8().

Here is the call graph for this function:

static int intra8x8_hor_down_pred ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
) [inline, static]

makes and returns 8x8 horizontal down prediction mode

Returns:
DECODING_OK decoding of intraprediction mode was sucessfull
Parameters:
currMB current macroblock
pl current image plane
ioff pixel offset X within MB
joff pixel offset Y within MB

Definition at line 1610 of file intra8x8_pred.c.

References LowPassForIntra8x8Pred(), macroblock::p_Img, and macroblock::p_Slice.

Referenced by intrapred8x8().

Here is the call graph for this function:

static int intra8x8_hor_pred ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
) [inline, static]

makes and returns 8x8 horizontal prediction mode

Returns:
DECODING_OK decoding of intraprediction mode was sucessfull
Parameters:
currMB current macroblock
pl current image plane
ioff pixel offset X within MB
joff pixel offset Y within MB

Definition at line 504 of file intra8x8_pred.c.

References LowPassForIntra8x8PredVer(), macroblock::p_Img, and macroblock::p_Slice.

Referenced by intrapred8x8().

Here is the call graph for this function:

static int intra8x8_hor_up_pred ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
) [inline, static]

makes and returns 8x8 horizontal up prediction mode

Returns:
DECODING_OK decoding of intraprediction mode was sucessfull
Parameters:
currMB current macroblock
pl current image plane
ioff pixel offset X within MB
joff pixel offset Y within MB

Definition at line 1412 of file intra8x8_pred.c.

References LowPassForIntra8x8Pred(), macroblock::p_Img, and macroblock::p_Slice.

Referenced by intrapred8x8().

Here is the call graph for this function:

static int intra8x8_vert_left_pred ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
) [inline, static]

makes and returns 8x8 vertical left prediction mode

Returns:
DECODING_OK decoding of intraprediction mode was sucessfull
Parameters:
currMB current macroblock
pl current image plane
ioff pixel offset X within MB
joff pixel offset Y within MB

Definition at line 1214 of file intra8x8_pred.c.

References LowPassForIntra8x8Pred(), macroblock::p_Img, and macroblock::p_Slice.

Referenced by intrapred8x8().

Here is the call graph for this function:

static int intra8x8_vert_pred ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
) [inline, static]

makes and returns 8x8 vertical prediction mode

Returns:
DECODING_OK decoding of intraprediction mode was sucessfull
Parameters:
currMB current macroblock
pl current image plane
ioff pixel offset X within MB
joff pixel offset Y within MB

Definition at line 386 of file intra8x8_pred.c.

References LowPassForIntra8x8PredHor(), macroblock::p_Img, and macroblock::p_Slice.

Referenced by intrapred8x8().

Here is the call graph for this function:

static int intra8x8_vert_right_pred ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
) [inline, static]

makes and returns 8x8 vertical right prediction mode

Returns:
DECODING_OK decoding of intraprediction mode was sucessfull
Parameters:
currMB current macroblock
pl current image plane
ioff pixel offset X within MB
joff pixel offset Y within MB

Definition at line 1016 of file intra8x8_pred.c.

References LowPassForIntra8x8Pred(), macroblock::p_Img, and macroblock::p_Slice.

Referenced by intrapred8x8().

Here is the call graph for this function:

int intrapred8x8 ( Macroblock currMB,
ColorPlane  pl,
int  ioff,
int  joff 
)

Make intra 8x8 prediction according to all 9 prediction modes. The routine uses left and upper neighbouring points from previous coded blocks to do this (if available). Notice that inaccessible neighbouring points are signalled with a negative value in the predmode array .

Input:
Starting point of current 8x8 block image position
Parameters:
currMB Current Macroblock
pl Current color plane
ioff ioff
joff joff

Definition at line 1812 of file intra8x8_pred.c.

References intra8x8_dc_pred(), intra8x8_diag_down_left_pred(), intra8x8_diag_down_right_pred(), intra8x8_hor_down_pred(), intra8x8_hor_pred(), intra8x8_hor_up_pred(), intra8x8_vert_left_pred(), intra8x8_vert_pred(), intra8x8_vert_right_pred(), and macroblock::p_Img.

Referenced by decode_one_component_b_slice(), decode_one_component_i_slice(), and decode_one_component_p_slice().

Here is the call graph for this function:

static void LowPassForIntra8x8Pred ( imgpel *  PredPel,
int  block_up_left,
int  block_up,
int  block_left 
) [inline, static]

static void LowPassForIntra8x8PredHor ( imgpel *  PredPel,
int  block_up_left,
int  block_up,
int  block_left 
) [inline, static]

Prefiltering for Intra8x8 prediction (Horizontal).

Definition at line 132 of file intra8x8_pred.c.

Referenced by intra8x8_vert_pred().

static void LowPassForIntra8x8PredVer ( imgpel *  PredPel,
int  block_up_left,
int  block_up,
int  block_left 
) [inline, static]

Prefiltering for Intra8x8 prediction (Vertical).

Definition at line 181 of file intra8x8_pred.c.

Referenced by intra8x8_hor_pred().


Documentation generated with DoxyGen