Commit 191dd219 authored by foo86's avatar foo86 Committed by Michael Niedermayer

avformat/dtsdec: Extend DTS core sync word

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.
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent e2877bdf
......@@ -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 */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment