diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2009-10-19 17:21:02 +0000 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2009-10-19 17:21:02 +0000 |
commit | 9adcccde0c9a712a8697e94efe3bbac6d64f46dc (patch) | |
tree | 55bf23ebdd7be66e26c0a07136ae4cbdec3b85dd /libavcodec | |
parent | 8767fb4caddbae86a48a299d94d353bc82ea98a2 (diff) | |
download | ffmpeg-9adcccde0c9a712a8697e94efe3bbac6d64f46dc.tar.gz |
mpegaudiodec, mpc and qdm2 all use the same mpa_synth window, so make
them use the same variable/global storage.
Saves 4 kB in .bss.
Originally committed as revision 20314 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/mpc.c | 6 | ||||
-rw-r--r-- | libavcodec/mpegaudio.h | 1 | ||||
-rw-r--r-- | libavcodec/mpegaudiodec.c | 6 | ||||
-rw-r--r-- | libavcodec/qdm2.c | 6 |
4 files changed, 8 insertions, 11 deletions
diff --git a/libavcodec/mpc.c b/libavcodec/mpc.c index f8fe4c4bc3..dc37df6095 100644 --- a/libavcodec/mpc.c +++ b/libavcodec/mpc.c @@ -33,11 +33,9 @@ #include "mpc.h" #include "mpcdata.h" -static DECLARE_ALIGNED_16(MPA_INT, mpa_window[512]); - void ff_mpc_init(void) { - ff_mpa_synth_init(mpa_window); + ff_mpa_synth_init(ff_mpa_synth_window); } /** @@ -53,7 +51,7 @@ static void mpc_synth(MPCContext *c, int16_t *out) samples_ptr = samples + ch; for(i = 0; i < SAMPLES_PER_BAND; i++) { ff_mpa_synth_filter(c->synth_buf[ch], &(c->synth_buf_offset[ch]), - mpa_window, &dither_state, + ff_mpa_synth_window, &dither_state, samples_ptr, 2, c->sb_samples[ch][i]); samples_ptr += 64; diff --git a/libavcodec/mpegaudio.h b/libavcodec/mpegaudio.h index cd10dbcfc0..6f1940141e 100644 --- a/libavcodec/mpegaudio.h +++ b/libavcodec/mpegaudio.h @@ -137,6 +137,7 @@ typedef struct HuffTable { int ff_mpa_l2_select_table(int bitrate, int nb_channels, int freq, int lsf); int ff_mpa_decode_header(AVCodecContext *avctx, uint32_t head, int *sample_rate, int *channels, int *frame_size, int *bitrate); +extern MPA_INT ff_mpa_synth_window[]; void ff_mpa_synth_init(MPA_INT *window); void ff_mpa_synth_filter(MPA_INT *synth_buf_ptr, int *synth_buf_offset, MPA_INT *window, int *dither_state, diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 47c22791bb..4077d79019 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -120,7 +120,7 @@ static const int32_t scale_factor_mult2[3][3] = { SCALE_GEN(4.0 / 9.0), /* 9 steps */ }; -static DECLARE_ALIGNED_16(MPA_INT, window[512]); +DECLARE_ALIGNED_16(MPA_INT, ff_mpa_synth_window[512]); /** * Convert region offsets to region sizes and truncate @@ -351,7 +351,7 @@ static av_cold int decode_init(AVCodecContext * avctx) scale_factor_mult[i][2]); } - ff_mpa_synth_init(window); + ff_mpa_synth_init(ff_mpa_synth_window); /* huffman decode tables */ offset = 0; @@ -2238,7 +2238,7 @@ static int mp_decode_frame(MPADecodeContext *s, samples_ptr = samples + ch; for(i=0;i<nb_frames;i++) { ff_mpa_synth_filter(s->synth_buf[ch], &(s->synth_buf_offset[ch]), - window, &s->dither_state, + ff_mpa_synth_window, &s->dither_state, samples_ptr, s->nb_channels, s->sb_samples[ch][i]); samples_ptr += 32 * s->nb_channels; diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c index df1479c25e..4dc76126da 100644 --- a/libavcodec/qdm2.c +++ b/libavcodec/qdm2.c @@ -219,8 +219,6 @@ static uint8_t random_dequant_index[256][5]; static uint8_t random_dequant_type24[128][3]; static float noise_samples[128]; -static DECLARE_ALIGNED_16(MPA_INT, mpa_window[512]); - static av_cold void softclip_table_init(void) { int i; @@ -1684,7 +1682,7 @@ static void qdm2_synthesis_filter (QDM2Context *q, int index) for (i = 0; i < 8; i++) { ff_mpa_synth_filter(q->synth_buf[ch], &(q->synth_buf_offset[ch]), - mpa_window, &dither_state, + ff_mpa_synth_window, &dither_state, samples_ptr, q->nb_channels, q->sb_samples[ch][(8 * index) + i]); samples_ptr += 32 * q->nb_channels; @@ -1713,7 +1711,7 @@ static av_cold void qdm2_init(QDM2Context *q) { initialized = 1; qdm2_init_vlc(); - ff_mpa_synth_init(mpa_window); + ff_mpa_synth_init(ff_mpa_synth_window); softclip_table_init(); rnd_table_init(); init_noise_samples(); |