blob: af525b36de469d5dc97000fa909011c5382be1f5 [file] [log] [blame]
Yaowu Xuc27fc142016-08-22 16:08:15 -07001/*
Yaowu Xu2ab7ff02016-09-02 12:04:54 -07002 * Copyright (c) 2016, Alliance for Open Media. All rights reserved
Yaowu Xuc27fc142016-08-22 16:08:15 -07003 *
Yaowu Xu2ab7ff02016-09-02 12:04:54 -07004 * 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.
Yaowu Xuc27fc142016-08-22 16:08:15 -070010 */
11
Yaowu Xuf883b422016-08-30 14:01:10 -070012#ifndef AV1_ENCODER_AQ_COMPLEXITY_H_
13#define AV1_ENCODER_AQ_COMPLEXITY_H_
Yaowu Xuc27fc142016-08-22 16:08:15 -070014
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19#include "av1/common/enums.h"
20
Yaowu Xuf883b422016-08-30 14:01:10 -070021struct AV1_COMP;
Yaowu Xuc27fc142016-08-22 16:08:15 -070022struct macroblock;
23
24// Select a segment for the current Block.
Urvang Joshi52648442016-10-13 17:27:51 -070025void av1_caq_select_segment(const struct AV1_COMP *cpi, struct macroblock *,
Yaowu Xuf883b422016-08-30 14:01:10 -070026 BLOCK_SIZE bs, int mi_row, int mi_col,
27 int projected_rate);
Yaowu Xuc27fc142016-08-22 16:08:15 -070028
29// This function sets up a set of segments with delta Q values around
30// the baseline frame quantizer.
Yaowu Xuf883b422016-08-30 14:01:10 -070031void av1_setup_in_frame_q_adj(struct AV1_COMP *cpi);
Yaowu Xuc27fc142016-08-22 16:08:15 -070032
33#ifdef __cplusplus
34} // extern "C"
35#endif
36
Yaowu Xuf883b422016-08-30 14:01:10 -070037#endif // AV1_ENCODER_AQ_COMPLEXITY_H_