#[repr(C)]
pub struct aom_partition_features {
Show 34 fields pub id: AOM_EXT_PART_FEATURE_ID, pub before_part_none: aom_partition_features_before_none_t, pub after_part_none: aom_partition_features_none_t, pub after_part_split: aom_partition_features_split_t, pub after_part_rect: aom_partition_features_rect_t, pub after_part_ab: aom_partition_features_ab_t, pub sb_features: aom_sb_features_t, pub mi_row: c_int, pub mi_col: c_int, pub frame_width: c_int, pub frame_height: c_int, pub block_size: c_int, pub valid_partition_types: c_int, pub update_type: c_int, pub qindex: c_int, pub rdmult: c_int, pub pyramid_level: c_int, pub has_above_block: c_int, pub above_block_width: c_int, pub above_block_height: c_int, pub has_left_block: c_int, pub left_block_width: c_int, pub left_block_height: c_int, pub block_sse: c_uint, pub block_var: c_uint, pub sub_block_sse: [c_uint; 4], pub sub_block_var: [c_uint; 4], pub horz_block_sse: [c_uint; 2], pub horz_block_var: [c_uint; 2], pub vert_block_sse: [c_uint; 2], pub vert_block_var: [c_uint; 2], pub tpl_intra_cost: i64, pub tpl_inter_cost: i64, pub tpl_mc_dep_cost: i64,
}
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.

Fields§

§id: AOM_EXT_PART_FEATURE_ID

Feature ID to indicate active features

§before_part_none: aom_partition_features_before_none_t

Features collected before NONE partition

§after_part_none: aom_partition_features_none_t

Features collected after NONE partition

§after_part_split: aom_partition_features_split_t

Features collected after SPLIT partition

§after_part_rect: aom_partition_features_rect_t

Features collected after RECTANGULAR partition

§after_part_ab: aom_partition_features_ab_t

Features collected after AB partition

§sb_features: aom_sb_features_t

Features collected for the super block

§mi_row: c_int

Mi_row position of the block

§mi_col: c_int

Mi_col position of the block

§frame_width: c_int

Frame width

§frame_height: c_int

Frame height

§block_size: c_int

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

§valid_partition_types: c_int

Valid partition types. A bitmask is used. “1” represents the corresponding type is vaild. 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: c_int

Frame update type, defined in ratectrl.h

§qindex: c_int

Quantization index, range: [0, 255]

§rdmult: c_int

Rate-distortion multiplier

§pyramid_level: c_int

The level of this frame in the hierarchical structure

§has_above_block: c_int

Has above neighbor block

§above_block_width: c_int

Width of the above block, -1 if not exist

§above_block_height: c_int

Height of the above block, -1 if not exist

§has_left_block: c_int

Has left neighbor block

§left_block_width: c_int

Width of the left block, -1 if not exist

§left_block_height: c_int

Height of the left block, -1 if not exist

§block_sse: c_uint

SSE of motion compensated residual

§block_var: c_uint

Variance of motion compensated residual

§sub_block_sse: [c_uint; 4]

SSE of sub blocks.

§sub_block_var: [c_uint; 4]

Variance of sub blocks.

§horz_block_sse: [c_uint; 2]

SSE of horz sub blocks

§horz_block_var: [c_uint; 2]

Variance of horz sub blocks

§vert_block_sse: [c_uint; 2]

SSE of vert sub blocks

§vert_block_var: [c_uint; 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

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.