tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

quantize.h (6168B)


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