summaryrefslogtreecommitdiff
path: root/libavcodec/opus_celt.h
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/opus_celt.h')
-rw-r--r--libavcodec/opus_celt.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/libavcodec/opus_celt.h b/libavcodec/opus_celt.h
index 7b46a5116b..23c20891cd 100644
--- a/libavcodec/opus_celt.h
+++ b/libavcodec/opus_celt.h
@@ -61,14 +61,23 @@ enum CeltBlockSize {
typedef struct CeltBlock {
float energy[CELT_MAX_BANDS];
+ float lin_energy[CELT_MAX_BANDS];
+ float error_energy[CELT_MAX_BANDS];
float prev_energy[2][CELT_MAX_BANDS];
uint8_t collapse_masks[CELT_MAX_BANDS];
+ int band_bins[CELT_MAX_BANDS]; /* MDCT bins per band */
+ float *band_coeffs[CELT_MAX_BANDS];
+
/* buffer for mdct output + postfilter */
DECLARE_ALIGNED(32, float, buf)[2048];
DECLARE_ALIGNED(32, float, coeffs)[CELT_MAX_FRAME_SIZE];
+ /* Used by the encoder */
+ DECLARE_ALIGNED(32, float, overlap)[120];
+ DECLARE_ALIGNED(32, float, samples)[CELT_MAX_FRAME_SIZE];
+
/* postfilter parameters */
int pf_period_new;
float pf_gains_new[3];
@@ -94,6 +103,12 @@ struct CeltFrame {
int end_band;
int coded_bands;
int transient;
+ int intra;
+ int pfilter;
+ int skip_band_floor;
+ int tf_select;
+ int alloc_trim;
+ int alloc_boost[CELT_MAX_BANDS];
int blocks; /* number of iMDCT blocks in the frame, depends on transient */
int blocksize; /* size of each block */
int silence; /* Frame is filled with silence */
@@ -109,6 +124,7 @@ struct CeltFrame {
int framebits;
int remaining;
int remaining2;
+ int caps [CELT_MAX_BANDS];
int fine_bits [CELT_MAX_BANDS];
int fine_priority[CELT_MAX_BANDS];
int pulses [CELT_MAX_BANDS];