aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-04-25 04:08:21 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2017-08-23 13:15:16 +0200
commit5539aca10cc663156c9feadd278d0601c58d2bd2 (patch)
tree85e60ab6668e3988176fca9d7f0b080c771fc6af
parentf2c6a5d0bd25fd59f37f6ae8c65e45c89aeafea7 (diff)
downloadffmpeg-5539aca10cc663156c9feadd278d0601c58d2bd2.tar.gz
avcodec/ac3dec: Reset SPX when switching from EAC3 to AC3
Fixes Ticket5319 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 9ac154d1facd4756db6918f866dccf3e3ffb698c) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/ac3dec.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index a0cdb5af69..cb946fc681 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -902,11 +902,13 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
ff_eac3_default_spx_band_struct,
&s->num_spx_bands,
s->spx_band_sizes);
- } else {
- for (ch = 1; ch <= fbw_channels; ch++) {
- s->channel_uses_spx[ch] = 0;
- s->first_spx_coords[ch] = 1;
- }
+ }
+ }
+ if (!s->eac3 || !s->spx_in_use) {
+ s->spx_in_use = 0;
+ for (ch = 1; ch <= fbw_channels; ch++) {
+ s->channel_uses_spx[ch] = 0;
+ s->first_spx_coords[ch] = 1;
}
}