dca: change the core to work with integer coefficients.
authorAlexandra Hájková <alexandra.khirnova@gmail.com>
Thu, 17 Dec 2015 14:52:47 +0000 (15:52 +0100)
committerJanne Grunau <janne-libav@jannau.net>
Wed, 23 Dec 2015 10:50:18 +0000 (11:50 +0100)
commitaebf07075f4244caf591a3af71e5872fe314e87b
tree6341986176d7d58b58e7f25cbde1b25ba8445efa
parent85990140e7302d1e7fcc9fc0eea316178c19fe03
dca: change the core to work with integer coefficients.

The DCA core decoder converts integer coefficients read from the
bitstream to floats just after reading them (along with dequantization).
All the other steps of the audio reconstruction are done with floats
which makes the output for the DTS lossless extension (XLL)
actually lossy.
This patch changes the DCA core to work with integer coefficients
until QMF. At this point the integer coefficients are converted to floats.
The coefficients for the LFE channel (lfe_data) are not touched.
This is the first step for the really lossless XLL decoding.
libavcodec/dca.h
libavcodec/dcadec.c
libavcodec/dcadsp.c
libavcodec/dcadsp.h
libavcodec/fmtconvert.c
libavcodec/fmtconvert.h
tests/fate/audio.mak