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 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 void highbd_quantize_b_adaptive_helper_c(
55     const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr,
56     const int16_t *round_ptr, const int16_t *quant_ptr,
57     const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr,
58     tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr,
59     const int16_t *scan, const int16_t *iscan, const qm_val_t *qm_ptr,
60     const qm_val_t *iqm_ptr, const int log_scale);
61 
62 void aom_highbd_quantize_b_adaptive_c(
63     const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr,
64     const int16_t *round_ptr, const int16_t *quant_ptr,
65     const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr,
66     tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr,
67     const int16_t *scan, const int16_t *iscan);
68 
69 void aom_highbd_quantize_b_32x32_adaptive_c(
70     const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr,
71     const int16_t *round_ptr, const int16_t *quant_ptr,
72     const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr,
73     tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr,
74     const int16_t *scan, const int16_t *iscan);
75 
76 void aom_highbd_quantize_b_64x64_adaptive_c(
77     const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr,
78     const int16_t *round_ptr, const int16_t *quant_ptr,
79     const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr,
80     tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr,
81     const int16_t *scan, const int16_t *iscan);
82 
83 void quantize_b_helper_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
84                          const int16_t *zbin_ptr, const int16_t *round_ptr,
85                          const int16_t *quant_ptr,
86                          const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr,
87                          tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr,
88                          uint16_t *eob_ptr, const int16_t *scan,
89                          const int16_t *iscan, const qm_val_t *qm_ptr,
90                          const qm_val_t *iqm_ptr, const int log_scale);
91 
92 void aom_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
93                       const int16_t *zbin_ptr, const int16_t *round_ptr,
94                       const int16_t *quant_ptr, const int16_t *quant_shift_ptr,
95                       tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr,
96                       const int16_t *dequant_ptr, uint16_t *eob_ptr,
97                       const int16_t *scan, const int16_t *iscan);
98 
99 void highbd_quantize_b_helper_c(
100     const tran_low_t *coeff_ptr, intptr_t n_coeffs, const int16_t *zbin_ptr,
101     const int16_t *round_ptr, const int16_t *quant_ptr,
102     const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr,
103     tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr,
104     const int16_t *scan, const int16_t *iscan, const qm_val_t *qm_ptr,
105     const qm_val_t *iqm_ptr, const int log_scale);
106 
107 void aom_highbd_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
108                              const int16_t *zbin_ptr, const int16_t *round_ptr,
109                              const int16_t *quant_ptr,
110                              const int16_t *quant_shift_ptr,
111                              tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr,
112                              const int16_t *dequant_ptr, uint16_t *eob_ptr,
113                              const int16_t *scan, const int16_t *iscan);
114 
115 #ifdef __cplusplus
116 }  // extern "C"
117 #endif
118 
119 #endif  // AOM_AOM_DSP_QUANTIZE_H_
120