AOMedia AV1 Codec
|
Features pass to the external model to make partition decisions. More...
#include <aom_external_partition.h>
Data Fields | |
AOM_EXT_PART_FEATURE_ID | id |
aom_partition_features_before_none_t | before_part_none |
aom_partition_features_none_t | after_part_none |
aom_partition_features_split_t | after_part_split |
aom_partition_features_rect_t | after_part_rect |
aom_partition_features_ab_t | after_part_ab |
aom_sb_features_t | sb_features |
Features collected for the super block. | |
int | mi_row |
Mi_row position of the block. | |
int | mi_col |
Mi_col position of the block. | |
int | frame_width |
Frame width. | |
int | frame_height |
Frame height. | |
int | block_size |
As "BLOCK_SIZE" in av1/common/enums.h. | |
int | valid_partition_types |
int | update_type |
Frame update type, defined in ratectrl.h. | |
int | qindex |
Quantization index, range: [0, 255]. | |
int | rdmult |
Rate-distortion multiplier. | |
int | pyramid_level |
The level of this frame in the hierarchical structure. | |
int | has_above_block |
Has above neighbor block. | |
int | above_block_width |
Width of the above block, -1 if not exist. | |
int | above_block_height |
Height of the above block, -1 if not exist. | |
int | has_left_block |
Has left neighbor block. | |
int | left_block_width |
Width of the left block, -1 if not exist. | |
int | left_block_height |
Height of the left block, -1 if not exist. | |
unsigned int | block_sse |
SSE of motion compensated residual. | |
unsigned int | block_var |
Variance of motion compensated residual. | |
unsigned int | sub_block_sse [4] |
SSE of sub blocks. | |
unsigned int | sub_block_var [4] |
Variance of sub blocks. | |
unsigned int | horz_block_sse [2] |
SSE of horz sub blocks. | |
unsigned int | horz_block_var [2] |
Variance of horz sub blocks. | |
unsigned int | vert_block_sse [2] |
SSE of vert sub blocks. | |
unsigned int | vert_block_var [2] |
Variance of vert sub blocks. | |
int64_t | tpl_intra_cost |
Intra cost, ref to "TplDepStats" in tpl_model.h. | |
int64_t | tpl_inter_cost |
Inter cost in tpl model. | |
int64_t | tpl_mc_dep_cost |
Motion compensated dependency cost in tpl model. | |
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.
AOM_EXT_PART_FEATURE_ID aom_partition_features::id |
Feature ID to indicate active features
aom_partition_features_before_none_t aom_partition_features::before_part_none |
Features collected before NONE partition
aom_partition_features_none_t aom_partition_features::after_part_none |
Features collected after NONE partition
aom_partition_features_split_t aom_partition_features::after_part_split |
Features collected after SPLIT partition
aom_partition_features_rect_t aom_partition_features::after_part_rect |
Features collected after RECTANGULAR partition
aom_partition_features_ab_t aom_partition_features::after_part_ab |
Features collected after AB partition
int aom_partition_features::valid_partition_types |
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.
unsigned int aom_partition_features::block_sse |
SSE of motion compensated residual.
The following parameters are collected from applying simple motion search. Sum of squared error (SSE) and variance of motion compensated residual are good indicators of block partitioning. If a block is a square, we also apply motion search for its 4 sub blocks. If not a square, their values are -1. If a block is able to split horizontally, we apply motion search and get stats for horizontal blocks. If not, their values are -1. If a block is able to split vertically, we apply motion search and get stats for vertical blocks. If not, their values are -1.
int64_t aom_partition_features::tpl_intra_cost |
Intra cost, ref to "TplDepStats" in tpl_model.h.
The following parameters are calculated from tpl model. If tpl model is not available, their values are -1.