From cf92cec7d8899ef887869628c66da30737ee54af Mon Sep 17 00:00:00 2001 From: Andreas Ă–man Date: Fri, 23 Jan 2009 12:09:32 +0000 Subject: 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 --- libavcodec/mpegaudio.h | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'libavcodec/mpegaudio.h') 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]); -- cgit v1.2.3