summaryrefslogtreecommitdiff
path: root/libavcodec/ac3enc_float.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-05-23 17:45:51 +0200
committerReinhard Tartler <siretart@tauware.de>2011-05-24 07:52:31 +0200
commit7f3a7b5c40b7fda09cbba4bb53e1ced133970930 (patch)
tree7da170e37b9398fa5228d68daa119255f9184226 /libavcodec/ac3enc_float.c
parenta7a187a1beb8551101b592bf85f0f31a0db22f61 (diff)
ac3enc: add channel coupling support
Channel coupling is an optional AC-3 feature that increases quality by combining high frequency information from multiple channels into a single channel. The per-channel high frequency information is sent with less accuracy in both the frequency and time domains. This allows more bits to be used for lower frequencies while preserving enough information to reconstruct the high frequencies.
Diffstat (limited to 'libavcodec/ac3enc_float.c')
-rw-r--r--libavcodec/ac3enc_float.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/ac3enc_float.c b/libavcodec/ac3enc_float.c
index d2435dee15..4f61440b52 100644
--- a/libavcodec/ac3enc_float.c
+++ b/libavcodec/ac3enc_float.c
@@ -93,8 +93,10 @@ static int normalize_samples(AC3EncodeContext *s)
*/
static void scale_coefficients(AC3EncodeContext *s)
{
- s->ac3dsp.float_to_fixed24(s->fixed_coef_buffer, s->mdct_coef_buffer,
- AC3_MAX_COEFS * AC3_MAX_BLOCKS * s->channels);
+ int chan_size = AC3_MAX_COEFS * AC3_MAX_BLOCKS;
+ s->ac3dsp.float_to_fixed24(s->fixed_coef_buffer + chan_size,
+ s->mdct_coef_buffer + chan_size,
+ chan_size * s->channels);
}