diff options
author | Mirjana Vulin <mvulin@mips.com> | 2013-02-21 14:46:52 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-02-21 22:43:08 +0100 |
commit | 8d2eb5fe58ae30ddef6b052ffdfa3280cbcc5568 (patch) | |
tree | 10e25c9c312b204885e00d51651679ba49185aa2 /libavcodec/sbr.h | |
parent | 67b3fcf65578fe7811a586393da4c188d7bdb327 (diff) | |
download | ffmpeg-8d2eb5fe58ae30ddef6b052ffdfa3280cbcc5568.tar.gz |
mips: optimization for float aac decoder (sbr module)
Signed-off-by: Mirjana Vulin <mvulin@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/sbr.h')
-rw-r--r-- | libavcodec/sbr.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/libavcodec/sbr.h b/libavcodec/sbr.h index 1e413967a9..e28fccda09 100644 --- a/libavcodec/sbr.h +++ b/libavcodec/sbr.h @@ -34,6 +34,8 @@ #include "aacps.h" #include "sbrdsp.h" +typedef struct AACContext AACContext; + /** * Spectral Band Replication header - spectrum parameters that invoke a reset if they differ from the previous header. */ @@ -108,10 +110,31 @@ typedef struct SBRData { /** @} */ } SBRData; +typedef struct SpectralBandReplication SpectralBandReplication; + +/** + * aacsbr functions pointers + */ +typedef struct AACSBRContext { + int (*sbr_lf_gen)(AACContext *ac, SpectralBandReplication *sbr, + float X_low[32][40][2], const float W[2][32][32][2], + int buf_idx); + void (*sbr_hf_assemble)(float Y1[38][64][2], + const float X_high[64][40][2], + SpectralBandReplication *sbr, SBRData *ch_data, + const int e_a[2]); + int (*sbr_x_gen)(SpectralBandReplication *sbr, float X[2][38][64], + const float Y0[38][64][2], const float Y1[38][64][2], + const float X_low[32][40][2], int ch); + void (*sbr_hf_inverse_filter)(SBRDSPContext *dsp, + float (*alpha0)[2], float (*alpha1)[2], + const float X_low[32][40][2], int k0); +} AACSBRContext; + /** * Spectral Band Replication */ -typedef struct SpectralBandReplication { +struct SpectralBandReplication { int sample_rate; int start; int reset; @@ -184,6 +207,7 @@ typedef struct SpectralBandReplication { FFTContext mdct_ana; FFTContext mdct; SBRDSPContext dsp; -} SpectralBandReplication; + AACSBRContext c; +}; #endif /* AVCODEC_SBR_H */ |