diff options
author | Siarhei Siamashka <siarhei.siamashka@nokia.com> | 2009-01-22 00:12:40 +0200 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2009-01-23 21:13:02 +0200 |
commit | f70d1ada0aba5567fbf67cedfb4a4ba1a9f9852e (patch) | |
tree | a800c09447f7d2ff64d2b8b9ae815479046c94aa /sbc/sbc.c | |
parent | 3e88293bae37a5e78a8c46cc0eabf452a9591d26 (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