Re: [mpg123-devel] fixed point decoders
Brought to you by:
sobukus
|
From: Taihei M. <tm...@ma...> - 2009-05-30 19:07:12
|
On 2009/05/31, at 0:27, Thomas Orgis wrote: > A notable exception is the layer3 test... there we barely scratch > over the limit (around 1.4e-4). > And another notable exception is that one layer2 test that gets > around 5e-2 RMS error. > It falls out of the usual pattern... I somehow hope that this means > we can fix this one. I've tuned the integer decoder, and now the layer3 decoder reaches "limited" accuracy. Check the latest trunk. ==== Layer 1 ==== --> 16 bit signed integer output fl1.bit: RMS=9.153515e-05 (LIMITED) maxdiff=3.705621e-04 (FAIL) fl2.bit: RMS=9.362248e-05 (LIMITED) maxdiff=4.243851e-04 (FAIL) fl3.bit: RMS=9.387823e-05 (LIMITED) maxdiff=3.730059e-04 (FAIL) fl4.bit: RMS=7.200389e-05 (LIMITED) maxdiff=3.411770e-04 (FAIL) fl5.bit: RMS=1.051527e-04 (LIMITED) maxdiff=4.037619e-04 (FAIL) fl6.bit: RMS=1.180426e-04 (LIMITED) maxdiff=4.869699e-04 (FAIL) fl7.bit: RMS=8.529281e-05 (LIMITED) maxdiff=3.802776e-04 (FAIL) fl8.bit: RMS=9.816843e-05 (LIMITED) maxdiff=4.596114e-04 (FAIL) ==== Layer 2 ==== --> 16 bit signed integer output fl10.bit: RMS=1.146784e-04 (LIMITED) maxdiff=4.718304e-04 (FAIL) fl11.bit: RMS=1.132384e-04 (LIMITED) maxdiff=4.780293e-04 (FAIL) fl12.bit: RMS=1.120420e-04 (LIMITED) maxdiff=4.792809e-04 (FAIL) fl13.bit: RMS=1.054132e-04 (LIMITED) maxdiff=3.585219e-04 (FAIL) fl14.bit: RMS=1.204947e-04 (LIMITED) maxdiff=3.799021e-03 (FAIL) fl15.bit: RMS=5.289819e-02 (FAIL) maxdiff=3.792340e-01 (FAIL) fl16.bit: RMS=1.202716e-04 (LIMITED) maxdiff=8.831620e-04 (FAIL) ==== Layer 3 ==== --> 16 bit signed integer output compl.bit: RMS=1.303472e-04 (LIMITED) maxdiff=1.008749e-03 (FAIL) fl15.bit is still weird... I should look into more. > Obviously that build is not using the high-quality tuned MAD > library, but the fast setup with limited accuracy. > What disturbs me about that: This code is faster than the generic > mpg123 code, be it with floats or integers! > Granted, the floating point output of mpg123 is of higher quality, > but MAD kicks our ass on the quick-and-dirty track. > > Seems like we'd need to add fixed point assembler optimizations to > catch up (MAD has some assembler stuff, particulary for ARM, too). Asm optimization will help, but I think using the same codebase for both integer and fp decoder is disadvantageous in terms of performance (of the int decoder). Thanks, Taihei Monma |