Don't rebalance bits for itheta=0 or 16384
[opus.git] / libcelt / cwrs.h
index f756d02..bccbcf2 100644 (file)
@@ -1,5 +1,7 @@
-/* (C) 2007 Timothy Terriberry
-*/
+/* Copyright (c) 2007-2008 CSIRO
+   Copyright (c) 2007-2009 Xiph.Org Foundation
+   Copyright (c) 2007-2009 Timothy B. Terriberry
+   Written by Timothy B. Terriberry and Jean-Marc Valin */
 /*
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
 #define CWRS_H
 
 #include "arch.h"
+#include "stack_alloc.h"
 #include "entenc.h"
 #include "entdec.h"
 
-celt_uint32_t ncwrs(int _n,int _m);
-
-void cwrsi(int _n,int _m,celt_uint32_t _i,int *_x,int *_s);
-
-celt_uint32_t icwrs(int _n,int _m,const int *_x,const int *_s);
-
-void comb2pulse(int _n,int _m,int *_y,const int *_x,const int *_s);
-
-void pulse2comb(int _n,int _m,int *_x,int *_s,const int *_y);
-
-/* 64-bit versions */
-celt_uint64_t ncwrs64(int _n,int _m);
-
-void cwrsi64(int _n,int _m,celt_uint64_t _i,int *_x,int *_s);
+int log2_frac(ec_uint32 val, int frac);
 
-celt_uint64_t icwrs64(int _n,int _m,const int *_x,const int *_s, celt_uint64_t *bound);
+void get_required_bits(celt_int16 *bits, int N, int K, int frac);
 
-void encode_pulses(int *_y, int N, int K, ec_enc *enc);
+void encode_pulses(const int *_y, int N, int K, ec_enc *enc);
 
 void decode_pulses(int *_y, int N, int K, ec_dec *dec);