 |
AOMedia AV1 Codec
|
12 #ifndef AOM_AV1_ENCODER_PARTITION_SEARCH_H_
13 #define AOM_AV1_ENCODER_PARTITION_SEARCH_H_
17 #include "av1/encoder/encodeframe.h"
18 #include "av1/encoder/tokenize.h"
20 void av1_set_offsets_without_segment_id(
const AV1_COMP *
const cpi,
21 const TileInfo *
const tile,
23 int mi_col, BLOCK_SIZE bsize);
24 void av1_set_offsets(
const AV1_COMP *
const cpi,
const TileInfo *
const tile,
29 int mi_col, BLOCK_SIZE bsize,
int *rate,
30 int64_t *dist,
int do_recon, PC_TREE *pc_tree);
33 TokenExtra **tp,
int mi_row,
int mi_col,
34 BLOCK_SIZE bsize, PC_TREE *pc_tree);
35 #if CONFIG_RT_ML_PARTITIONING
36 void av1_nonrd_pick_partition(
AV1_COMP *cpi, ThreadData *td,
37 TileDataEnc *tile_data, TokenExtra **tp,
38 int mi_row,
int mi_col, BLOCK_SIZE bsize,
39 RD_STATS *rd_cost,
int do_recon, int64_t best_rd,
42 void av1_reset_part_sf(PARTITION_SPEED_FEATURES *part_sf);
43 void av1_reset_sf_for_ext_part(
AV1_COMP *
const cpi);
45 bool av1_rd_partition_search(
AV1_COMP *
const cpi, ThreadData *td,
46 TileDataEnc *tile_data, TokenExtra **tp,
47 SIMPLE_MOTION_DATA_TREE *sms_root,
int mi_row,
48 int mi_col, BLOCK_SIZE bsize,
49 RD_STATS *best_rd_cost);
51 TileDataEnc *tile_data, TokenExtra **tp,
int mi_row,
52 int mi_col, BLOCK_SIZE bsize, RD_STATS *rd_cost,
53 RD_STATS best_rdc, PC_TREE *pc_tree,
54 SIMPLE_MOTION_DATA_TREE *sms_tree, int64_t *none_rd,
55 SB_MULTI_PASS_MODE multi_pass_mode,
56 RD_RECT_PART_WIN_INFO *rect_part_win_info);
58 static AOM_INLINE
void set_cb_offsets(uint16_t *cb_offset,
59 const uint16_t cb_offset_y,
60 const uint16_t cb_offset_uv) {
61 cb_offset[PLANE_TYPE_Y] = cb_offset_y;
62 cb_offset[PLANE_TYPE_UV] = cb_offset_uv;
65 static AOM_INLINE
void update_cb_offsets(
MACROBLOCK *x,
const BLOCK_SIZE bsize,
66 const int subsampling_x,
67 const int subsampling_y) {
68 x->
cb_offset[PLANE_TYPE_Y] += block_size_wide[bsize] * block_size_high[bsize];
70 const BLOCK_SIZE plane_bsize =
71 get_plane_block_size(bsize, subsampling_x, subsampling_y);
72 assert(plane_bsize != BLOCK_INVALID);
74 block_size_wide[plane_bsize] * block_size_high[plane_bsize];
78 #endif // AOM_AV1_ENCODER_PARTITION_SEARCH_H_
uint16_t cb_offset[PLANE_TYPES]
Offset of current coding block's coeff buffer relative to the sb.
Definition: block.h:869
REAL_TIME_SPEED_FEATURES rt_sf
Definition: speed_features.h:1597
static void pick_sb_modes(AV1_COMP *const cpi, TileDataEnc *tile_data, MACROBLOCK *const x, int mi_row, int mi_col, RD_STATS *rd_cost, PARTITION_TYPE partition, BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx, RD_STATS best_rd)
Interface for AV1 mode search for an individual coding block.
Definition: partition_search.c:818
uint8_t tpl_bsize_1d
Definition: tpl_model.h:156
int16_t mode_context[MODE_CTX_REF_FRAMES]
Context used to encode the current mode.
Definition: block.h:203
CommonContexts above_contexts
Definition: av1_common_int.h:1005
Declares top-level encoder structures and functions.
Stores best extended mode information at frame level.
Definition: block.h:212
InterpFilter interp_filter
Definition: av1_common_int.h:407
int64_t tpl_inter_cost
Inter cost in tpl model.
Definition: aom_external_partition.h:289
int num_units
The number of units inside the current superblock.
Definition: aom_external_partition.h:186
int64_t rdcost
Rate-distortion cost of the block.
Definition: aom_external_partition.h:334
int64_t mc_dep_cost[64]
The motion compensated dependency cost.
Definition: aom_external_partition.h:189
uint8_t ref_mv_idx
Which ref_mv to use.
Definition: blockd.h:314
TXFM_CONTEXT left_txfm_context_buffer[MAX_MIB_SIZE]
Definition: blockd.h:754
int current_decision
Partition decision for the current block.
Definition: aom_external_partition.h:307
Holds the entropy costs for various modes sent to the bitstream.
Definition: block.h:515
uint8_t color_sensitivity_sb[2]
Whether there is a strong color activity.
Definition: block.h:1219
uint8_t tx_type_map_[MAX_MIB_SIZE *MAX_MIB_SIZE]
Transform types inside the partition block.
Definition: block.h:484
Partition decisions received from the external model.
Definition: aom_external_partition.h:302
ExtPartController ext_part_controller
Definition: encoder.h:3231
struct macroblock_plane plane[3]
Each of the encoding plane.
Definition: block.h:823
TX_SIZE tx_size
Transform size when fixed size txfm is used (e.g. intra modes).
Definition: blockd.h:290
int8_t interintra_wedge_index
The type of wedge used in interintra mode.
Definition: blockd.h:261
void av1_rd_use_partition(AV1_COMP *cpi, ThreadData *td, TileDataEnc *tile_data, MB_MODE_INFO **mib, TokenExtra **tp, int mi_row, int mi_col, BLOCK_SIZE bsize, int *rate, int64_t *dist, int do_recon, PC_TREE *pc_tree)
AV1 block partition search (partition estimation and partial search).
Definition: partition_search.c:1744
Encoder data related to row-based multi-threading.
Definition: encoder.h:1457
BLOCK_SIZE min_partition_size
Maximum partition size for the sb.
Definition: block.h:52
Data related to the current GF/ARF group and the individual frames within the group.
Definition: firstpass.h:344
uint8_t height
Definition: blockd.h:773
const struct scale_factors * block_ref_scale_factors[2]
Definition: blockd.h:694
unsigned int block_sse
SSE of motion compensated residual.
Definition: aom_external_partition.h:276
PARTITION_SPEED_FEATURES part_sf
Definition: speed_features.h:1552
uint16_t weight[USABLE_REF_MV_STACK_SIZE]
The weights used to compute the ref mvs.
Definition: block.h:216
int partition_cost[PARTITION_CONTEXTS][EXT_PARTITION_TYPES]
Cost for coding the partition.
Definition: block.h:521
int8_t delta_lf_from_base
Definition: blockd.h:300
uint8_t blk_skip[MAX_MIB_SIZE *MAX_MIB_SIZE]
Whether to skip transform and quantization on a txfm block level.
Definition: block.h:473
@ SIMPLE_AGG_LVL0
Definition: speed_features.h:339
SetOffsetsLoc last_set_offsets_loc
A hash to make sure av1_set_offsets is called.
Definition: block.h:1255
int_interpfilters interp_filters
Filter used in subpel interpolation.
Definition: blockd.h:248
Defines utility functions used in intra mode search.
bool enable_1to4_partitions
Definition: encoder.h:282
MB_MODE_INFO_EXT mbmi_ext
Derived coding information.
Definition: block.h:838
Params related to MB_MODE_INFO arrays and related info.
Definition: av1_common_int.h:501
MB_MODE_INFO * above_mbmi
Definition: blockd.h:652
uint8_t width
Definition: blockd.h:772
@ AOM_BITS_8
Definition: aom_codec.h:319
Defines the parameters used to perform txfm search.
Definition: block.h:389
unsigned int vert_block_var[2]
Variance of vert sub blocks.
Definition: aom_external_partition.h:283
int mi_col
Definition: blockd.h:583
TXFM_CONTEXT * above_txfm_context
Definition: blockd.h:740
int mb_to_bottom_edge
Definition: blockd.h:687
unsigned int horz_block_sse[2]
SSE of horz sub blocks.
Definition: aom_external_partition.h:280
int left_block_width
Width of the left block, -1 if not exist.
Definition: aom_external_partition.h:263
SPEED_FEATURES sf
Definition: encoder.h:2881
int is_key_frame
Definition: svc_layercontext.h:76
unsigned char gf_frame_index
Definition: encoder.h:2912
AV1EncRowMultiThreadInfo enc_row_mt
Definition: encoder.h:1629
int64_t tpl_mc_dep_cost
Motion compensated dependency cost in tpl model.
Definition: aom_external_partition.h:290
void av1_rd_pick_inter_mode(struct AV1_COMP *cpi, struct TileDataEnc *tile_data, struct macroblock *x, struct RD_STATS *rd_cost, BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx, int64_t best_rd_so_far)
AV1 inter mode selection.
Definition: rdopt.c:5669
SuperBlockEnc sb_enc
Information on a whole superblock level.
Definition: block.h:1000
CFL_CTX cfl
Definition: blockd.h:901
struct segmentation seg
Definition: av1_common_int.h:927
bool cur_frame_force_integer_mv
Definition: av1_common_int.h:371
uint8_t * txb_entropy_ctx
Contexts used to code the transform coefficients.
Definition: block.h:111
static void encode_sb(const AV1_COMP *const cpi, ThreadData *td, TileDataEnc *tile_data, TokenExtra **tp, int mi_row, int mi_col, RUN_TYPE dry_run, BLOCK_SIZE bsize, PC_TREE *pc_tree, int *rate)
Reconstructs a partition (may contain multiple coding blocks)
Definition: partition_search.c:1565
void av1_rd_pick_intra_mode_sb(const struct AV1_COMP *cpi, struct macroblock *x, struct RD_STATS *rd_cost, BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx, int64_t best_rd)
AV1 intra mode selection for intra frames.
Definition: rdopt.c:3284
GF_GROUP gf_group
Definition: encoder.h:2495
int8_t delta_lf[FRAME_LF_COUNT]
Definition: blockd.h:875
int pyramid_level
The level of this frame in the hierarchical structure.
Definition: aom_external_partition.h:258
unsigned int txb_split_count
Number of txb splits.
Definition: block.h:499
int bd
Definition: blockd.h:815
int rdmult
Rate-distortion multiplier.
Definition: aom_external_partition.h:257
bool is_chroma_ref
Definition: blockd.h:608
uint8_t use_wedge_interintra
Whether to use interintra wedge.
Definition: blockd.h:324
MB_MODE_INFO_EXT_FRAME * mbmi_ext_frame
Finalized mbmi_ext for the whole frame.
Definition: block.h:845
Params related to temporal dependency model.
Definition: tpl_model.h:142
int nonrd_prune_ref_frame_search
Prune ref frames in real-time mode.
Definition: block.h:1059
int mi_col
Mi_col position of the block.
Definition: aom_external_partition.h:243
void av1_nonrd_pick_intra_mode(AV1_COMP *cpi, MACROBLOCK *x, RD_STATS *rd_cost, BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx)
AV1 intra mode selection based on Non-RD optimized model.
Definition: nonrd_pickmode.c:1861
int sb_counter
Definition: encoder.h:3220
int mi_row
Mi_row position of the block.
Definition: aom_external_partition.h:242
LAYER_CONTEXT layer_context[32]
Definition: svc_layercontext.h:125
int64_t dist
Distortion of the block.
Definition: aom_external_partition.h:333
bool allow_screen_content_tools
Definition: av1_common_int.h:375
RefCntBuffer * cur_frame
Definition: av1_common_int.h:832
MultiThreadInfo mt_info
Definition: encoder.h:3042
int16_t mode_context
Context used to encode the current mode.
Definition: block.h:223
uint16_t cb_offset[PLANE_TYPES]
Offset of current coding block's coeff buffer relative to the sb.
Definition: block.h:225
uint8_t * last_frame_seg_map
Definition: av1_common_int.h:932
int rdmult
Rate-distortion multiplier.
Definition: block.h:918
MB_MODE_INFO * left_mbmi
Definition: blockd.h:647
int block_size
As "BLOCK_SIZE" in av1/common/enums.h.
Definition: aom_external_partition.h:246
int tpl_unit_length
The block length of tpl process.
Definition: aom_external_partition.h:185
Top level encoder structure.
Definition: encoder.h:2664
PartitionSearchInfo part_search_info
Stores some partition-search related buffers.
Definition: block.h:1067
enum aom_ext_part_decision_mode aom_ext_part_decision_mode_t
Decision mode of the external partition model. AOM_EXT_PART_WHOLE_TREE: the external partition model ...
uint8_t compound_idx
Indicates whether dist_wtd_comp(0) is used or not (0).
Definition: blockd.h:322
int height
Definition: av1_common_int.h:776
TplParams tpl_data
Definition: encoder.h:2583
CANDIDATE_MV ref_mv_stack[MODE_CTX_REF_FRAMES][USABLE_REF_MV_STACK_SIZE]
The reference mv list for the current block.
Definition: block.h:195
aom_sb_features_t sb_features
Features collected for the super block.
Definition: aom_external_partition.h:241
int qindex
Quantization index for the current partition block.
Definition: block.h:901
Encoder config for coding block partitioning.
Definition: encoder.h:270
int64_t inter_cost[64]
The inter cost of each unit.
Definition: aom_external_partition.h:188
@ LOOPFILTER_SELECTIVELY
Definition: encoder.h:243
int mb_to_right_edge
Definition: blockd.h:685
INTERINTRA_MODE interintra_mode
The type of intra mode used by inter-intra.
Definition: blockd.h:259
PALETTE_MODE_INFO palette_mode_info
Stores the size and colors of palette mode.
Definition: blockd.h:280
int quad_tree_idx
Current index on the partition block quad tree.
Definition: block.h:360
int ready
Definition: tpl_model.h:146
unsigned int horz_block_var[2]
Variance of horz sub blocks.
Definition: aom_external_partition.h:281
int mi_stride
Definition: av1_common_int.h:567
static void find_predictors(AV1_COMP *cpi, MACROBLOCK *x, MV_REFERENCE_FRAME ref_frame, int_mv frame_mv[MB_MODE_COUNT][REF_FRAMES], TileDataEnc *tile_data, struct buf_2d yv12_mb[8][3], BLOCK_SIZE bsize, int force_skip_low_temp_var, int skip_pred_mv)
Finds predicted motion vectors for a block.
Definition: nonrd_opt.h:43
uint16_t * eobs
Location of the end of qcoeff (end of block).
Definition: block.h:109
int above_block_width
Width of the above block, -1 if not exist.
Definition: aom_external_partition.h:260
SequenceHeader * seq_params
Definition: av1_common_int.h:976
uint8_t skip_mode
Inter skip mode.
Definition: blockd.h:316
AV1_COMMON common
Definition: encoder.h:2707
MV_REFERENCE_FRAME ref_frame[2]
The reference frames for the MV.
Definition: blockd.h:246
int intra_sb_rdmult_modifier
Intra only, per sb rd adjustment.
Definition: block.h:921
UV_PREDICTION_MODE uv_mode
The UV mode when intra is used.
Definition: blockd.h:234
INTERINTER_COMPOUND_DATA interinter_comp
Struct that stores the data used in interinter compound mode.
Definition: blockd.h:263
Each source plane of the current macroblock.
Definition: block.h:99
int64_t tpl_intra_cost
Intra cost, ref to "TplDepStats" in tpl_model.h.
Definition: aom_external_partition.h:288
int update_type
Frame update type, defined in ratectrl.h.
Definition: aom_external_partition.h:255
const YV12_BUFFER_CONFIG * cur_buf
Definition: blockd.h:702
int rate
Rate cost of the block.
Definition: aom_external_partition.h:332
bool enable_ab_partitions
Definition: encoder.h:278
unsigned int block_var
Variance of motion compensated residual.
Definition: aom_external_partition.h:277
int use_mb_mode_cache
Whether to reuse the mode stored in mb_mode_cache.
Definition: block.h:1162
int is_final_decision
The flag whether it's the final decision.
Definition: aom_external_partition.h:304
CANDIDATE_MV ref_mv_stack[USABLE_REF_MV_STACK_SIZE]
The reference mv list for the current block.
Definition: block.h:214
FRAME_CONTEXT * tile_ctx
Definition: blockd.h:810
WINNER_MODE_SPEED_FEATURES winner_mode_sf
Definition: speed_features.h:1587
unsigned int sub_block_var[4]
Variance of sub blocks.
Definition: aom_external_partition.h:279
int mi_rows
Definition: av1_common_int.h:522
EncSegmentationInfo enc_seg
Definition: encoder.h:2897
const WarpedMotionParams * global_motion
Definition: blockd.h:850
static void hybrid_intra_mode_search(AV1_COMP *cpi, MACROBLOCK *const x, RD_STATS *rd_cost, BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx)
Hybrid intra mode search.
Definition: partition_search.c:733
tran_low_t * dqcoeff
Dequantized coefficients.
Definition: block.h:103
int left_block_height
Height of the left block, -1 if not exist.
Definition: aom_external_partition.h:264
int num_nodes
The number of leaf nodes.
Definition: aom_external_partition.h:305
uint16_t weight[MODE_CTX_REF_FRAMES][USABLE_REF_MV_STACK_SIZE]
The weights used to compute the ref mvs.
Definition: block.h:197
FullMvLimits mv_limits
Limit for the range of motion vectors.
Definition: block.h:1193
enum aom_enc_pass pass
Definition: encoder.h:1034
int frame_width
Frame width.
Definition: aom_external_partition.h:244
INTER_MODE_SPEED_FEATURES inter_sf
Definition: speed_features.h:1562
Extended mode info derived from mbmi.
Definition: block.h:192
BLOCK_SIZE bsize
The block size of the current coding block.
Definition: blockd.h:228
tran_low_t * qcoeff
Quantized coefficients.
Definition: block.h:105
PARTITION_TYPE partition
The partition type of the current coding block.
Definition: blockd.h:230
MBMIExtFrameBufferInfo mbmi_ext_info
Definition: encoder.h:2689
Encoder parameters for synchronization of row based multi-threading.
Definition: encoder.h:1354
uint8_t skip_cdef_curr_sb
Skip CDEF for this superblock.
Definition: blockd.h:330
int above_block_height
Height of the above block, -1 if not exist.
Definition: aom_external_partition.h:261
MOTION_MODE motion_mode
The motion mode used by the inter prediction.
Definition: blockd.h:250
RD_OPT rd
Definition: encoder.h:2835
int show_frame
Definition: av1_common_int.h:885
void(* sync_read_ptr)(AV1EncRowMultiThreadSync *const, int, int)
Definition: encoder.h:1500
static void pick_sb_modes_nonrd(AV1_COMP *const cpi, TileDataEnc *tile_data, MACROBLOCK *const x, int mi_row, int mi_col, RD_STATS *rd_cost, BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx)
Top level function to pick block mode for non-RD optimized case.
Definition: partition_search.c:2177
uint8_t ref_mv_count[MODE_CTX_REF_FRAMES]
Number of ref mvs in the drl.
Definition: block.h:199
int8_t delta_lf_from_base
Definition: blockd.h:860
uint8_t color_sensitivity[2]
Color sensitivity flag for the coding block.
Definition: block.h:1221
static void encode_b(const AV1_COMP *const cpi, TileDataEnc *tile_data, ThreadData *td, TokenExtra **tp, int mi_row, int mi_col, RUN_TYPE dry_run, BLOCK_SIZE bsize, PARTITION_TYPE partition, PICK_MODE_CONTEXT *const ctx, int *rate)
Reconstructs an individual coding block.
Definition: partition_search.c:1403
CommonQuantParams quant_params
Definition: av1_common_int.h:922
int use_svc
Definition: encoder.h:2545
YV12 frame buffer data structure.
Definition: yv12config.h:39
int valid_partition_types
Definition: aom_external_partition.h:254
tran_low_t * coeff
Transformed coefficients.
Definition: block.h:107
PREDICTION_MODE mode
The prediction mode used.
Definition: blockd.h:232
Features pass to the external model to make partition decisions.
Definition: aom_external_partition.h:225
@ AOM_RC_ONE_PASS
Definition: aom_encoder.h:176
unsigned int sub_block_sse[4]
SSE of sub blocks.
Definition: aom_external_partition.h:278
int_mv mv[2]
The motion vectors used by the current inter mode.
Definition: blockd.h:244
bool allow_warped_motion
Definition: av1_common_int.h:377
struct buf_2d src
A buffer containing the source frame.
Definition: block.h:113
WinnerModeParams winner_mode_params
Definition: encoder.h:2851
RATE_CONTROL rc
Definition: encoder.h:2861
FRAME_CONTEXT * fc
Definition: av1_common_int.h:981
TXFM_CONTEXT ** txfm
Definition: av1_common_int.h:736
LOOPFILTER_CONTROL loopfilter_control
Definition: encoder.h:863
int base_qindex
Definition: av1_common_int.h:613
void av1_update_intra_mb_txb_context(const AV1_COMP *cpi, ThreadData *td, RUN_TYPE dry_run, BLOCK_SIZE bsize, uint8_t allow_update_cdf)
Update the probability model (cdf) and the entropy context related to coefficient coding for all tran...
int must_find_valid_partition
Whether to disable some features to force a mode in current block.
Definition: block.h:1076
uint8_t * map
Definition: encoder.h:2268
bool switchable_motion_mode
Definition: av1_common_int.h:405
Top level common structure used by both encoder and decoder.
Definition: av1_common_int.h:750
int mb_energy
Energy in the current source coding block. Used to calculate rdmult.
Definition: block.h:927
int has_above_block
Has above neighbor block.
Definition: aom_external_partition.h:259
int lossless[8]
Definition: blockd.h:824
AlgoCfg algo_cfg
Definition: encoder.h:921
int has_left_block
Has left neighbor block.
Definition: aom_external_partition.h:262
TxfmSearchInfo txfm_search_info
Results of the txfm searches that have been done.
Definition: block.h:1212
MB_MODE_INFO ** mi_grid_base
Definition: av1_common_int.h:559
void av1_cyclic_reset_segment_skip(const struct AV1_COMP *cpi, MACROBLOCK *const x, int mi_row, int mi_col, BLOCK_SIZE bsize)
Update segment_id for blocks are skipped.
int_mv global_mvs[REF_FRAMES]
Global mvs.
Definition: block.h:221
int errorperbit
A multiplier that converts mv cost to l2 error.
Definition: block.h:952
TX_MODE tx_mode_search_type
How to search for the optimal tx_size.
Definition: block.h:430
void av1_nonrd_use_partition(AV1_COMP *cpi, ThreadData *td, TileDataEnc *tile_data, MB_MODE_INFO **mib, TokenExtra **tp, int mi_row, int mi_col, BLOCK_SIZE bsize, PC_TREE *pc_tree)
AV1 block partition application (minimal RD search).
Definition: partition_search.c:2505
int_mv global_mvs[REF_FRAMES]
Global mvs.
Definition: block.h:201
int8_t skip_txfm
Whether to skip transforming and sending.
Definition: blockd.h:288
aom_sb_tpl_features_t tpl_features
Definition: aom_external_partition.h:214
int current_base_qindex
Definition: blockd.h:835
unsigned int vert_block_sse[2]
SSE of vert sub blocks.
Definition: aom_external_partition.h:282
uint8_t comp_group_idx
Indicates if masked compound is used(1) or not (0).
Definition: blockd.h:320
const MB_MODE_INFO * mb_mode_cache
The mode to reuse during av1_rd_pick_intra_mode_sb and av1_rd_pick_inter_mode.
Definition: block.h:1165
Stores various encoding/search decisions related to txfm search.
Definition: block.h:462
int mi_row
Definition: blockd.h:582
AV1_PRIMARY * ppi
Definition: encoder.h:2668
uint8_t tpl_stats_block_mis_log2
Definition: tpl_model.h:151
Stores the prediction/txfm mode of the current coding block.
Definition: blockd.h:222
int tx_type_map_stride
Definition: blockd.h:678
DeltaQInfo delta_q_info
Definition: av1_common_int.h:965
int available
If tpl stats are available.
Definition: aom_external_partition.h:184
Variables related to current coding block.
Definition: blockd.h:577
bool av1_rd_pick_partition(AV1_COMP *const cpi, ThreadData *td, TileDataEnc *tile_data, TokenExtra **tp, int mi_row, int mi_col, BLOCK_SIZE bsize, RD_STATS *rd_cost, RD_STATS best_rdc, PC_TREE *pc_tree, SIMPLE_MOTION_DATA_TREE *sms_tree, int64_t *none_rd, SB_MULTI_PASS_MODE multi_pass_mode, RD_RECT_PART_WIN_INFO *rect_part_win_info)
AV1 block partition search (full search).
Definition: partition_search.c:4981
MACROBLOCKD e_mbd
Decoder's view of current coding block.
Definition: block.h:831
int mi_cols
Definition: av1_common_int.h:527
int try_merge_partition
Prediction for ML based partition.
Definition: block.h:1244
TxfmSearchParams txfm_search_params
Parameters that control how motion search is done.
Definition: block.h:1205
uint8_t segment_id
The segment id.
Definition: blockd.h:310
int8_t delta_lf[FRAME_LF_COUNT]
Definition: blockd.h:302
int vaq_refresh
Definition: encoder.h:2983
bool has_lossless_segment
Definition: encoder.h:2274
int width
Definition: av1_common_int.h:775
CYCLIC_REFRESH * cyclic_refresh
Definition: encoder.h:2902
int mi_stride
Definition: blockd.h:589
AV1EncoderConfig oxcf
Definition: encoder.h:2712
TplDepFrame * tpl_frame
Definition: tpl_model.h:189
TXFM_CONTEXT * left_txfm_context
Definition: blockd.h:747
int partition_decision[2048]
Partition decisions.
Definition: aom_external_partition.h:306
ModeCosts mode_costs
The rate needed to signal a mode to the bitstream.
Definition: block.h:932
Encoding stats for the given partition decision.
Definition: aom_external_partition.h:331
aom_variance_fn_ptr_t fn_ptr[BLOCK_SIZES_ALL]
Definition: encoder.h:2572
TX_SIZE inter_tx_size[INTER_TX_SIZE_BUF_LEN]
Transform size when recursive txfm tree is on.
Definition: blockd.h:292
bool allow_high_precision_mv
Definition: av1_common_int.h:367
struct macroblockd_plane plane[3]
Definition: blockd.h:613
int64_t intra_cost[64]
The intra cost of each unit.
Definition: aom_external_partition.h:187
uint8_t ref_mv_count
Number of ref mvs in the drl.
Definition: block.h:218
TileInfo tile
Definition: blockd.h:618
uint8_t * consec_zero_mv
Definition: encoder.h:3209
CurrentFrame current_frame
Definition: av1_common_int.h:754
FeatureFlags features
Definition: av1_common_int.h:905
TRELLIS_OPT_TYPE optimize_seg_arr[8]
Definition: encoder.h:2718
FRAME_INFO frame_info
Definition: encoder.h:2940
YV12_BUFFER_CONFIG * source
Definition: encoder.h:2725
int current_qindex
The q index for the current coding block.
Definition: blockd.h:236
int qindex
Quantization index, range: [0, 255].
Definition: aom_external_partition.h:256
CommonModeInfoParams mi_params
Definition: av1_common_int.h:910
int frame_height
Frame height.
Definition: aom_external_partition.h:245
unsigned int source_variance
Variance of the source frame.
Definition: block.h:1229
Encoder's parameters related to the current coding block.
Definition: block.h:813
uint8_t * tx_type_map
Definition: blockd.h:673
MB_MODE_INFO ** mi
Definition: blockd.h:624
void av1_nonrd_pick_inter_mode_sb(struct AV1_COMP *cpi, struct TileDataEnc *tile_data, struct macroblock *x, struct RD_STATS *rd_cost, BLOCK_SIZE bsize, PICK_MODE_CONTEXT *ctx)
AV1 inter mode selection based on Non-RD optimized model.
Definition: nonrd_pickmode.c:2498
SVC svc
Definition: encoder.h:3163