• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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