[FFmpeg-cvslog] ac3enc: scale floating-point coupling channel coefficients in
Justin Ruggles
git at videolan.org
Mon Sep 5 22:55:41 CEST 2011
ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Sun Aug 7 17:51:13 2011 -0400| [a0d17b6d45b8550bd8826baa9f8eb4e1a596525a] | committer: Justin Ruggles
ac3enc: scale floating-point coupling channel coefficients in
scale_coefficients() rather than in apply_channel_coupling()
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a0d17b6d45b8550bd8826baa9f8eb4e1a596525a
---
libavcodec/ac3enc_float.c | 7 ++++---
libavcodec/ac3enc_template.c | 4 ----
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/libavcodec/ac3enc_float.c b/libavcodec/ac3enc_float.c
index 8e74aaf..32ec558 100644
--- a/libavcodec/ac3enc_float.c
+++ b/libavcodec/ac3enc_float.c
@@ -104,9 +104,10 @@ static int normalize_samples(AC3EncodeContext *s)
static void scale_coefficients(AC3EncodeContext *s)
{
int chan_size = AC3_MAX_COEFS * s->num_blocks;
- s->ac3dsp.float_to_fixed24(s->fixed_coef_buffer + chan_size,
- s->mdct_coef_buffer + chan_size,
- chan_size * s->channels);
+ int cpl = s->cpl_on;
+ s->ac3dsp.float_to_fixed24(s->fixed_coef_buffer + (chan_size * !cpl),
+ s->mdct_coef_buffer + (chan_size * !cpl),
+ chan_size * (s->channels + cpl));
}
diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c
index 3db49de..e7b8967 100644
--- a/libavcodec/ac3enc_template.c
+++ b/libavcodec/ac3enc_template.c
@@ -168,10 +168,6 @@ static void apply_channel_coupling(AC3EncodeContext *s)
/* coefficients must be clipped in order to be encoded */
clip_coefficients(&s->dsp, cpl_coef, num_cpl_coefs);
-
- /* scale coupling coefficients from float to 24-bit fixed-point */
- s->ac3dsp.float_to_fixed24(&block->fixed_coef[CPL_CH][cpl_start],
- cpl_coef, num_cpl_coefs);
}
/* calculate energy in each band in coupling channel and each fbw channel */
More information about the ffmpeg-cvslog
mailing list