[FFmpeg-soc] AACSBR review: function declarations

Alex Converse alex.converse at gmail.com
Mon Nov 16 23:33:52 CET 2009


>// Synthesis QMF Bank (14496-3 sp04 p206)
>// Downsampled Synthesis QMF Bank (14496-3 sp04 p206)
>static void sbr_qmf_synthesis(float *out, const float **X,
>                              const unsigned int div)

>// High Frequency Generation (14496-3 sp04 p214+)
>
>// Inverse Filtering (14496-3 sp04 p214)
>static void sbr_hf_inverse_filter(float **alpha0, float **alpha1,
>                                  const float ***x_low, int k0)

>// High Frequency Generator (14496-3 sp04 p215)
>static int sbr_hf_gen(AACContext *ac, SpectralBandReplication *sbr,
>                      float **x_high[2], float **x_low[2], float *alpha0[2],
>                      float *alpha1[2], float **bw_array, uint8_t *t_env,
>                      int bs_num_env)

>// Estimation of current envelope (14496-3 sp04 p218)
>static void sbr_env_estimate(float **e_curr, float ***x_high,
>                             SpectralBandReplication *sbr, SBRData *ch_data,
>                             int ch)

>// Assembling HF Signals (14496-3 sp04 p220)
>static void sbr_hf_assemble(float **y[2], float **x_high[2],
>                            SpectralBandReplication *sbr, SBRData *ch_data,
>                            int ch, int l_a[2])

All these functions need better sizing info on the matrices being
passed in. They all seem to be declared "float M[DIM1][DIM2][DIM3];"

My estimates are x_low[32][40][2], x_high[64][40][2], y[2][64][40][2],
x[64][32][2]. e_curr and bw_array also need size information.


More information about the FFmpeg-soc mailing list