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
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;
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);