| #ifndef AV1_ENCODER_PARTITION_ML_H_ |
| #define AV1_ENCODER_PARTITION_ML_H_ |
| |
| #include "av1/encoder/block.h" |
| #include "av1/encoder/encodeframe.h" |
| #include "av1/encoder/encodemb.h" |
| #include "av1/encoder/encoder.h" |
| #include "av1/encoder/part_split_prune_tflite.h" |
| #include "av1/common/reconintra.h" |
| |
| enum { |
| FEATURE_INTRA_LOG_QP_SQUARED = 0, |
| FEATURE_INTRA_HAS_ABOVE, |
| FEATURE_INTRA_LOG_ABOVE_WIDTH, |
| FEATURE_INTRA_LOG_ABOVE_HEIGHT, |
| FEATURE_INTRA_HAS_LEFT, |
| FEATURE_INTRA_LOG_LEFT_WIDTH, |
| FEATURE_INTRA_LOG_LEFT_HEIGHT, |
| FEATURE_INTRA_NORM_BEST_0_SSE, |
| FEATURE_INTRA_NORM_BEST_0_VAR, |
| FEATURE_INTRA_NORM_BEST_1_SSE, |
| FEATURE_INTRA_NORM_BEST_1_VAR, |
| FEATURE_INTRA_NORM_BEST_2_SSE, |
| FEATURE_INTRA_NORM_BEST_2_VAR, |
| FEATURE_INTRA_NORM_BEST_SSE_0_00, |
| FEATURE_INTRA_NORM_BEST_VAR_0_00, |
| FEATURE_INTRA_NORM_BEST_SSE_0_01, |
| FEATURE_INTRA_NORM_BEST_VAR_0_01, |
| FEATURE_INTRA_NORM_BEST_SSE_0_10, |
| FEATURE_INTRA_NORM_BEST_VAR_0_10, |
| FEATURE_INTRA_NORM_BEST_SSE_0_11, |
| FEATURE_INTRA_NORM_BEST_VAR_0_11, |
| FEATURE_INTRA_NORM_BEST_SSE_1_00, |
| FEATURE_INTRA_NORM_BEST_VAR_1_00, |
| FEATURE_INTRA_NORM_BEST_SSE_1_01, |
| FEATURE_INTRA_NORM_BEST_VAR_1_01, |
| FEATURE_INTRA_NORM_BEST_SSE_1_10, |
| FEATURE_INTRA_NORM_BEST_VAR_1_10, |
| FEATURE_INTRA_NORM_BEST_SSE_1_11, |
| FEATURE_INTRA_NORM_BEST_VAR_1_11, |
| FEATURE_INTRA_NORM_BEST_SSE_2_00, |
| FEATURE_INTRA_NORM_BEST_VAR_2_00, |
| FEATURE_INTRA_NORM_BEST_SSE_2_01, |
| FEATURE_INTRA_NORM_BEST_VAR_2_01, |
| FEATURE_INTRA_NORM_BEST_SSE_2_10, |
| FEATURE_INTRA_NORM_BEST_VAR_2_10, |
| FEATURE_INTRA_NORM_BEST_SSE_2_11, |
| FEATURE_INTRA_NORM_BEST_VAR_2_11, |
| |
| FEATURE_INTRA_MAX |
| }; |
| |
| void compute_residual_stats(AV1_COMP *const cpi, ThreadData *td, MACROBLOCK *x, |
| BLOCK_SIZE bsize, ResidualStats *out); |
| enum { |
| ML_PART_DONT_FORCE = 0, |
| ML_PART_FORCE_NONE, |
| ML_PART_FORCE_SPLIT, |
| }; |
| |
| int av1_ml_part_split_infer(AV1_COMP *const cpi, MACROBLOCK *x, int mi_row, |
| int mi_col, BLOCK_SIZE bsize, |
| const TileInfo *tile_info, ThreadData *td, |
| bool search_none_after_rect, bool *prune_list); |
| |
| #endif // AV1_ENCODER_PARTITION_ML_H_ |