pub type aom_partition_features_t = aom_partition_features;
Expand description

Features pass to the external model to make partition decisions.

The encoder sends these features to the external model through “func()” defined in …..

NOTE: new member variables may be added to this structure in the future. Once new features are finalized, bump the major version of libaom.

Aliased Type§

struct aom_partition_features_t {
Show 34 fields pub id: u32, pub before_part_none: aom_partition_features_before_none, pub after_part_none: aom_partition_features_none, pub after_part_split: aom_partition_features_split, pub after_part_rect: aom_partition_features_rect, pub after_part_ab: aom_partition_features_ab, pub sb_features: aom_sb_features, pub mi_row: i32, pub mi_col: i32, pub frame_width: i32, pub frame_height: i32, pub block_size: i32, pub valid_partition_types: i32, pub update_type: i32, pub qindex: i32, pub rdmult: i32, pub pyramid_level: i32, pub has_above_block: i32, pub above_block_width: i32, pub above_block_height: i32, pub has_left_block: i32, pub left_block_width: i32, pub left_block_height: i32, pub block_sse: u32, pub block_var: u32, pub sub_block_sse: [u32; 4], pub sub_block_var: [u32; 4], pub horz_block_sse: [u32; 2], pub horz_block_var: [u32; 2], pub vert_block_sse: [u32; 2], pub vert_block_var: [u32; 2], pub tpl_intra_cost: i64, pub tpl_inter_cost: i64, pub tpl_mc_dep_cost: i64,
}

Fields§

§id: u32

Feature ID to indicate active features

§before_part_none: aom_partition_features_before_none

Features collected before NONE partition

§after_part_none: aom_partition_features_none

Features collected after NONE partition

§after_part_split: aom_partition_features_split

Features collected after SPLIT partition

§after_part_rect: aom_partition_features_rect

Features collected after RECTANGULAR partition

§after_part_ab: aom_partition_features_ab

Features collected after AB partition

§sb_features: aom_sb_features

Features collected for the super block

§mi_row: i32

Mi_row position of the block

§mi_col: i32

Mi_col position of the block

§frame_width: i32

Frame width

§frame_height: i32

Frame height

§block_size: i32

As “BLOCK_SIZE” in av1/common/enums.h

§valid_partition_types: i32

Valid partition types. A bitmask is used. “1” represents the corresponding type is valid. The bitmask follows the enum order for PARTITION_TYPE in “enums.h” to represent one partition type at a bit. For example, 0x01 stands for only PARTITION_NONE is valid, 0x09 (00…001001) stands for PARTITION_NONE and PARTITION_SPLIT are valid.

§update_type: i32

Frame update type, defined in ratectrl.h

§qindex: i32

Quantization index, range: [0, 255]

§rdmult: i32

Rate-distortion multiplier

§pyramid_level: i32

The level of this frame in the hierarchical structure

§has_above_block: i32

Has above neighbor block

§above_block_width: i32

Width of the above block, -1 if not exist

§above_block_height: i32

Height of the above block, -1 if not exist

§has_left_block: i32

Has left neighbor block

§left_block_width: i32

Width of the left block, -1 if not exist

§left_block_height: i32

Height of the left block, -1 if not exist

§block_sse: u32

SSE of motion compensated residual

§block_var: u32

Variance of motion compensated residual

§sub_block_sse: [u32; 4]

SSE of sub blocks.

§sub_block_var: [u32; 4]

Variance of sub blocks.

§horz_block_sse: [u32; 2]

SSE of horz sub blocks

§horz_block_var: [u32; 2]

Variance of horz sub blocks

§vert_block_sse: [u32; 2]

SSE of vert sub blocks

§vert_block_var: [u32; 2]

Variance of vert sub blocks

§tpl_intra_cost: i64

Intra cost, ref to “TplDepStats” in tpl_model.h

§tpl_inter_cost: i64

Inter cost in tpl model

§tpl_mc_dep_cost: i64

Motion compensated dependency cost in tpl model