# HG changeset patch # User reimar # Date 1255972862 0 # Node ID 899237b1961f9b2418586acb05c6bd87decc1229 # Parent b4b55a3d65c9c7769b8b88884a249b6a1e651841 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. diff -r b4b55a3d65c9 -r 899237b1961f mpc.c --- a/mpc.c Mon Oct 19 15:51:34 2009 +0000 +++ b/mpc.c Mon Oct 19 17:21:02 2009 +0000 @@ -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 @@ 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 -r b4b55a3d65c9 -r 899237b1961f mpegaudio.h --- a/mpegaudio.h Mon Oct 19 15:51:34 2009 +0000 +++ b/mpegaudio.h Mon Oct 19 17:21:02 2009 +0000 @@ -137,6 +137,7 @@ 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 -r b4b55a3d65c9 -r 899237b1961f mpegaudiodec.c --- a/mpegaudiodec.c Mon Oct 19 15:51:34 2009 +0000 +++ b/mpegaudiodec.c Mon Oct 19 17:21:02 2009 +0000 @@ -120,7 +120,7 @@ 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 @@ 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 @@ samples_ptr = samples + ch; for(i=0;isynth_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 -r b4b55a3d65c9 -r 899237b1961f qdm2.c --- a/qdm2.c Mon Oct 19 15:51:34 2009 +0000 +++ b/qdm2.c Mon Oct 19 17:21:02 2009 +0000 @@ -219,8 +219,6 @@ 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 @@ 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 @@ 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();