Commit 67414da7 authored by Justin Ruggles's avatar Justin Ruggles

AC-3 decoder, soc revision 52, Aug 16 22:45:07 2006 UTC by cloud9

Reset the blksw and dithflag to 0 at the begining of each block.
Otherwise blockswitching propagates over multiple frames even if
block switching is not enabled for that frame.
Also reuse rematflg.

Originally committed as revision 9660 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 45b0ed13
......@@ -1632,9 +1632,11 @@ static int ac3_parse_audio_block(AC3DecodeContext * ctx)
for (i = 0; i < 5; i++)
ctx->chcoeffs[i] = 2.0;
ctx->blksw = 0;
for (i = 0; i < nfchans; i++) /*block switch flag */
ctx->blksw |= get_bits1(gb) << i;
ctx->dithflag = 0;
for (i = 0; i < nfchans; i++) /* dithering flag */
ctx->dithflag |= get_bits1(gb) << i;
......@@ -1886,7 +1888,7 @@ static int ac3_parse_audio_block(AC3DecodeContext * ctx)
dump_floats("channel transform coefficients", 10, ctx->transform_coeffs[i + 1], BLOCK_SIZE);*/
/* recover coefficients if rematrixing is in use */
if (ctx->rematstr)
if (ctx->rematflg)
do_rematrixing(ctx);
do_imdct(ctx);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment