summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libopus/celt/vq.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rbcodec/codecs/libopus/celt/vq.h')
-rw-r--r--lib/rbcodec/codecs/libopus/celt/vq.h29
1 files changed, 21 insertions, 8 deletions
diff --git a/lib/rbcodec/codecs/libopus/celt/vq.h b/lib/rbcodec/codecs/libopus/celt/vq.h
index 84115cbcbb..0dfe6af058 100644
--- a/lib/rbcodec/codecs/libopus/celt/vq.h
+++ b/lib/rbcodec/codecs/libopus/celt/vq.h
@@ -37,6 +37,23 @@
37#include "entdec.h" 37#include "entdec.h"
38#include "modes.h" 38#include "modes.h"
39 39
40#if (defined(OPUS_X86_MAY_HAVE_SSE2) && !defined(FIXED_POINT))
41#include "x86/vq_sse.h"
42#endif
43
44#if defined(MIPSr1_ASM)
45#include "mips/vq_mipsr1.h"
46#endif
47
48void exp_rotation(celt_norm *X, int len, int dir, int stride, int K, int spread);
49
50opus_val16 op_pvq_search_c(celt_norm *X, int *iy, int K, int N, int arch);
51
52#if !defined(OVERRIDE_OP_PVQ_SEARCH)
53#define op_pvq_search(x, iy, K, N, arch) \
54 (op_pvq_search_c(x, iy, K, N, arch))
55#endif
56
40/** Algebraic pulse-vector quantiser. The signal x is replaced by the sum of 57/** Algebraic pulse-vector quantiser. The signal x is replaced by the sum of
41 * the pitch and a combination of pulses such that its norm is still equal 58 * the pitch and a combination of pulses such that its norm is still equal
42 * to 1. This is the function that will typically require the most CPU. 59 * to 1. This is the function that will typically require the most CPU.
@@ -46,12 +63,8 @@
46 * @param enc Entropy encoder state 63 * @param enc Entropy encoder state
47 * @ret A mask indicating which blocks in the band received pulses 64 * @ret A mask indicating which blocks in the band received pulses
48*/ 65*/
49unsigned alg_quant(celt_norm *X, int N, int K, int spread, int B, 66unsigned alg_quant(celt_norm *X, int N, int K, int spread, int B, ec_enc *enc,
50 ec_enc *enc 67 opus_val16 gain, int resynth, int arch);
51#ifdef RESYNTH
52 , opus_val16 gain
53#endif
54 );
55 68
56/** Algebraic pulse decoder 69/** Algebraic pulse decoder
57 * @param X Decoded normalised spectrum (returned) 70 * @param X Decoded normalised spectrum (returned)
@@ -63,8 +76,8 @@ unsigned alg_quant(celt_norm *X, int N, int K, int spread, int B,
63unsigned alg_unquant(celt_norm *X, int N, int K, int spread, int B, 76unsigned alg_unquant(celt_norm *X, int N, int K, int spread, int B,
64 ec_dec *dec, opus_val16 gain); 77 ec_dec *dec, opus_val16 gain);
65 78
66void renormalise_vector(celt_norm *X, int N, opus_val16 gain); 79void renormalise_vector(celt_norm *X, int N, opus_val16 gain, int arch);
67 80
68int stereo_itheta(const celt_norm *X, const celt_norm *Y, int stereo, int N); 81int stereo_itheta(const celt_norm *X, const celt_norm *Y, int stereo, int N, int arch);
69 82
70#endif /* VQ_H */ 83#endif /* VQ_H */