diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2011-02-16 00:30:24 +0000 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-02-16 23:39:57 +0000 |
commit | 5b54d4b376fbd2c291b8a6dba7d425e28f654bcf (patch) | |
tree | bdedc6ef6bb6ac514167b44d8ad4079d29f14317 /libavcodec | |
parent | 9fcae9735e3b97366dcee9ca3c2f6cf4faf6756f (diff) | |
download | ffmpeg-5b54d4b376fbd2c291b8a6dba7d425e28f654bcf.tar.gz |
ac3enc: fix bug in stereo rematrixing decision.
The rematrixing strategy reuse flags are not reset between frames, so they
need to be initialized for all blocks, not just block 0.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/ac3enc.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 72a6c89288..02bc403f82 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -310,9 +310,9 @@ static void compute_rematrixing_strategy(AC3EncodeContext *s) nb_coefs = FFMIN(s->nb_coefs[0], s->nb_coefs[1]); - s->blocks[0].new_rematrixing_strategy = 1; for (blk = 0; blk < AC3_MAX_BLOCKS; blk++) { block = &s->blocks[blk]; + block->new_rematrixing_strategy = !blk; for (bnd = 0; bnd < 4; bnd++) { /* calculate calculate sum of squared coeffs for one band in one block */ int start = ff_ac3_rematrix_band_tab[bnd]; @@ -337,7 +337,6 @@ static void compute_rematrixing_strategy(AC3EncodeContext *s) /* determine if new rematrixing flags will be sent */ if (blk && - !block->new_rematrixing_strategy && block->rematrixing_flags[bnd] != block0->rematrixing_flags[bnd]) { block->new_rematrixing_strategy = 1; } |