1 /* 2 * Copyright (c) 2016, 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_AOM_DSP_QUANTIZE_H_ 13 #define AOM_AOM_DSP_QUANTIZE_H_ 14 15 #include "config/aom_config.h" 16 17 #include "aom_dsp/aom_dsp_common.h" 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 void aom_quantize_b_adaptive_helper_c( 24 const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, 25 const int16_t *round_ptr, const int16_t *quant_ptr, 26 const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, 27 tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, 28 const int16_t *scan, const int16_t *iscan, const qm_val_t *qm_ptr, 29 const qm_val_t *iqm_ptr, const int log_scale); 30 31 void aom_quantize_b_adaptive_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, 32 const int16_t *zbin_ptr, 33 const int16_t *round_ptr, 34 const int16_t *quant_ptr, 35 const int16_t *quant_shift_ptr, 36 tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, 37 const int16_t *dequant_ptr, uint16_t *eob_ptr, 38 const int16_t *scan, const int16_t *iscan); 39 40 void aom_quantize_b_32x32_adaptive_c( 41 const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, 42 const int16_t *round_ptr, const int16_t *quant_ptr, 43 const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, 44 tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, 45 const int16_t *scan, const int16_t *iscan); 46 47 void aom_quantize_b_64x64_adaptive_c( 48 const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, 49 const int16_t *round_ptr, const int16_t *quant_ptr, 50 const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, 51 tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, 52 const int16_t *scan, const int16_t *iscan); 53 54 #if CONFIG_AV1_HIGHBITDEPTH 55 void aom_highbd_quantize_b_adaptive_helper_c( 56 const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, 57 const int16_t *round_ptr, const int16_t *quant_ptr, 58 const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, 59 tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, 60 const int16_t *scan, const int16_t *iscan, const qm_val_t *qm_ptr, 61 const qm_val_t *iqm_ptr, const int log_scale); 62 63 void aom_highbd_quantize_b_adaptive_c( 64 const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, 65 const int16_t *round_ptr, const int16_t *quant_ptr, 66 const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, 67 tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, 68 const int16_t *scan, const int16_t *iscan); 69 70 void aom_highbd_quantize_b_32x32_adaptive_c( 71 const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, 72 const int16_t *round_ptr, const int16_t *quant_ptr, 73 const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, 74 tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, 75 const int16_t *scan, const int16_t *iscan); 76 77 void aom_highbd_quantize_b_64x64_adaptive_c( 78 const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, 79 const int16_t *round_ptr, const int16_t *quant_ptr, 80 const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, 81 tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, 82 const int16_t *scan, const int16_t *iscan); 83 #endif // CONFIG_AV1_HIGHBITDEPTH 84 85 void aom_quantize_b_helper_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, 86 const int16_t *zbin_ptr, const int16_t *round_ptr, 87 const int16_t *quant_ptr, 88 const int16_t *quant_shift_ptr, 89 tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, 90 const int16_t *dequant_ptr, uint16_t *eob_ptr, 91 const int16_t *scan, const int16_t *iscan, 92 const qm_val_t *qm_ptr, const qm_val_t *iqm_ptr, 93 const int log_scale); 94 95 void aom_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, 96 const int16_t *zbin_ptr, const int16_t *round_ptr, 97 const int16_t *quant_ptr, const int16_t *quant_shift_ptr, 98 tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, 99 const int16_t *dequant_ptr, uint16_t *eob_ptr, 100 const int16_t *scan, const int16_t *iscan); 101 102 #if CONFIG_AV1_HIGHBITDEPTH 103 void aom_highbd_quantize_b_helper_c( 104 const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr, 105 const int16_t *round_ptr, const int16_t *quant_ptr, 106 const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, 107 tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, 108 const int16_t *scan, const int16_t *iscan, const qm_val_t *qm_ptr, 109 const qm_val_t *iqm_ptr, const int log_scale); 110 111 void aom_highbd_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, 112 const int16_t *zbin_ptr, const int16_t *round_ptr, 113 const int16_t *quant_ptr, 114 const int16_t *quant_shift_ptr, 115 tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, 116 const int16_t *dequant_ptr, uint16_t *eob_ptr, 117 const int16_t *scan, const int16_t *iscan); 118 #endif // CONFIG_AV1_HIGHBITDEPTH 119 120 #ifdef __cplusplus 121 } // extern "C" 122 #endif 123 124 #endif // AOM_AOM_DSP_QUANTIZE_H_ 125