#include "av1/common/common.h"
#include "av1/encoder/external_partition.h"
#include "config/aom_config.h"
aom_codec_err_t av1_ext_part_create(aom_ext_part_funcs_t funcs,
aom_ext_part_config_t config,
ExtPartController *ext_part_controller) { … }
static aom_codec_err_t ext_part_init(ExtPartController *ext_part_controller) { … }
aom_codec_err_t av1_ext_part_delete(ExtPartController *ext_part_controller) { … }
bool av1_ext_part_get_partition_decision(ExtPartController *ext_part_controller,
aom_partition_decision_t *decision) { … }
bool av1_ext_part_send_features(ExtPartController *ext_part_controller,
const aom_partition_features_t *features) { … }
#if CONFIG_PARTITION_SEARCH_ORDER
bool av1_ext_part_send_partition_stats(ExtPartController *ext_part_controller,
const aom_partition_stats_t *stats) {
assert(ext_part_controller != NULL);
assert(ext_part_controller->ready);
assert(stats != NULL);
const aom_ext_part_status_t status =
ext_part_controller->funcs.send_partition_stats(
ext_part_controller->model, stats);
if (status != AOM_EXT_PART_OK) return false;
return true;
}
aom_ext_part_decision_mode_t av1_get_ext_part_decision_mode(
const ExtPartController *ext_part_controller) {
return ext_part_controller->funcs.decision_mode;
}
#endif