|
|
@@ -333,9 +333,9 @@ static int ac3_parse_header(AC3DecodeContext *s) |
|
|
|
/* get decoding parameters from header info */ |
|
|
|
s->bit_alloc_params.sr_code = hdr.sr_code; |
|
|
|
s->channel_mode = hdr.channel_mode; |
|
|
|
center_mix_level = gain_levels[center_levels[hdr.center_mix_level]]; |
|
|
|
surround_mix_level = gain_levels[surround_levels[hdr.surround_mix_level]]; |
|
|
|
s->lfe_on = hdr.lfe_on; |
|
|
|
center_mix_level = gain_levels[center_levels[hdr.center_mix_level]]; |
|
|
|
surround_mix_level = gain_levels[surround_levels[hdr.surround_mix_level]]; |
|
|
|
s->lfe_on = hdr.lfe_on; |
|
|
|
s->bit_alloc_params.sr_shift = hdr.sr_shift; |
|
|
|
s->sampling_rate = hdr.sample_rate; |
|
|
|
s->bit_rate = hdr.bit_rate; |
|
|
@@ -719,8 +719,7 @@ static inline void do_imdct(AC3DecodeContext *s) |
|
|
|
do_imdct_256(s, ch); |
|
|
|
} else { |
|
|
|
s->imdct_512.fft.imdct_calc(&s->imdct_512, s->tmp_output, |
|
|
|
s->transform_coeffs[ch], |
|
|
|
s->tmp_imdct); |
|
|
|
s->transform_coeffs[ch], s->tmp_imdct); |
|
|
|
} |
|
|
|
/* For the first half of the block, apply the window, add the delay |
|
|
|
from the previous block, and send to output */ |
|
|
@@ -729,7 +728,7 @@ static inline void do_imdct(AC3DecodeContext *s) |
|
|
|
/* For the second half of the block, apply the window and store the |
|
|
|
samples to delay, to be combined with the next block */ |
|
|
|
s->dsp.vector_fmul_reverse(s->delay[ch-1], s->tmp_output+256, |
|
|
|
s->window, 256); |
|
|
|
s->window, 256); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@@ -791,7 +790,7 @@ static int ac3_parse_audio_block(AC3DecodeContext *s, int blk) |
|
|
|
do { |
|
|
|
if(get_bits1(gbc)) { |
|
|
|
s->dynamic_range[i] = ((dynamic_range_tab[get_bits(gbc, 8)]-1.0) * |
|
|
|
s->avctx->drc_scale)+1.0; |
|
|
|
s->avctx->drc_scale)+1.0; |
|
|
|
} else if(blk == 0) { |
|
|
|
s->dynamic_range[i] = 1.0f; |
|
|
|
} |
|
|
|