Rockbox

Tasklist

FS#11450 - faad compiler option

Attached to Project: Rockbox
Opened by Andree Buschmann (Buschel) - Thursday, 01 July 2010, 22:39 GMT
Last edited by Andree Buschmann (Buschel) - Monday, 05 July 2010, 19:29 GMT
Task Type Patches
Category Codecs
Status Closed
Assigned To Andree Buschmann (Buschel)
Operating System All players
Severity Low
Priority Normal
Reported Version Release 3.6
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

svn uses -O1 to compile libfaad. When compiling with -O2 the decoder gets reasonable faster on PP5022 (iPod Video). The attached patch changes the compile option for libfaad to -O2.

Please post results with -O1 (svn) against -O2 (patch) on other targets to this flyspray entry.

iPod Video (PP5022): 31.6 MHz (svn 32.4 MHz) for nero_192.m4a
This task depends upon

Closed by  Andree Buschmann (Buschel)
Monday, 05 July 2010, 19:29 GMT
Reason for closing:  Accepted
Additional comments about closing:  Submitted with r27297
Comment by Rafaël Carré (funman) - Thursday, 01 July 2010, 22:59 GMT
Pretty output with http://www.rockbox.org/wiki/bin/viewfile/Main/CodecPerformanceComparison?filename=parse_testcodec.pl.txt;rev=5
arguments: log_svn.txt log_O2.txt

Tested on Clip+

| *Nero AAC-HE* |||||
| 64kaache.m4a | 440025.00% realtime | Decode time - 0.04s | 0.05MHz | - |
| *AAC-LC* |||||
| nero_096.m4a | 550.73% realtime | Decode time - 31.95s | 43.57MHz | 95.09%|
| nero_128.m4a | 531.28% realtime | Decode time - 33.12s | 45.17MHz | 95.05%|
| nero_192.m4a | 506.94% realtime | Decode time - 34.71s | 47.34MHz | 95.22%|
| nero_256.m4a | 486.34% realtime | Decode time - 36.18s | 49.34MHz | 95.44%|

So 02 makes it about 5% faster

Note that aache fails to decode with or without the patch
Comment by Andree Buschmann (Buschel) - Friday, 02 July 2010, 04:43 GMT
AAC-HE is fixed with r27232.
Comment by Nils Wallménius (nls) - Friday, 02 July 2010, 07:56 GMT
Gives about 1-2 % speedup on h300 (mcf5249) for the nero_*.m4a files in test_files.
Comment by Nils Wallménius (nls) - Saturday, 03 July 2010, 11:01 GMT
In fact, it seems O1 is even better for coldfire. (Os is used in svn)
Comment by Nils Wallménius (nls) - Saturday, 03 July 2010, 19:29 GMT
I ran a set of test_codec benchmarks and posted my tunings in  FS#11450  in those tests faad was fastest with O3 on c200v1 and with O1 on h300.
Did you test with O3 on your ipod?
Comment by Magnus Holmgren (learman) - Sunday, 04 July 2010, 11:16 GMT
On a Fuze V2, -O3 is slightly slower than -O2 (well, only ~1.2 percent, so that's perhaps within the margin of error). Only tested 128 and 192 kbps; got an empty result file when I tried a full folder test...

Still, this makes AAC about as fast as Vorbis on a Fuze V2 (a little slower at 128 kbps, a little faster at 192 kbps).
Comment by Andree Buschmann (Buschel) - Monday, 05 July 2010, 16:18 GMT
For iPod Video (PP5022) the difference between -O3 and -O2 is measurable but not significant (see below). But the code size increases by 20% (202 KB -> 243 KB).
-O1: 32.43 MHz
-O2: 31.64 MHz
-O3: 31.59 MHz

Therefore I propose to change the compile switch to -O2 for ARM and -O1 for non-ARM.
Comment by Andree Buschmann (Buschel) - Monday, 05 July 2010, 16:46 GMT
Here's the patch.
Comment by Rafaël Carré (funman) - Monday, 05 July 2010, 18:50 GMT
Thanks, please commit it

Loading...