aboutsummaryrefslogtreecommitdiff
path: root/src/analysis.h
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2012-11-14 02:39:27 -0500
committerJean-Marc Valin <jmvalin@jmvalin.ca>2013-02-10 00:15:49 -0500
commit48ac122141c317964fae2987eaea161c46538717 (patch)
tree06774b8393fb23c7af7ad7f3dddbd2894e655619 /src/analysis.h
parent7ebacf430a465d000d97d6d9015f8f6061af8804 (diff)
downloadlibopus-48ac122141c317964fae2987eaea161c46538717.tar.gz
Makes analysis usable for all frame sizes
Diffstat (limited to 'src/analysis.h')
-rw-r--r--src/analysis.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/analysis.h b/src/analysis.h
index 951ded50..6f3689da 100644
--- a/src/analysis.h
+++ b/src/analysis.h
@@ -31,16 +31,18 @@
#define NB_FRAMES 8
#define NB_TBANDS 18
#define NB_TOT_BANDS 21
-
+#define ANALYSIS_BUF_SIZE 720 /* 15 ms at 48 kHz */
typedef struct {
float angle[240];
float d_angle[240];
float d2_angle[240];
- float inmem[240];
+ float inmem[ANALYSIS_BUF_SIZE];
+ int mem_fill; /* number of usable samples in the buffer */
float prev_band_tonality[NB_TBANDS];
float prev_tonality;
float E[NB_FRAMES][NB_TBANDS];
- float lowE[NB_TBANDS], highE[NB_TBANDS];
+ float lowE[NB_TBANDS];
+ float highE[NB_TBANDS];
float meanE[NB_TOT_BANDS];
float mem[32];
float cmean[8];
@@ -56,6 +58,6 @@ typedef struct {
} TonalityAnalysisState;
void tonality_analysis(TonalityAnalysisState *tonal, AnalysisInfo *info,
- CELTEncoder *celt_enc, const opus_val16 *x, int C, int lsb_depth);
+ CELTEncoder *celt_enc, const opus_val16 *x, int len, int C, int lsb_depth);
#endif