ref: b6a5f9d38fff366968bd6421b61920bfb6d9659d
parent: c7bcf389da1d5537cd66ae552f0dfe164834bd3d
author: Jean-Marc Valin <[email protected]>
date: Tue Jul 6 13:54:33 EDT 2010
fixed point bug fix in tf_analysis()
--- a/libcelt/celt.c
+++ b/libcelt/celt.c
@@ -550,7 +550,7 @@
{
int i;
celt_word16 threshold;
- VARDECL(celt_word32, metric);
+ VARDECL(celt_word16, metric);
celt_word32 average=0;
celt_word32 cost0;
celt_word32 cost1;
@@ -602,8 +602,8 @@
/* Viterbi forward pass */
for (i=1;i<len;i++)
{
- celt_word16 curr0, curr1;
- celt_word16 from0, from1;
+ celt_word32 curr0, curr1;
+ celt_word32 from0, from1;
from0 = cost0;
from1 = cost1 + lambda;
--- a/libcelt/modes.h
+++ b/libcelt/modes.h
@@ -116,6 +116,5 @@
int celt_encode_with_ec(CELTEncoder * restrict st, const celt_int16 * pcm, celt_int16 * optional_resynthesis, int frame_size, unsigned char *compressed, int nbCompressedBytes, ec_enc *enc);
int celt_encode_with_ec_float(CELTEncoder * restrict st, const float * pcm, float * optional_resynthesis, int frame_size, unsigned char *compressed, int nbCompressedBytes, ec_enc *enc);
int celt_decode_with_ec(CELTDecoder * restrict st, const unsigned char *data, int len, celt_int16 * restrict pcm, int frame_size, ec_dec *dec);
-int celt_decode_with_ec_float(CELTDecoder * restrict st, const unsigned char *data, int len, celt_sig * restrict pcm, int frame_size, ec_dec *dec);
-
+int celt_decode_with_ec_float(CELTDecoder * restrict st, const unsigned char *data, int len, float * restrict pcm, int frame_size, ec_dec *dec);
#endif