#include "global.h"
#include "image.h"
#include "mb_access.h"
#include "intra8x8.h"
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) |
Definition in file intra8x8.c.
static void get_i8x8_dc | ( | imgpel ** | cur_pred, | |
imgpel * | PredPel, | |||
int | left_available, | |||
int | up_available | |||
) | [inline, static] |
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 | |||
) |
Generate 8x8 intra prediction block.
Definition at line 795 of file intra8x8.c.
References get_i8x8_dc(), get_i8x8_downleft(), get_i8x8_downright(), get_i8x8_hordown(), get_i8x8_horizontal(), get_i8x8_horup(), get_i8x8_vertical(), get_i8x8_vertleft(), get_i8x8_vertright(), macroblock::intra8x8_pred, slice::mpr_8x8, and macroblock::p_slice.
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().
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 .
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().