• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Codecs
  • Assigned To
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.6
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Buschel - 2010-07-01
Last edited by Buschel - 2010-07-05

FS#11450 - faad compiler option

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

Closed by  Buschel
2010-07-05 19:29
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Submitted with r27297

Pretty output with;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 -
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

AAC-HE is fixed with r27232.

nls commented on 2010-07-02 07:56

Gives about 1-2 % speedup on h300 (mcf5249) for the nero_*.m4a files in test_files.

nls commented on 2010-07-03 11:01

In fact, it seems O1 is even better for coldfire. (Os is used in svn)

nls commented on 2010-07-03 19:29

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?

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).

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.

Here's the patch.

Thanks, please commit it


Available keyboard shortcuts


Task Details

Task Editing