comparison ac3dec.c @ 10529:f8fc0a56745e libavcodec

ac3dec: apply dynamic range compression to correct channels in dual-mono mode.
author jbr
date Sat, 14 Nov 2009 00:25:48 +0000
parents 9bf0edb1aeb1
children bcdc5343a577
comparison
equal deleted inserted replaced
10528:6fe84da648e2 10529:f8fc0a56745e
1165 1165
1166 /* apply scaling to coefficients (headroom, dynrng) */ 1166 /* apply scaling to coefficients (headroom, dynrng) */
1167 for(ch=1; ch<=s->channels; ch++) { 1167 for(ch=1; ch<=s->channels; ch++) {
1168 float gain = s->mul_bias / 4194304.0f; 1168 float gain = s->mul_bias / 4194304.0f;
1169 if(s->channel_mode == AC3_CHMODE_DUALMONO) { 1169 if(s->channel_mode == AC3_CHMODE_DUALMONO) {
1170 gain *= s->dynamic_range[ch-1]; 1170 gain *= s->dynamic_range[2-ch];
1171 } else { 1171 } else {
1172 gain *= s->dynamic_range[0]; 1172 gain *= s->dynamic_range[0];
1173 } 1173 }
1174 s->dsp.int32_to_float_fmul_scalar(s->transform_coeffs[ch], s->fixed_coeffs[ch], gain, 256); 1174 s->dsp.int32_to_float_fmul_scalar(s->transform_coeffs[ch], s->fixed_coeffs[ch], gain, 256);
1175 } 1175 }