diff options
author | Andreas Öman <andreas@lonelycoder.com> | 2009-01-23 12:09:32 +0000 |
---|---|---|
committer | Andreas Öman <andreas@lonelycoder.com> | 2009-01-23 12:09:32 +0000 |
commit | cf92cec7d8899ef887869628c66da30737ee54af (patch) | |
tree | b3bb20c478aad380efa29fc33b2980bf3e04a36c /libavcodec/mpegaudio.h | |
parent | 2d4eeaadc41a0adf97d6b71677d014833df432e2 (diff) | |
download | ffmpeg-cf92cec7d8899ef887869628c66da30737ee54af.tar.gz |
Avoid allocating MPADecodeContext on stack.
Instead move relevant fields into MPADecodeHeader and use it
where appropriate.
Originally committed as revision 16728 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegaudio.h')
-rw-r--r-- | libavcodec/mpegaudio.h | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/libavcodec/mpegaudio.h b/libavcodec/mpegaudio.h index 96bea310a8..f32e6abf2e 100644 --- a/libavcodec/mpegaudio.h +++ b/libavcodec/mpegaudio.h @@ -90,23 +90,30 @@ typedef int32_t MPA_INT; struct GranuleDef; +#define MPA_DECODE_HEADER \ + int frame_size; \ + int error_protection; \ + int layer; \ + int sample_rate; \ + int sample_rate_index; /* between 0 and 8 */ \ + int bit_rate; \ + int nb_channels; \ + int mode; \ + int mode_ext; \ + int lsf; + +typedef struct MPADecodeHeader { + MPA_DECODE_HEADER +} MPADecodeHeader; + typedef struct MPADecodeContext { + MPA_DECODE_HEADER DECLARE_ALIGNED_8(uint8_t, last_buf[2*BACKSTEP_SIZE + EXTRABYTES]); int last_buf_size; - int frame_size; /* next header (used in free format parsing) */ uint32_t free_format_next_header; - int error_protection; - int layer; - int sample_rate; - int sample_rate_index; /* between 0 and 8 */ - int bit_rate; GetBitContext gb; GetBitContext in_gb; - int nb_channels; - int mode; - int mode_ext; - int lsf; DECLARE_ALIGNED_16(MPA_INT, synth_buf[MPA_MAX_CHANNELS][512 * 2]); int synth_buf_offset[MPA_MAX_CHANNELS]; DECLARE_ALIGNED_16(int32_t, sb_samples[MPA_MAX_CHANNELS][36][SBLIMIT]); |