adpcm: Write the proper predictor in trellis mode in IMA QT
authorMartin Storsjö <martin@martin.st>
Fri, 6 Jun 2014 09:03:09 +0000 (12:03 +0300)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Mon, 9 Jun 2014 21:54:20 +0000 (23:54 +0200)
commit3002e5976d43947ce2bd760c7135a09b85ab5ab5
tree0c39df599aa4de6d95a05f8f6f3b9c41b51cf9f1
parent1e8ff7d21dc4906281ecd54d44b8b56a398d6c46
adpcm: Write the proper predictor in trellis mode in IMA QT

The actual predictor value, set by the trellis code, never
was written back into the variable that was written into
the block header. This was accidentally removed in b304244b.

This significantly improves the audio quality of the trellis
case, which was plain broken since b304244b.

Encoding IMA QT with trellis still actually gives a slightly
worse quality than without trellis, since the trellis encoder
doesn't use the exact same way of rounding as in
adpcm_ima_qt_compress_sample and adpcm_ima_qt_expand_nibble.

Fixes part of Ticket3701

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit fa8f060b75bf9074792a0f9ff4ed002652ef62b8)

Conflicts:
tests/ref/acodec/adpcm-ima_qt-trellis
libavcodec/adpcmenc.c