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 aa145fe..81dac32 100644
--- a/apps/codecs/libfaad/sbr_dec.h
+++ b/apps/codecs/libfaad/sbr_dec.h
@@ -48,15 +48,13 @@ extern "C" {
#define MAX_L_E 5
typedef struct {
- real_t *x;
+ real_t x[2*32*10];
int16_t x_index;
- uint8_t channels;
} qmfa_info;
typedef struct {
- real_t *v;
+ real_t v[2*64*20]; /* Size was "(downSampledSBR)?32:64". We use 64 now. */
int16_t v_index;
- uint8_t channels;
} qmfs_info;
typedef struct
@@ -105,8 +103,8 @@ typedef struct
uint8_t f[2][MAX_L_E+1];
uint8_t f_prev[2];
- real_t *G_temp_prev[2][5];
- real_t *Q_temp_prev[2][5];
+ real_t G_temp_prev[2][5][64];
+ real_t Q_temp_prev[2][5][64];
int8_t GQ_ringbuf_index[2];
int16_t E[2][64][MAX_L_E];
@@ -160,10 +158,10 @@ typedef struct
uint32_t header_count;
uint8_t id_aac;
- qmfa_info *qmfa[2];
- qmfs_info *qmfs[2];
+ qmfa_info qmfa[2] MEM_ALIGN_ATTR;
+ qmfs_info qmfs[2] MEM_ALIGN_ATTR;
- qmf_t Xsbr[2][MAX_NTSRHFG][64];
+ qmf_t Xsbr[2][MAX_NTSRHFG][64] MEM_ALIGN_ATTR;
#ifdef DRM
uint8_t Is_DRM_SBR;
@@ -223,13 +221,12 @@ typedef struct
uint8_t bs_df_noise[2][3];
} sbr_info;
-sbr_info *sbrDecodeInit(uint16_t framelength, uint8_t id_aac,
+sbr_info *sbrDecodeInit(uint16_t framelength, uint8_t id_aac, uint8_t id_ele,
uint32_t sample_rate, uint8_t downSampledSBR
#ifdef DRM
, uint8_t IsDRM
#endif
);
-void sbrDecodeEnd(sbr_info *sbr);
uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan,
const uint8_t just_seeked, const uint8_t downSampledSBR);