diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2016-04-25 04:08:21 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-05-01 05:00:45 +0200 |
commit | 7e5e531ec68b297cd8f86c70cf7c51bc8bc4dc3b (patch) | |
tree | 116dbe861b8bb9bf95fc9f9751c6dbd03c451a4a | |
parent | 1d3843fc939ef74c7bc2840414998dba47466c5a (diff) | |
download | ffmpeg-7e5e531ec68b297cd8f86c70cf7c51bc8bc4dc3b.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.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c index dbf20a81f1..0ffd0a10a7 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; } } |