1 /* 2 * Copyright (c) 2022, Alliance for Open Media. All rights reserved 3 * 4 * This source code is subject to the terms of the BSD 2 Clause License and 5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License 6 * was not distributed with this source code in the LICENSE file, you can 7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open 8 * Media Patent License 1.0 was not distributed with this source code in the 9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent. 10 */ 11 12 #ifndef AOM_AV1_AV1_CX_IFACE_H_ 13 #define AOM_AV1_AV1_CX_IFACE_H_ 14 #include "av1/encoder/encoder.h" 15 #include "aom/aom_encoder.h" 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 AV1EncoderConfig av1_get_encoder_config(const aom_codec_enc_cfg_t *cfg); 22 23 aom_codec_err_t av1_create_stats_buffer(FIRSTPASS_STATS **frame_stats_buffer, 24 STATS_BUFFER_CTX *stats_buf_context, 25 int num_lap_buffers); 26 27 void av1_destroy_stats_buffer(STATS_BUFFER_CTX *stats_buf_context, 28 FIRSTPASS_STATS *frame_stats_buffer); 29 30 aom_codec_err_t av1_create_context_and_bufferpool(AV1_PRIMARY *ppi, 31 AV1_COMP **p_cpi, 32 BufferPool **p_buffer_pool, 33 const AV1EncoderConfig *oxcf, 34 COMPRESSOR_STAGE stage, 35 int lap_lag_in_frames); 36 37 void av1_destroy_context_and_bufferpool(AV1_COMP *cpi, 38 BufferPool **p_buffer_pool); 39 40 int av1_get_image_bps(const aom_image_t *img); 41 42 #ifdef __cplusplus 43 } // extern "C" 44 #endif 45 46 #endif // AOM_AV1_AV1_CX_IFACE_H_ 47