blob: d749040a6090ab5606403c68b0c9518b3d7dda65 [file] [log] [blame]
/*
* 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