/* * Copyright (c) 2001-2016, 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. */ /* clang-format off */ #if !defined(_pvq_decoder_H) # define _pvq_decoder_H (1) # include "aom_dsp/entdec.h" # include "av1/common/pvq.h" # include "av1/decoder/decint.h" void od_decode_band_pvq_splits(od_ec_dec *ec, od_pvq_codeword_ctx *adapt, od_coeff *y, int n, int k, int level); #if OD_ACCOUNTING # define laplace_decode_special(dec, decay, max, str) od_laplace_decode_special_(dec, decay, max, str) # define laplace_decode(dec, ex_q8, k, str) od_laplace_decode_(dec, ex_q8, k, str) #define laplace_decode_vector(dec, y, n, k, curr, means, str) od_laplace_decode_vector_(dec, y, n, k, curr, means, str) #else # define laplace_decode_special(dec, decay, max, str) od_laplace_decode_special_(dec, decay, max) # define laplace_decode(dec, ex_q8, k, str) od_laplace_decode_(dec, ex_q8, k) #define laplace_decode_vector(dec, y, n, k, curr, means, str) od_laplace_decode_vector_(dec, y, n, k, curr, means) #endif int od_laplace_decode_special_(od_ec_dec *dec, unsigned decay, int max OD_ACC_STR); int od_laplace_decode_(od_ec_dec *dec, unsigned ex_q8, int k OD_ACC_STR); void od_laplace_decode_vector_(od_ec_dec *dec, od_coeff *y, int n, int k, int32_t *curr, const int32_t *means OD_ACC_STR); void od_pvq_decode(daala_dec_ctx *dec, od_coeff *ref, od_coeff *out, int q0, int pli, int bs, const od_val16 *beta, int robust, int is_keyframe, unsigned int *flags, int block_skip, const int16_t *qm, const int16_t *qm_inv); #endif