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

| AOMedia AV1 Codec

Functions
intra_mode_search_utils.h File Reference

Defines utility functions used in intra mode search. More...

`#include "av1/common/enums.h"`
`#include "av1/common/pred_common.h"`
`#include "av1/common/reconintra.h"`
`#include "av1/encoder/encoder.h"`
`#include "av1/encoder/encodeframe.h"`
`#include "av1/encoder/model_rd.h"`
`#include "av1/encoder/palette.h"`
`#include "av1/encoder/hybrid_fwd_txfm.h"`

Go to the source code of this file.

## Functions
static int | intra_mode_info_cost_y (const AV1_COMP *cpi, const MACROBLOCK *x, const MB_MODE_INFO *mbmi, BLOCK_SIZE bsize, int mode_cost, int discount_color_cost)
| Returns the rate cost for luma prediction mode info of intra blocks.
static int | intra_mode_info_cost_uv (const AV1_COMP *cpi, const MACROBLOCK *x, const MB_MODE_INFO *mbmi, BLOCK_SIZE bsize, int mode_cost)
| Return the rate cost for chroma prediction mode info of intra blocks.
static int | model_intra_yrd_and_prune (const AV1_COMP *const cpi, MACROBLOCK *x, BLOCK_SIZE bsize, int64_t *best_model_rd)
| Estimate the luma rdcost of a given intra mode and try to prune it.

## Detailed Description

Defines utility functions used in intra mode search.

This includes rdcost estimations, histogram based pruning, etc.

## Function Documentation

## ◆ intra_mode_info_cost_y()

static int intra_mode_info_cost_y | ( | const AV1_COMP * | cpi,
|  | const MACROBLOCK * | x,
|  | const MB_MODE_INFO * | mbmi,
|  | BLOCK_SIZE | bsize,
|  | int | mode_cost,
|  | int | discount_color_cost
| ) |  |
| inlinestatic

Returns the rate cost for luma prediction mode info of intra blocks.

References FeatureFlags::allow_screen_content_tools, MB_MODE_INFO::angle_delta, ModeCosts::angle_delta_cost, av1_palette_color_cost_y(), MB_MODE_INFO::bsize, AV1_COMP::common, macroblock::e_mbd, AV1Common::features, ModeCosts::filter_intra_cost, ModeCosts::filter_intra_mode_cost, MB_MODE_INFO::filter_intra_mode_info, ModeCosts::intrabc_cost, MB_MODE_INFO::mode, macroblock::mode_costs, MB_MODE_INFO::palette_mode_info, ModeCosts::palette_y_mode_cost, ModeCosts::palette_y_size_cost, macroblockd::plane, AV1Common::seq_params, MB_MODE_INFO::tx_size, and MB_MODE_INFO::use_intrabc.

Referenced by av1_handle_intra_y_mode(), av1_rd_pick_intra_sby_mode(), handle_filter_intra_mode(), intra_block_yrd(), palette_rd_y(), and rd_pick_filter_intra_sby().

## ◆ intra_mode_info_cost_uv()

static int intra_mode_info_cost_uv | ( | const AV1_COMP * | cpi,
|  | const MACROBLOCK * | x,
|  | const MB_MODE_INFO * | mbmi,
|  | BLOCK_SIZE | bsize,
|  | int | mode_cost
| ) |  |
| inlinestatic

Return the rate cost for chroma prediction mode info of intra blocks.

References FeatureFlags::allow_screen_content_tools, MB_MODE_INFO::angle_delta, ModeCosts::angle_delta_cost, av1_palette_color_cost_uv(), MB_MODE_INFO::bsize, AV1_COMP::common, macroblock::e_mbd, AV1Common::features, macroblock::mode_costs, MB_MODE_INFO::palette_mode_info, ModeCosts::palette_uv_mode_cost, ModeCosts::palette_uv_size_cost, macroblockd::plane, AV1Common::seq_params, MB_MODE_INFO::tx_size, MB_MODE_INFO::use_intrabc, and MB_MODE_INFO::uv_mode.

Referenced by av1_rd_pick_intra_sbuv_mode(), and search_intra_modes_in_interframe().