intra8x8.c File Reference

Intra 8x8 mode functions. More...

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

Include dependency graph for intra8x8.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

void LowPassForIntra8x8Pred (imgpel *PredPel, int block_up_left, int block_up, int block_left)
static void get_i8x8_vertical (imgpel **cur_pred, imgpel *PredPel)
static void get_i8x8_horizontal (imgpel **cur_pred, imgpel *PredPel)
static void get_i8x8_dc (imgpel **cur_pred, imgpel *PredPel, int left_available, int up_available)
static void get_i8x8_downleft (imgpel **cur_pred, imgpel *PredPel)
static void get_i8x8_downright (imgpel **cur_pred, imgpel *PredPel)
static void get_i8x8_vertleft (imgpel **cur_pred, imgpel *PredPel)
static void get_i8x8_vertright (imgpel **cur_pred, imgpel *PredPel)
static void get_i8x8_hordown (imgpel **cur_pred, imgpel *PredPel)
static void get_i8x8_horup (imgpel **cur_pred, imgpel *PredPel)
void set_intrapred_8x8 (Macroblock *currMB, ColorPlane pl, int img_x, int img_y, int *left_available, int *up_available, int *all_available)
void get_intrapred_8x8 (Macroblock *currMB, ColorPlane pl, int i8x8_mode, int left_available, int up_available)


Detailed Description

Intra 8x8 mode functions.

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

Definition in file intra8x8.c.


Function Documentation

static void get_i8x8_dc ( imgpel **  cur_pred,
imgpel *  PredPel,
int  left_available,
int  up_available 
) [inline, static]

DC 8x8 Prediction.

Definition at line 166 of file intra8x8.c.

Referenced by get_intrapred_8x8().

static void get_i8x8_downleft ( imgpel **  cur_pred,
imgpel *  PredPel 
) [inline, static]

Diagonal Down Left 8x8 Prediction.

Definition at line 208 of file intra8x8.c.

Referenced by get_intrapred_8x8().

static void get_i8x8_downright ( imgpel **  cur_pred,
imgpel *  PredPel 
) [inline, static]

Diagonal Down Right 8x8 Prediction.

Definition at line 282 of file intra8x8.c.

Referenced by get_intrapred_8x8().

static void get_i8x8_hordown ( imgpel **  cur_pred,
imgpel *  PredPel 
) [inline, static]

Horizontal Down 8x8 Prediction.

Definition at line 505 of file intra8x8.c.

Referenced by get_intrapred_8x8().

static void get_i8x8_horizontal ( imgpel **  cur_pred,
imgpel *  PredPel 
) [inline, static]

Horizontal 8x8 Prediction.

Definition at line 144 of file intra8x8.c.

Referenced by get_intrapred_8x8().

static void get_i8x8_horup ( imgpel **  cur_pred,
imgpel *  PredPel 
) [inline, static]

Horizontal Up 8x8 Prediction.

Definition at line 580 of file intra8x8.c.

Referenced by get_intrapred_8x8().

static void get_i8x8_vertical ( imgpel **  cur_pred,
imgpel *  PredPel 
) [inline, static]

Vertical 8x8 Prediction.

Definition at line 130 of file intra8x8.c.

Referenced by get_intrapred_8x8().

static void get_i8x8_vertleft ( imgpel **  cur_pred,
imgpel *  PredPel 
) [inline, static]

Vertical Left 8x8 Prediction.

Definition at line 357 of file intra8x8.c.

Referenced by get_intrapred_8x8().

static void get_i8x8_vertright ( imgpel **  cur_pred,
imgpel *  PredPel 
) [inline, static]

Vertical Right 8x8 Prediction.

Definition at line 431 of file intra8x8.c.

Referenced by get_intrapred_8x8().

void get_intrapred_8x8 ( Macroblock currMB,
ColorPlane  pl,
int  i8x8_mode,
int  left_available,
int  up_available 
)

void LowPassForIntra8x8Pred ( imgpel *  PredPel,
int  block_up_left,
int  block_up,
int  block_left 
)

Prefiltering for Intra8x8 prediction.

Definition at line 67 of file intra8x8.c.

Referenced by set_intrapred_8x8().

void set_intrapred_8x8 ( Macroblock currMB,
ColorPlane  pl,
int  img_x,
int  img_y,
int *  left_available,
int *  up_available,
int *  all_available 
)

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 posision
Output:
none

Definition at line 665 of file intra8x8.c.

References img_par::dc_pred_value, macroblock::intra8x8_pred, LowPassForIntra8x8Pred(), storable_picture::p_curr_img, macroblock::p_Img, and inp_par_enc::UseConstrainedIntraPred.

Referenced by Mode_Decision_for_8x8IntraBlocks_JM_High(), Mode_Decision_for_8x8IntraBlocks_JM_High444(), Mode_Decision_for_8x8IntraBlocks_JM_Low(), and Mode_Decision_for_8x8IntraBlocks_JM_Low444().

Here is the call graph for this function:


Documentation generated with DoxyGen