AOMedia AV1 Codec: av1/encoder/intra_mode_search.h File Reference

| AOMedia AV1 Codec

Data Structures | Typedefs | Functions
intra_mode_search.h File Reference

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

`#include "av1/encoder/encoder.h"`

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. More...

## 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. More...
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. More...
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. More...
int64_t | av1_rd_pick_intra_sby_mode (const AV1_COMP *const cpi, MACROBLOCK *x, int *rate, int *rate_tokenonly, int64_t *distortion, int *skippable, BLOCK_SIZE bsize, int64_t best_rd, PICK_MODE_CONTEXT *ctx)
| Perform intra-mode search on luma channels for intra frames. More...
int64_t | av1_rd_pick_intra_sbuv_mode (const AV1_COMP *const cpi, MACROBLOCK *x, int *rate, int *rate_tokenonly, int64_t *distortion, int *skippable, BLOCK_SIZE bsize, TX_SIZE max_tx_size)
| Perform intra-mode search on chroma channels. More...
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)
| 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. More...
int | prune_intra_y_mode (int64_t this_model_rd, int64_t *best_model_rd, int64_t top_intra_model_rd[], int max_model_cnt_allowed, int model_rd_index_for_pruning)
| prune luma intra mode based on the model rd. More...

## 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
| ) |  |

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_idx | mode index in intra mode decision process.
  [in] | mbmi | Pointer to structure holding the mode info for the current macroblock.

References MB_MODE_INFO::angle_delta, and MB_MODE_INFO::mode.

Referenced by av1_rd_pick_intra_sby_mode(), and search_intra_modes_in_interframe().

## ◆ prune_intra_y_mode()

int prune_intra_y_mode | ( | int64_t | this_model_rd,
|  | int64_t * | best_model_rd,
|  | int64_t | top_intra_model_rd[],
|  | int | max_model_cnt_allowed,
|  | int | model_rd_index_for_pruning
| ) |  |

prune luma intra mode based on the model rd.

Parameters

  [in] | this_model_rd | model rd for current mode.
  [in] | best_model_rd | Best model RD seen for this block so far.
  [in] | top_intra_model_rd | Top intra model RD seen for this block so far.
  [in] | max_model_cnt_allowed | The maximum number of top intra model RD allowed.
  [in] | model_rd_index_for_pruning | Index of the candidate used for pruning based on model rd.

Referenced by av1_handle_intra_y_mode(), and av1_rd_pick_intra_sby_mode().