Padding before the first sync word can be very large for DTS-in-WAV
streams. There is no reason to include this padding in parsed packet.
Signed-off-by: James Almer <jamrial@gmail.com>
Parse core frame size directly when searching for frame end instead of
using value extracted from previous frame.
Account for unused bits when calculating sync word distance for 14-bit
streams to avoid alias sync detection.
Parse EXSS frame size and skip over EXSS frame to avoid alias sync
detection.
Signed-off-by: James Almer <jamrial@gmail.com>
The parser only parses the core, and thus has a duration relative
to the core sample rate only, not the actual stream sample rate.
FATE references changed due to now correct timestamps.
The parser only reads the dca core sample rate, which is limited to a
maximum of 48000 Hz, while X96 and HD extensions can increase the sample
rate up to 192000 Hz.
This change prevents the parser and decoder fighting over the sample rate,
potentially confusing user applications. This also fixes sample rate
display of >48000Hz files with ffmpeg/ffprobe when using libdcadec.
Fixes ticket #4397
The previous version checked for 14-bit streams and did not properly
work across buffer boundaries.
Use the 64-bit parser state to make extended sync word detection work
across buffer boundary and check the extended sync word for 16-bit LE
and BE core streams to reduce probability of alias sync detection.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
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 (and this check did not properly work
across buffer boundary).
Use 64-bit parser state to make extended sync word detection work across
buffer boundary.
This is sufficient to make the sample in ticket #4492 parse
successfully.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
A change in framesize caused a perpetual loss of synchronization.
So read (and use) the frame size from the frame header instead of
setting it only once.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
The dca parser needs to check that the framesize is actually of a complete
frame, and not of a partial DTS-HD frame, which is not constant size, and
thus the check would fail.
(cherry picked from commit ebc0ccb9af59b78732e82c09f8c90b1d46b478e0)
Review-by: Benjamin Larsson
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
None of these symbols should be accessed directly, so declare them as
hidden.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d36beb3f69)
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.
Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk