mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-10-09 23:53:28 -04:00
The ARMv5E dewindowing routine takes 16 of each product's bits, rounded down, so each sum of 24 products came out about 12 units low. Through the filter bank that put a dc offset of about 12 LSB (of 16 bits) on the output and, from the high band, a tone at half the sample rate; together they were four fifths of the decoder's error on these targets. Start the sums 12 up. Also correct a comment in both ARM files. Checked with perfsim (Sansa Clip+ build) against ffmpeg's decode of seven files: the dc offset goes from 11 to 12 LSB down to under 1 LSB, and the error from about -66 dBFS to -69 to -72 dBFS, the same as the ARMv4 routine gives. Decoding is 0.7% slower (26.73 to 26.91 MHz for atrac3_lp2_132.oma). The ARMv4 output is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| arm_support | ||
| fixedpoint | ||
| libsetjmp | ||
| microtar | ||
| mipsunwinder | ||
| rbcodec | ||
| skin_parser | ||
| tlsf | ||
| unwarminder | ||
| utf8proc | ||