Commit graph

4567 commits

Author SHA1 Message Date
Lennart Poettering
ac05619141 combine: quieten gcc a bit 2009-08-21 03:45:17 +02:00
Lennart Poettering
8a2a6b2004 adjust various data/library paths automatically if we are run from a build tree 2009-08-21 03:43:53 +02:00
Lennart Poettering
a562978509 ladspa: forward volume changes from ladspa sink to stream and hence via flat volume logic to master sink 2009-08-21 02:59:26 +02:00
Lennart Poettering
9f97b7cbe1 sink-input: add callbacks that are called whenever the mute/volume changes 2009-08-21 02:56:17 +02:00
Wim Taymans
6076cef209 remap: make the MMX code pretier 2009-08-20 20:00:50 +02:00
Wim Taymans
6e5dbed51e remap: add MMX mono to stereo 2009-08-20 19:46:06 +02:00
Wim Taymans
e961efc130 remap: init the do_remap function to NULL 2009-08-20 18:32:51 +02:00
Wim Taymans
28baa53d55 remap: allow specialisations to install NULL
Fallback to the default C implementation when the remap init function did not
set a function.
2009-08-20 18:29:02 +02:00
Wim Taymans
ac1f2e0a2e remap: move remapping code in separate file
Move the remapping code into a separate file. Have functions to install custom
init functions that can install optimized versions, when they want.
2009-08-20 18:23:42 +02:00
Wim Taymans
a3f4a4f6ba resamples; refactor the channel remapping bits
Move the channel remapping bits into a separate structure. We'll make this
structure global so that optimized versions can use it to perform the channel
remapping.
2009-08-20 17:54:45 +02:00
Wim Taymans
05fef5f551 sconv: allow for setting custom functions
Add methods to override the default conversion functions.
2009-08-20 15:50:02 +02:00
Wim Taymans
c1b6a87b27 alsa-sink: reduce the amount of smoother updates
Exponentially increase the amount of time between smoother updates. We start
with a 2ms interval and increase up to 200ms intervals.
Smoother updates and the resulting linear regression take a fair amount of CPU
so we want to reduce the amount of updates.
2009-08-20 13:40:27 +02:00
Wim Taymans
f8ffe0dabc svolume: cleanups
Use PA_MAX
Use pa_rtclock_now() for benchmarks
2009-08-20 12:30:48 +02:00
Wim Taymans
f09b51198f whitespace fixes 2009-08-20 11:31:04 +02:00
Wim Taymans
3cc1278dcf resampler: avoid some multiplies when we can 2009-08-20 11:31:04 +02:00
Wim Taymans
aeae567f88 svolume: add comment 2009-08-20 11:31:04 +02:00
Wim Taymans
8aa86f5247 arm: implement ARM cpu detection 2009-08-20 11:31:04 +02:00
Wim Taymans
078bde1b49 x86: keep the cpu flags local 2009-08-20 11:31:04 +02:00
Wim Taymans
370016c0e7 svolume: fix compilation in 32bits 2009-08-20 11:31:04 +02:00
Wim Taymans
d2389ef96e sample: manually inline table lookups
Manually inline some table lookups to avoid excessive calls to
pa_sample_spec_valid().
2009-08-20 11:31:04 +02:00
Wim Taymans
548b735ccf resampler: fix identity check
Fix the identity matrix check for mono to stereo.
Help the compiler generate better code for the C implementation of the channel
remapping code.
2009-08-20 11:31:04 +02:00
Wim Taymans
d04a6e935f resample: fix counters 2009-08-20 11:31:04 +02:00
Wim Taymans
b4e9942c2f resample: refactor the channel remapping a little
Factor out the channel remap matrix code into a separate function.
Keep a pointer to the channel remapping function so we can install custom
functions.
Catch the common mono->stereo remapping case and install a custom, more
optimized function.
2009-08-20 11:31:04 +02:00
Wim Taymans
bd49d43bd3 svolume: add CPU guards around code
Mark code that should only be compiled on x86 CPUs with proper defines.
2009-08-20 11:31:03 +02:00
Wim Taymans
951bf1b28d svolume: add ARM optimized volume scaling 2009-08-20 11:31:03 +02:00
Wim Taymans
a98fa950d2 svolume: remove unneeded compare
We don't need the compare because the sub operation already set the right flags
for us.
2009-08-20 11:31:03 +02:00
Wim Taymans
601e5f1867 resampler: cache integer channel_map
Calculate and cache an integer version of the channel map so that we don't have
to regenerate it when dealing with s16 samples.
2009-08-20 11:31:03 +02:00
Wim Taymans
25724cdd40 Get rid of liboil
Get rid of the liboil dependency and reimplement the liboil functions with an
equivalent C implementation. Note that most of these functions are deprecated in
liboil and that none of them had  any optimisations. We can further specialize
our handrolled versions for some extra speedups.
2009-08-20 11:31:03 +02:00
Wim Taymans
591baacba5 volume: remove ref functions 2009-08-20 11:31:03 +02:00
Wim Taymans
f24c24c14b volume: improved comments 2009-08-20 11:31:03 +02:00
Wim Taymans
a1235446a7 volume: make the benchmark more meaningfull
MMX is about 6x faster, SSE around 15x on my machine.
2009-08-20 11:31:03 +02:00
Wim Taymans
dcae9a3113 svolume: add some comments 2009-08-20 11:31:03 +02:00
Wim Taymans
e396fe67fb cpu-x86: guard header with ifdef 2009-08-20 11:31:03 +02:00
Wim Taymans
563cb2dea9 main: hook up cpu detection code
Add CPU detection code to activate the various optimisations.
Move some method definitions around.
Use compatibility macros when we can.
2009-08-20 11:31:03 +02:00
Wim Taymans
a83f5524fb cpu-x86: add cpu detection code and helpers
Add CPU detection code and various macros and typdefs to make it easier to write
64 and 32 bit code.
2009-08-20 11:31:02 +02:00
Wim Taymans
5998cf99b0 svolume: improve SSE and MMX code 2009-08-20 11:31:02 +02:00
Wim Taymans
7086784573 volume_sse: add sse optimisations 2009-08-20 11:31:02 +02:00
Wim Taymans
08f3e16c84 volume_mmx: fix mmx code a bit 2009-08-20 11:31:02 +02:00
Wim Taymans
3a0b012ee0 volume: add first mmx optimized function
Add code for an mmx optimized version of s16ne volume scaling. Install the
custom function.
2009-08-20 11:31:02 +02:00
Wim Taymans
2d73f13567 samples-util: add padding to volume array
Pad the volume array with a copy of the start. We'll need this later to be able
to write optimized functions.
2009-08-20 11:30:55 +02:00
Wim Taymans
3d008961c0 sample-util: move volume code to separate file
Move the volume code into a separate file with the reference C implementations.
Add a function to retrieve the volume function and one to install a new one.
2009-08-20 11:29:48 +02:00
Wim Taymans
e71e644eb6 sample-util: move some functions around
Move some stuff around before splitting it into a separate file.
2009-08-20 11:29:47 +02:00
Wim Taymans
5b8b6544e2 sample-utils: coding style cleanup
Make the coding style match the rest of pulseaudio more.
Remove some liboil functions, they seem unoptimized and likely slower than our
handrolled versions here.
2009-08-20 11:29:47 +02:00
Wim Taymans
26839c4b9e sample-utils: split out functions from case
Move the volume functions out of the switch case and use a table indexed by the
sample format to find the volume function.
2009-08-20 11:29:47 +02:00
Xabier Rodriguez Calvar
52e5d4b1d2 Modification of the thread-mainloop doc to ensure that nobody frees the api as it is owned by the loop. 2009-08-20 02:31:08 +02:00
Xabier Rodriguez Calvar
65f86ef7d4 Modification of the mainloop doc to ensure that nobody frees the api as it is owned by the loop. 2009-08-20 02:31:02 +02:00
Xabier Rodriguez Calvar
30ba9030ef Modification of the glib-mainloop doc to ensure that nobody frees the api as it is owned by the loop. 2009-08-20 02:30:54 +02:00
Lennart Poettering
c5bd72509e core: check return value of getgrnam_r() instead of errno
According to POSIX getgrnam_r() returns the error code as return value,
and not in errno. Honour that.

Pointed out and inspired by a patch from Ted Percival.
2009-08-20 00:20:03 +02:00
raven
d2f50eaa91 Sending translation for Polish 2009-08-19 20:53:19 +00:00
beckerde
9b6add303a Sending translation for Spanish 2009-08-19 11:13:19 +00:00