chromium/third_party/libaom/source/libaom/av1/encoder/txb_rdopt_utils.h

/*
 * Copyright (c) 2021, Alliance for Open Media. All rights reserved.
 *
 * This source code is subject to the terms of the BSD 2 Clause License and
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
 * was not distributed with this source code in the LICENSE file, you can
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
 * Media Patent License 1.0 was not distributed with this source code in the
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
 */

#ifndef AOM_AV1_ENCODER_TXB_RDOPT_UTILS_H_
#define AOM_AV1_ENCODER_TXB_RDOPT_UTILS_H_

#include "av1/encoder/encodetxb.h"

static const int golomb_bits_cost[32] =;

static const int golomb_cost_diff[32] =;

// Look up table of individual cost of coefficient by its quantization level.
// determined based on Laplacian distribution conditioned on estimated context
static const int costLUT[15] =;

static const int const_term =;

static const int loge_par =;

static inline int get_dqv(const int16_t *dequant, int coeff_idx,
                          const qm_val_t *iqmatrix) {}

static inline int64_t get_coeff_dist(tran_low_t tcoeff, tran_low_t dqcoeff,
                                     int shift, const qm_val_t *qmatrix,
                                     int coeff_idx) {}

static int get_eob_cost(int eob, const LV_MAP_EOB_COST *txb_eob_costs,
                        const LV_MAP_COEFF_COST *txb_costs, TX_CLASS tx_class) {}

static inline int get_golomb_cost(int abs_qc) {}

static inline int get_br_cost(tran_low_t level, const int *coeff_lps) {}

static inline int get_br_cost_with_diff(tran_low_t level, const int *coeff_lps,
                                        int *diff) {}

static AOM_FORCE_INLINE int get_two_coeff_cost_simple(
    int ci, tran_low_t abs_qc, int coeff_ctx,
    const LV_MAP_COEFF_COST *txb_costs, int bhl, TX_CLASS tx_class,
    const uint8_t *levels, int *cost_low) {}

static inline int get_coeff_cost_eob(int ci, tran_low_t abs_qc, int sign,
                                     int coeff_ctx, int dc_sign_ctx,
                                     const LV_MAP_COEFF_COST *txb_costs,
                                     int bhl, TX_CLASS tx_class) {}

static inline int get_coeff_cost_general(int is_last, int ci, tran_low_t abs_qc,
                                         int sign, int coeff_ctx,
                                         int dc_sign_ctx,
                                         const LV_MAP_COEFF_COST *txb_costs,
                                         int bhl, TX_CLASS tx_class,
                                         const uint8_t *levels) {}

static inline void get_qc_dqc_low(tran_low_t abs_qc, int sign, int dqv,
                                  int shift, tran_low_t *qc_low,
                                  tran_low_t *dqc_low) {}

static inline void update_coeff_eob_fast(int *eob, int shift,
                                         const int16_t *dequant_ptr,
                                         const int16_t *scan,
                                         const tran_low_t *coeff_ptr,
                                         tran_low_t *qcoeff_ptr,
                                         tran_low_t *dqcoeff_ptr) {}
#endif  // AOM_AV1_ENCODER_TXB_RDOPT_UTILS_H_