Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | decoder/dsdiff: provide floating point samples | Max Kellermann | 2011-10-20 | 1 | -30/+3 |
| | | | | | Eliminate the conversion to integer samples, the MPD core can do this now. | ||||
* | decoder/wavpack: read float samples as-is, don't convert to integer | Max Kellermann | 2011-10-20 | 1 | -5/+4 |
| | | | | | For MPD's new floating point support: when a decoded wavpack file needs to be resampled, don't convert float to int and back to float. | ||||
* | pcm_format: implement conversion to float | Max Kellermann | 2011-10-20 | 3 | -1/+218 |
| | |||||
* | pcm_convert: add function pcm_convert_channels() | Max Kellermann | 2011-10-20 | 1 | -0/+50 |
| | | | | For future internal use. | ||||
* | pcm_mix: implement float samples | Max Kellermann | 2011-10-20 | 1 | -4/+31 |
| | |||||
* | pcm_volume: implement float samples | Max Kellermann | 2011-10-20 | 2 | -2/+19 |
| | |||||
* | audio_format: basic support for floating point samples | Max Kellermann | 2011-10-20 | 11 | -0/+138 |
| | | | | | Support for conversion from float to 16, 24 and 32 bit integer samples. | ||||
* | pcm_mix: return bool, make unimplemented format non-fatal | Max Kellermann | 2011-10-20 | 3 | -28/+43 |
| | | | | Let the caller deal with a failure. | ||||
* | pcm_volume: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-20 | 1 | -20/+13 |
| | |||||
* | pcm_volume: remove "default" statement | Max Kellermann | 2011-10-20 | 1 | -3/+9 |
| | | | | Don't suppress gcc warnings. | ||||
* | pcm_volume: "length" is a "size_t", not "int" | Max Kellermann | 2011-10-20 | 2 | -2/+2 |
| | |||||
* | pcm_resample: add function pcm_resample_float() | Max Kellermann | 2011-10-20 | 4 | -0/+95 |
| | | | | | A version of the resampler that doesn't need int->float->int conversion. | ||||
* | pcm_format: move "case" code to separate functions | Max Kellermann | 2011-10-20 | 1 | -95/+166 |
| | | | | Reduce the mess with local variables inside switch{}. | ||||
* | pcm_*: add "restrict" keywords | Max Kellermann | 2011-10-20 | 2 | -18/+29 |
| | | | | Allow more compiler optimizations. | ||||
* | crossfade: include cleanup | Max Kellermann | 2011-10-20 | 1 | -1/+0 |
| | |||||
* | pcm_format: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-19 | 1 | -58/+28 |
| | |||||
* | pcm_channels: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-19 | 1 | -39/+40 |
| | |||||
* | pcm_{channels,resample}: pass channel count as integer, not uint8_t | Max Kellermann | 2011-10-19 | 7 | -27/+27 |
| | | | | Reduces number of implicit integer conversions. | ||||
* | pcm_{channels,format}: add alignment assertions | Max Kellermann | 2011-10-19 | 2 | -0/+12 |
| | |||||
* | pcm_utils: add function pcm_end_pointer() | Max Kellermann | 2011-10-19 | 2 | -1/+13 |
| | |||||
* | pcm_byteswap: use "end" pointer instead of buffer size | Max Kellermann | 2011-10-10 | 1 | -6/+12 |
| | |||||
* | pcm_dither: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-10 | 3 | -19/+14 |
| | | | | | This is easier and more efficient to loop on, because only two variables get modified (src and dest). | ||||
* | pcm_pack: pass an "end" pointer instead of a sample count | Max Kellermann | 2011-10-10 | 4 | -10/+11 |
| | |||||
* | pcm_byteswap: use GLib byte swapping macros | Max Kellermann | 2011-10-10 | 1 | -15/+2 |
| | | | | | GLib's macros are implemented with inline assembly, and probably a lot faster than our naive bit shifting implementation. | ||||
* | pcm_{mix,volume}: pass only sample_format to pcm_mix() | Max Kellermann | 2011-10-10 | 7 | -18/+19 |
| | | | | The other audio_format attributes are not used. | ||||
* | pcm_buffer: un-inline pcm_buffer_get() | Max Kellermann | 2011-10-10 | 2 | -14/+38 |
| | | | | This function is too complex for being inlined everywhere. | ||||
* | input/cdio_paranoia: pass byte order swapping to the PCM "decoder" | Max Kellermann | 2011-10-10 | 1 | -32/+11 |
| | | | | | | Send another "magic" MIME type when the byte order must be reversed. This also fixes byte order issues when big-endian was involved (input data or host byte order) - that was completely broken. | ||||
* | decoder/pcm: support reverse byte order | Max Kellermann | 2011-10-10 | 1 | -3/+21 |
| | |||||
* | decoder_api: convert data to host byte order | Max Kellermann | 2011-10-10 | 1 | -0/+3 |
| | |||||
* | pcm_convert: support reverse endian input | Max Kellermann | 2011-10-10 | 1 | -0/+14 |
| | |||||
* | pcm_byteswap: add function with sample_format overload | Max Kellermann | 2011-10-10 | 2 | -0/+43 |
| | |||||
* | audio_format: convert reverse_endian to a "bool" | Max Kellermann | 2011-10-10 | 2 | -4/+4 |
| | |||||
* | audio_format: un-inline audio_format_mask_apply() | Max Kellermann | 2011-10-10 | 2 | -17/+21 |
| | | | | | This function is not critical for performance, and the inline expansion looks too expensive. | ||||
* | audio_format: add function attributes | Max Kellermann | 2011-10-10 | 2 | -0/+10 |
| | | | | For better optimization. | ||||
* | audio: rename audio.[ch] to audio_config.[ch] | Max Kellermann | 2011-10-10 | 4 | -5/+5 |
| | |||||
* | Makefile.am: generate static library from plugins | Max Kellermann | 2011-10-09 | 1 | -0/+30 |
| | | | | Compile the plugins only once with the same C flags. | ||||
* | don't define WINVER in *.c files | Max Kellermann | 2011-10-09 | 10 | -10/+0 |
| | | | | | In a C file, that is too late, because _mingw.h defaults to 0x0502, and ours would be illegal redefintion. | ||||
* | decoder/{pcm,dsdiff}: add missing stdio.h include | Max Kellermann | 2011-10-09 | 3 | -0/+3 |
| | |||||
* | Merge commit 'release-0.16.5' | Max Kellermann | 2011-10-09 | 2 | -2/+2 |
|\ | | | | | | | | | | | Conflicts: NEWS configure.ac | ||||
| * | decoder/wavpack: don't call WavpackGetMode() twice | Max Kellermann | 2011-10-08 | 1 | -1/+1 |
| | | | | | | | | Use local variable "is_float". | ||||
| * | pcm_convert: fix typo in error message | Max Kellermann | 2011-10-08 | 1 | -1/+1 |
| | | |||||
* | | audio_format: move code to sample_format_size() | Max Kellermann | 2011-10-08 | 1 | -6/+13 |
| | | | | | | | | | | Cast to enum sample_format. Without the cast, it's just a plain integer, and gcc cannot know that a "case" statement is missing. | ||||
* | | pcm_resample_lsr: move common code to lsr_process() | Max Kellermann | 2011-10-08 | 1 | -32/+17 |
| | | |||||
* | | output/roar: move code to _use_audio_format() | Max Kellermann | 2011-10-08 | 1 | -27/+38 |
| | | |||||
* | | db_print: print absolute URI of playlist entries | Max Kellermann | 2011-10-08 | 3 | -5/+21 |
| | | | | | | | | | | | | | | The protocol mandates that playlist URIs are absolute (i.e. full URI relative to the music directory, not relative to the parent directory). This adds the parameter "directory" to the "playlist" visitor method. | ||||
* | | Merge branch 'v0.16.x' | Max Kellermann | 2011-10-08 | 2 | -12/+15 |
|\| | |||||
| * | output/openal: auto-fallback to mono if channel count is unsupported | Max Kellermann | 2011-10-08 | 1 | -9/+9 |
| | | | | | | | | .. instead of failing playback completely. | ||||
| * | output/alsa: remove "default" case from switch | Max Kellermann | 2011-10-08 | 1 | -3/+6 |
| | | | | | | | | Allow gcc to warn when a new format isn't supported. | ||||
* | | pcm_resample: add internal function _lsr_init() | Max Kellermann | 2011-10-08 | 4 | -8/+26 |
| | | | | | | | | Let the libsamplerate code initialize itself. | ||||
* | | pcm_resample: one-time global initialization | Max Kellermann | 2011-10-08 | 5 | -42/+84 |
| | | | | | | | | | | Load the samplerate_converter on MPD startup. Fail if the converter name is invalid. |