Check extended sync word for 16-bit LE and BE core streams to reduce probability of alias sync detection. Previously sync word extension was checked only for 14-bit streams.
This follows up the similar change in avcodec/dca_parser. --- libavformat/dtsdec.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavformat/dtsdec.c b/libavformat/dtsdec.c index 50b14c6..da0fb61 100644 --- a/libavformat/dtsdec.c +++ b/libavformat/dtsdec.c @@ -50,9 +50,11 @@ static int dts_probe(AVProbeData *p) diff += FFABS(((int16_t)AV_RL16(buf)) - (int16_t)AV_RL16(buf-4)); /* regular bitstream */ - if (state == DCA_SYNCWORD_CORE_BE) + if (state == DCA_SYNCWORD_CORE_BE && + (bytestream_get_be16(&bufp) & 0xFC00) == 0xFC00) marker = 0; - else if (state == DCA_SYNCWORD_CORE_LE) + else if (state == DCA_SYNCWORD_CORE_LE && + (bytestream_get_be16(&bufp) & 0x00FC) == 0x00FC) marker = 1; /* 14 bits big-endian bitstream */ -- 2.1.4 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel