Type Alias libaom_sys::aom_partition_features_t
source · 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