Mercurial > libavcodec.hg
changeset 10440:899237b1961f libavcodec
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.
author | reimar |
---|---|
date | Mon, 19 Oct 2009 17:21:02 +0000 |
parents | b4b55a3d65c9 |
children | 0a6fc654cfb6 |
files | mpc.c mpegaudio.h mpegaudiodec.c qdm2.c |
diffstat | 4 files changed, 8 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- 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;
--- 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,
--- 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;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;
--- 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();