summaryrefslogtreecommitdiffstats
path: root/src/pulsecore
Commit message (Collapse)AuthorAgeFilesLines
* llist: add PA_LLIST_FOREACH_SAFE macro for iteration that allows deletingLennart Poettering2009-08-261-0/+3
|
* macro: add PA_CLIP_SUB() for saturated subtractionLennart Poettering2009-08-261-0/+11
|
* remap: fix build for non-x86 buildsv0.9.16-test6Lennart Poettering2009-08-241-0/+2
|
* alsa: automatically decrease watermark after a time of stabilityLennart Poettering2009-08-242-15/+17
|
* port a few things over to use xmalloc and friends instead of low-level libc ↵Lennart Poettering2009-08-232-12/+11
| | | | malloc/free directly
* Merge commit 'wtay/optimize'Lennart Poettering2009-08-2317-596/+2199
|\
| * remap: make the MMX code pretierWim Taymans2009-08-201-50/+24
| |
| * remap: add MMX mono to stereoWim Taymans2009-08-203-1/+179
| |
| * remap: init the do_remap function to NULLWim Taymans2009-08-201-2/+4
| |
| * remap: allow specialisations to install NULLWim Taymans2009-08-201-0/+5
| | | | | | | | | | Fallback to the default C implementation when the remap init function did not set a function.
| * remap: move remapping code in separate fileWim Taymans2009-08-203-152/+248
| | | | | | | | | | Move the remapping code into a separate file. Have functions to install custom init functions that can install optimized versions, when they want.
| * resamples; refactor the channel remapping bitsWim Taymans2009-08-201-81/+105
| | | | | | | | | | | | 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.
| * sconv: allow for setting custom functionsWim Taymans2009-08-202-64/+102
| | | | | | | | Add methods to override the default conversion functions.
| * svolume: cleanupsWim Taymans2009-08-203-26/+26
| | | | | | | | | | Use PA_MAX Use pa_rtclock_now() for benchmarks
| * whitespace fixesWim Taymans2009-08-208-740/+765
| |
| * resampler: avoid some multiplies when we canWim Taymans2009-08-201-2/+7
| |
| * svolume: add commentWim Taymans2009-08-201-0/+3
| |
| * arm: implement ARM cpu detectionWim Taymans2009-08-202-7/+107
| |
| * x86: keep the cpu flags localWim Taymans2009-08-201-30/+27
| |
| * svolume: fix compilation in 32bitsWim Taymans2009-08-202-12/+12
| |
| * resampler: fix identity checkWim Taymans2009-08-201-10/+6
| | | | | | | | | | | | Fix the identity matrix check for mono to stereo. Help the compiler generate better code for the C implementation of the channel remapping code.
| * resample: fix countersWim Taymans2009-08-201-4/+4
| |
| * resample: refactor the channel remapping a littleWim Taymans2009-08-201-88/+109
| | | | | | | | | | | | | | | | 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.
| * svolume: add CPU guards around codeWim Taymans2009-08-202-0/+11
| | | | | | | | Mark code that should only be compiled on x86 CPUs with proper defines.
| * svolume: add ARM optimized volume scalingWim Taymans2009-08-203-0/+277
| |
| * svolume: remove unneeded compareWim Taymans2009-08-202-3/+1
| | | | | | | | | | We don't need the compare because the sub operation already set the right flags for us.
| * resampler: cache integer channel_mapWim Taymans2009-08-201-33/+33
| | | | | | | | | | Calculate and cache an integer version of the channel map so that we don't have to regenerate it when dealing with s16 samples.
| * Get rid of liboilWim Taymans2009-08-203-74/+65
| | | | | | | | | | | | | | 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.
| * volume: remove ref functionsWim Taymans2009-08-202-446/+0
| |
| * volume: improved commentsWim Taymans2009-08-202-27/+30
| |
| * volume: make the benchmark more meaningfullWim Taymans2009-08-202-43/+69
| | | | | | | | MMX is about 6x faster, SSE around 15x on my machine.
| * svolume: add some commentsWim Taymans2009-08-201-0/+18
| |
| * cpu-x86: guard header with ifdefWim Taymans2009-08-201-0/+5
| |
| * main: hook up cpu detection codeWim Taymans2009-08-203-19/+18
| | | | | | | | | | | | Add CPU detection code to activate the various optimisations. Move some method definitions around. Use compatibility macros when we can.
| * cpu-x86: add cpu detection code and helpersWim Taymans2009-08-202-0/+183
| | | | | | | | | | Add CPU detection code and various macros and typdefs to make it easier to write 64 and 32 bit code.
| * svolume: improve SSE and MMX codeWim Taymans2009-08-202-123/+268
| |
| * volume_sse: add sse optimisationsWim Taymans2009-08-202-0/+438
| |
| * volume_mmx: fix mmx code a bitWim Taymans2009-08-201-20/+26
| |
| * volume: add first mmx optimized functionWim Taymans2009-08-202-0/+425
| | | | | | | | | | Add code for an mmx optimized version of s16ne volume scaling. Install the custom function.
| * samples-util: add padding to volume arrayWim Taymans2009-08-201-5/+17
| | | | | | | | | | Pad the volume array with a copy of the start. We'll need this later to be able to write optimized functions.
| * sample-util: move volume code to separate fileWim Taymans2009-08-203-311/+346
| | | | | | | | | | 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.
| * sample-util: move some functions aroundWim Taymans2009-08-201-22/+22
| | | | | | | | Move some stuff around before splitting it into a separate file.
| * sample-utils: coding style cleanupWim Taymans2009-08-201-53/+46
| | | | | | | | | | | | 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.
| * sample-utils: split out functions from caseWim Taymans2009-08-201-283/+303
| | | | | | | | | | Move the volume functions out of the switch case and use a table indexed by the sample format to find the volume function.
* | core: relex validity checks when destructing half-set up source outputs/sink ↵Lennart Poettering2009-08-222-3/+4
| | | | | | | | inputs
* | core: Remove wrong doc on how to free returned dataTed Percival2009-08-221-4/+0
| |
* | core: Add thread-safe group info functions with dynamic buffersTed Percival2009-08-223-86/+447
| | | | | | | | | | | | | | Provides getgrgid, getgrnam, getpwuid & getpwnam replacements that are thread safe (a la getgrgid_r() and friends) that internally handle allocating big-enough buffers to avoid ERANGE errors on large users or groups.
* | object: speed up type verification by not relying on strcmp()Lennart Poettering2009-08-2119-65/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead of using string contents for type identification use the address of a constant string array. This should speed up type verifications a little sind we only need to compare one machine word instead of a full string. Also, this saves a few strings. To make clear that types must be compared via address and not string contents 'type_name' is now called 'type_id'. This also simplifies the macros for declaring and defining public and private subclasses.
* | adjust various data/library paths automatically if we are run from a build treeLennart Poettering2009-08-212-0/+23
| |
* | sink-input: add callbacks that are called whenever the mute/volume changesLennart Poettering2009-08-213-6/+38
|/