No description
Find a file
Siarhei Siamashka 5423dc1644 sbc: faster 'sbc_calculate_bits' function
By using SBC_ALWAYS_INLINE trick, the implementation of 'sbc_calculate_bits'
function is split into two branches, each having 'subband' variable value
known at compile time. It helps the compiler to generate more optimal code
by saving at least one extra register, and also provides more obvious
opportunities for loops unrolling.

Benchmarked on ARM Cortex-A8:

== Before: ==

$ time ./sbcenc -b53 -s8 -j test.au > /dev/null

real    0m3.989s
user    0m3.602s
sys     0m0.391s

samples  %        image name               symbol name
26057    32.6128  sbcenc                   sbc_pack_frame
20003    25.0357  sbcenc                   sbc_analyze_4b_8s_neon
14220    17.7977  sbcenc                   sbc_calculate_bits
8498     10.6361  no-vmlinux               /no-vmlinux
5300      6.6335  sbcenc                   sbc_calc_scalefactors_j_neon
3235      4.0489  sbcenc                   sbc_enc_process_input_8s_be_neon
2172      2.7185  sbcenc                   sbc_encode

== After: ==

$ time ./sbcenc -b53 -s8 -j test.au > /dev/null

real    0m3.652s
user    0m3.195s
sys     0m0.445s

samples  %        image name               symbol name
26207    36.0095  sbcenc                   sbc_pack_frame
19820    27.2335  sbcenc                   sbc_analyze_4b_8s_neon
8629     11.8566  no-vmlinux               /no-vmlinux
6988      9.6018  sbcenc                   sbc_calculate_bits
5094      6.9994  sbcenc                   sbc_calc_scalefactors_j_neon
3351      4.6044  sbcenc                   sbc_enc_process_input_8s_be_neon
2182      2.9982  sbcenc                   sbc_encode
2011-03-14 15:31:30 -03:00
doxygen doxygen: add rtclock.h to documentation 2009-09-11 01:49:39 +02:00
m4 echo-cancel: orc-ify some bits for optimisation 2010-09-23 17:17:03 +05:30
man build: Use silent rules for generating files 2011-03-11 11:49:43 +00:00
po Remove remaining ramping/envelope references 2011-02-28 17:13:13 +05:30
src sbc: faster 'sbc_calculate_bits' function 2011-03-14 15:31:30 -03:00
vala vala: fix wrapping of port setting calls 2010-02-21 17:48:39 +01:00
.gitignore build-sys: dropo shave support, depend on automake's new silent build support instead 2009-06-22 23:03:43 +02:00
.mailmap add a .mailmap file for git shortlog 2009-02-04 22:41:45 +01:00
autogen.sh remove remaining $ 2008-06-18 22:38:32 +02:00
bootstrap.sh Solaris: bootstrap portability 2009-08-22 00:58:53 +02:00
configure.ac configure: Drop some warnings 2011-03-02 15:03:18 +00:00
git-version-gen build-sys: Include the .version file in the distribution tarball 2010-12-05 15:59:13 +00:00
GPL * rename "LICENSE" to "LGPL" 2006-04-20 12:33:00 +00:00
LGPL * rename "LICENSE" to "LGPL" 2006-04-20 12:33:00 +00:00
libpulse-browse.pc.in version: Drop the micro version number 2010-11-28 15:56:20 +00:00
libpulse-mainloop-glib.pc.in version: Drop the micro version number 2010-11-28 15:56:20 +00:00
libpulse-simple.pc.in version: Drop the micro version number 2010-11-28 15:56:20 +00:00
libpulse.pc.in version: Drop the micro version number 2010-11-28 15:56:20 +00:00
LICENSE echo-cancel: Add alternative echo-cancellation implementation 2010-09-07 15:12:12 +05:30
Makefile.am build-sys: Include the .version file in the distribution tarball 2010-12-05 15:59:13 +00:00
orc.mak build: Simplify Orc-related make rules 2011-02-01 11:51:46 +05:30
PROTOCOL Allow read-only or non-existing sink input volume. 2011-02-22 20:12:31 +00:00
pulseaudio-text.svg merge 'lennart' branch back into trunk. 2007-10-28 19:13:50 +00:00
pulseaudio.svg Add PulseAudio logo to tree. 2006-08-28 06:25:41 +00:00
README Add a small README with the new git URLs and stuff 2008-06-18 00:34:14 +02:00
todo remove remaining $ 2008-06-18 22:38:32 +02:00

PULSEAUDIO SOUND SERVER

WEB SITE:
	http://pulseaudio.org/

GIT:
	git://git.0pointer.de/pulseaudio.git

GITWEB:
	http://git.0pointer.de/?p=pulseaudio.git;a=summary

MAILING LIST:
	https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss

GIT COMMITS MAILING LIST:
	https://tango.0pointer.de/mailman/listinfo/pulseaudio-commits

TRAC TICKET CHANGES MAILING LIST:
	https://tango.0pointer.de/mailman/listinfo/pulseaudio-tickets

IRC:
	#pulseaudio on irc.freenode.org

CIA:
	http://cia.navi.cx/stats/project/polypaudio

FRESHMEAT:
	http://freshmeat.net/projects/pulseaudio/

OHLOH:
	http://www.ohloh.net/projects/4038

AUTHORS:
	Several