AOMedia AV1 Codec
intra_mode_search.h File Reference

Declares high level functions to search through intra modes. More...

Go to the source code of this file.

Data Structures

struct  IntraModeSearchState
 Variables related to intra-mode search during inter frame coding. More...
 

Typedefs

typedef struct IntraModeSearchState IntraModeSearchState
 Variables related to intra-mode search during inter frame coding.
 

Functions

int av1_handle_intra_y_mode (IntraModeSearchState *intra_search_state, const AV1_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bsize, unsigned int ref_frame_cost, const PICK_MODE_CONTEXT *ctx, RD_STATS *rd_stats_y, int64_t best_rd, int *mode_cost_y, int64_t *rd_y, int64_t *best_model_rd, int64_t top_intra_model_rd[])
 Evaluate a given luma intra-mode for inter frames.
 
int av1_search_intra_uv_modes_in_interframe (IntraModeSearchState *intra_search_state, const AV1_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bsize, RD_STATS *rd_stats, const RD_STATS *rd_stats_y, RD_STATS *rd_stats_uv, int64_t best_rd)
 Search through all chroma intra-modes for inter frames.
 
int av1_search_palette_mode (IntraModeSearchState *intra_search_state, const AV1_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bsize, unsigned int ref_frame_cost, PICK_MODE_CONTEXT *ctx, RD_STATS *this_rd_cost, int64_t best_rd)
 Evaluate luma palette mode for inter frames.
 
void av1_search_palette_mode_luma (const AV1_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bsize, unsigned int ref_frame_cost, PICK_MODE_CONTEXT *ctx, RD_STATS *this_rd_cost, int64_t best_rd)
 Evaluate luma palette mode for inter frames.
 
int64_t av1_rd_pick_intra_sby_mode (const AV1_COMP *const cpi, MACROBLOCK *x, int *rate, int *rate_tokenonly, int64_t *distortion, uint8_t *skippable, BLOCK_SIZE bsize, int64_t best_rd, PICK_MODE_CONTEXT *ctx)
 Perform intra-mode search on luma channels for intra frames.
 
int64_t av1_rd_pick_intra_sbuv_mode (const AV1_COMP *const cpi, MACROBLOCK *x, int *rate, int *rate_tokenonly, int64_t *distortion, uint8_t *skippable, BLOCK_SIZE bsize, TX_SIZE max_tx_size)
 Perform intra-mode search on chroma channels.
 
void av1_count_colors (const uint8_t *src, int stride, int rows, int cols, int *val_count, int *num_colors)
 Return the number of colors in src. Used by palette mode.
 
void av1_count_colors_highbd (const uint8_t *src8, int stride, int rows, int cols, int bit_depth, int *val_count, int *val_count_8bit, int *num_color_bins, int *num_colors)
 See av1_count_colors(), but for highbd.
 
static void init_intra_mode_search_state (IntraModeSearchState *intra_search_state)
 Initializes the IntraModeSearchState struct.
 
void set_y_mode_and_delta_angle (const int mode_idx, MB_MODE_INFO *const mbmi, int reorder_delta_angle_eval)
 set the luma intra mode and delta angles for a given mode index. The total number of luma intra mode is LUMA_MODE_COUNT = 61. The first 13 modes are from DC_PRED to PAETH_PRED, followed by directional modes. Each of the main 8 directional modes have 6 = MAX_ANGLE_DELTA * 2 delta angles.
 

Detailed Description

Declares high level functions to search through intra modes.

Function Documentation

◆ set_y_mode_and_delta_angle()

void set_y_mode_and_delta_angle ( const int mode_idx,
MB_MODE_INFO *const mbmi,
int reorder_delta_angle_eval )

set the luma intra mode and delta angles for a given mode index. The total number of luma intra mode is LUMA_MODE_COUNT = 61. The first 13 modes are from DC_PRED to PAETH_PRED, followed by directional modes. Each of the main 8 directional modes have 6 = MAX_ANGLE_DELTA * 2 delta angles.

Parameters
[in]mode_idxmode index in intra mode decision process.
[in]mbmiPointer to structure holding the mode info for the current macroblock.
[in]reorder_delta_angle_evalIndicates whether to reorder the evaluation of delta angle modes.

References MB_MODE_INFO::angle_delta, MB_MODE_INFO::mode, and set_y_mode_and_delta_angle().

Referenced by av1_rd_pick_intra_sby_mode(), search_intra_modes_in_interframe(), and set_y_mode_and_delta_angle().