summaryrefslogtreecommitdiffstats
path: root/sbc/sbc.c
diff options
context:
space:
mode:
authorSiarhei Siamashka <siarhei.siamashka@nokia.com>2009-01-22 00:12:40 +0200
committerJohan Hedberg <johan.hedberg@nokia.com>2009-01-23 21:13:02 +0200
commitf70d1ada0aba5567fbf67cedfb4a4ba1a9f9852e (patch)
treea800c09447f7d2ff64d2b8b9ae815479046c94aa /sbc/sbc.c
parent3e88293bae37a5e78a8c46cc0eabf452a9591d26 (diff)
Audio quality improvement for 16-bit fixed point SBC encoder
Multiplying the first part of the analysis filter constant tables by some coefficients and dividing the second part by the same coefficients is a transformation which should produce the same results if rounding errors are not taken into account. These additional C0/C1/... coefficients can be varied in a certain range (the requirement is that we still do not get overflows). The 'magic' values for these coefficients are selected in such a way that the rounding errors are minimized (rounding errors are unavoidable when putting all the floating constants into 16-bit tables and losing some of the fractional part). Also non-SIMD variant of the analysis filter is dropped because keeping it would require applying a similar change to its tables, which is a bit tricky and just increases maintenance overhead.
Diffstat (limited to 'sbc/sbc.c')
0 files changed, 0 insertions, 0 deletions