summaryrefslogtreecommitdiff
path: root/libavcodec/aac.h
diff options
context:
space:
mode:
authorMirjana Vulin <mvulin@mips.com>2013-01-28 17:47:53 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-01-31 01:23:09 +0100
commit2b6a8187a6ae7407498888298e8d59f90cf94f9d (patch)
treee7f35c24c6e95174282e7ab99152364195e44c9c /libavcodec/aac.h
parent9df9420dea0fc4c523dabc1bb6186c98885bdd9f (diff)
mips: optimization for float aac decoder (core module)
Signed-off-by: Mirjana Vulin <mvulin@mips.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/aac.h')
-rw-r--r--libavcodec/aac.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/libavcodec/aac.h b/libavcodec/aac.h
index 5b98856e67..d17366c8ee 100644
--- a/libavcodec/aac.h
+++ b/libavcodec/aac.h
@@ -257,10 +257,12 @@ typedef struct ChannelElement {
SpectralBandReplication sbr;
} ChannelElement;
+typedef struct AACContext AACContext;
+
/**
* main AAC context
*/
-typedef struct AACContext {
+struct AACContext {
AVClass *class;
AVCodecContext *avctx;
AVFrame frame;
@@ -317,6 +319,18 @@ typedef struct AACContext {
OutputConfiguration oc[2];
int warned_num_aac_frames;
-} AACContext;
+
+ /* aacdec functions pointers */
+ void (*imdct_and_windowing)(AACContext *ac, SingleChannelElement *sce);
+ void (*apply_ltp)(AACContext *ac, SingleChannelElement *sce);
+ void (*apply_tns)(float coef[1024], TemporalNoiseShaping *tns,
+ IndividualChannelStream *ics, int decode);
+ void (*windowing_and_mdct_ltp)(AACContext *ac, float *out,
+ float *in, IndividualChannelStream *ics);
+ void (*update_ltp)(AACContext *ac, SingleChannelElement *sce);
+
+};
+
+void ff_aacdec_init_mips(AACContext *c);
#endif /* AVCODEC_AAC_H */