OLD | NEW |
1 /* | 1 /* |
2 * AAC encoder | 2 * AAC encoder |
3 * Copyright (C) 2008 Konstantin Shishkov | 3 * Copyright (C) 2008 Konstantin Shishkov |
4 * | 4 * |
5 * This file is part of FFmpeg. | 5 * This file is part of FFmpeg. |
6 * | 6 * |
7 * FFmpeg is free software; you can redistribute it and/or | 7 * FFmpeg is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2.1 of the License, or (at your option) any later version. | 10 * version 2.1 of the License, or (at your option) any later version. |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 extern AACCoefficientsEncoder ff_aac_coders[]; | 45 extern AACCoefficientsEncoder ff_aac_coders[]; |
46 | 46 |
47 /** | 47 /** |
48 * AAC encoder context | 48 * AAC encoder context |
49 */ | 49 */ |
50 typedef struct AACEncContext { | 50 typedef struct AACEncContext { |
51 PutBitContext pb; | 51 PutBitContext pb; |
52 FFTContext mdct1024; ///< long (1024 samples) frame
transform context | 52 FFTContext mdct1024; ///< long (1024 samples) frame
transform context |
53 FFTContext mdct128; ///< short (128 samples) frame
transform context | 53 FFTContext mdct128; ///< short (128 samples) frame
transform context |
54 DSPContext dsp; | 54 DSPContext dsp; |
55 DECLARE_ALIGNED_16(FFTSample, output)[2048]; ///< temporary buffer for MDCT
input coefficients | 55 DECLARE_ALIGNED(16, FFTSample, output)[2048]; ///< temporary buffer for MDCT
input coefficients |
56 int16_t* samples; ///< saved preprocessed input | 56 int16_t* samples; ///< saved preprocessed input |
57 | 57 |
58 int samplerate_index; ///< MPEG-4 samplerate index | 58 int samplerate_index; ///< MPEG-4 samplerate index |
59 | 59 |
60 ChannelElement *cpe; ///< channel elements | 60 ChannelElement *cpe; ///< channel elements |
61 FFPsyContext psy; | 61 FFPsyContext psy; |
62 struct FFPsyPreprocessContext* psypp; | 62 struct FFPsyPreprocessContext* psypp; |
63 AACCoefficientsEncoder *coder; | 63 AACCoefficientsEncoder *coder; |
64 int cur_channel; | 64 int cur_channel; |
65 int last_frame; | 65 int last_frame; |
66 float lambda; | 66 float lambda; |
67 DECLARE_ALIGNED_16(int, qcoefs)[96][2]; ///< quantized coefficients | 67 DECLARE_ALIGNED(16, int, qcoefs)[96][2]; ///< quantized coefficients |
68 DECLARE_ALIGNED_16(float, scoefs)[1024]; ///< scaled coefficients | 68 DECLARE_ALIGNED(16, float, scoefs)[1024]; ///< scaled coefficients |
69 } AACEncContext; | 69 } AACEncContext; |
70 | 70 |
71 #endif /* AVCODEC_AACENC_H */ | 71 #endif /* AVCODEC_AACENC_H */ |
OLD | NEW |