summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad/sbr_dec.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libfaad/sbr_dec.h')
-rw-r--r--apps/codecs/libfaad/sbr_dec.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/apps/codecs/libfaad/sbr_dec.h b/apps/codecs/libfaad/sbr_dec.h
index aa145fe34a..81dac32946 100644
--- a/apps/codecs/libfaad/sbr_dec.h
+++ b/apps/codecs/libfaad/sbr_dec.h
@@ -48,15 +48,13 @@ extern "C" {
48#define MAX_L_E 5 48#define MAX_L_E 5
49 49
50typedef struct { 50typedef struct {
51 real_t *x; 51 real_t x[2*32*10];
52 int16_t x_index; 52 int16_t x_index;
53 uint8_t channels;
54} qmfa_info; 53} qmfa_info;
55 54
56typedef struct { 55typedef struct {
57 real_t *v; 56 real_t v[2*64*20]; /* Size was "(downSampledSBR)?32:64". We use 64 now. */
58 int16_t v_index; 57 int16_t v_index;
59 uint8_t channels;
60} qmfs_info; 58} qmfs_info;
61 59
62typedef struct 60typedef struct
@@ -105,8 +103,8 @@ typedef struct
105 uint8_t f[2][MAX_L_E+1]; 103 uint8_t f[2][MAX_L_E+1];
106 uint8_t f_prev[2]; 104 uint8_t f_prev[2];
107 105
108 real_t *G_temp_prev[2][5]; 106 real_t G_temp_prev[2][5][64];
109 real_t *Q_temp_prev[2][5]; 107 real_t Q_temp_prev[2][5][64];
110 int8_t GQ_ringbuf_index[2]; 108 int8_t GQ_ringbuf_index[2];
111 109
112 int16_t E[2][64][MAX_L_E]; 110 int16_t E[2][64][MAX_L_E];
@@ -160,10 +158,10 @@ typedef struct
160 uint32_t header_count; 158 uint32_t header_count;
161 159
162 uint8_t id_aac; 160 uint8_t id_aac;
163 qmfa_info *qmfa[2]; 161 qmfa_info qmfa[2] MEM_ALIGN_ATTR;
164 qmfs_info *qmfs[2]; 162 qmfs_info qmfs[2] MEM_ALIGN_ATTR;
165 163
166 qmf_t Xsbr[2][MAX_NTSRHFG][64]; 164 qmf_t Xsbr[2][MAX_NTSRHFG][64] MEM_ALIGN_ATTR;
167 165
168#ifdef DRM 166#ifdef DRM
169 uint8_t Is_DRM_SBR; 167 uint8_t Is_DRM_SBR;
@@ -223,13 +221,12 @@ typedef struct
223 uint8_t bs_df_noise[2][3]; 221 uint8_t bs_df_noise[2][3];
224} sbr_info; 222} sbr_info;
225 223
226sbr_info *sbrDecodeInit(uint16_t framelength, uint8_t id_aac, 224sbr_info *sbrDecodeInit(uint16_t framelength, uint8_t id_aac, uint8_t id_ele,
227 uint32_t sample_rate, uint8_t downSampledSBR 225 uint32_t sample_rate, uint8_t downSampledSBR
228#ifdef DRM 226#ifdef DRM
229 , uint8_t IsDRM 227 , uint8_t IsDRM
230#endif 228#endif
231 ); 229 );
232void sbrDecodeEnd(sbr_info *sbr);
233 230
234uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan, 231uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan,
235 const uint8_t just_seeked, const uint8_t downSampledSBR); 232 const uint8_t just_seeked, const uint8_t downSampledSBR);