Commit Graph

659 Commits

Author SHA1 Message Date
David Reid 6b988bbc97 Drop support for AVX and replace with AVX2.
Rationale for this is that it just makes things simpler for integer
operations.
2018-05-27 21:01:19 +10:00
David Reid ef2ad30080 Add AVX optimized f32 -> s16 conversion. 2018-05-27 20:21:41 +10:00
David Reid b2815ccf6b Add SSE2 optimized implementation of f32 -> s16 conversion. 2018-05-27 17:50:56 +10:00
David Reid 073e89e402 Implement NEON optimizations for SRC. 2018-05-27 01:56:49 +00:00
David Reid 6054b8a192 Clean up. 2018-05-27 10:50:40 +10:00
David Reid dfe27a64a8 Experimental work on AVX.
As of this commit there's no significant benefit.
2018-05-27 08:56:43 +10:00
David Reid a8e27fc627 Silence some strict aliasing warnings on GCC. 2018-05-26 16:47:56 +10:00
David Reid 22d7b7403a Initial work on SSE2 optimizations for sample rate conversion. 2018-05-26 16:29:14 +10:00
David Reid 5dafa54f80 Use Tau instead of 2*pi. 2018-05-25 18:57:54 +10:00
David Reid 20e4813753 Improvements to mal_calculate_cpu_speed_factor(). 2018-05-23 19:49:51 +10:00
David Reid 21962f53de Set up some infrastructure for SIMD optimizations. 2018-05-23 19:36:23 +10:00
David Reid 1fd432b8f3 Make mal_convert_frames() return consistent values. 2018-05-22 21:06:07 +10:00
David Reid eb7ac83beb Small tweaks to the SDL backend. 2018-05-22 20:36:53 +10:00
David Reid 5501326db4 Make a few APIs public. 2018-05-21 20:19:52 +10:00
David Reid 59726df2c2 MAL_IMPLEMENTATION to MINI_AL_IMPLEMENTATION 2018-05-21 20:03:11 +10:00
David Reid 5c8c9b787d Changes to some helper APIs. 2018-05-21 19:24:54 +10:00
David Reid d020f0c521 Add some helpers for initializing an SRC config. 2018-05-21 19:05:34 +10:00
David Reid c10395865c Add sinc config settings to mal_dsp_config. 2018-05-21 18:54:04 +10:00
David Reid 8abcff4cec API CHANGE: Remove some redundant APIs. 2018-05-21 18:38:58 +10:00
David Reid 02e389157c Fixes to sinc SRC. 2018-05-20 15:15:10 +10:00
David Reid 1f9059965e Initial work on sinc sample rate conversion. 2018-05-20 10:28:07 +10:00
David Reid e01b60a889 Add support for decoding from raw PCM data. 2018-05-12 21:54:38 +10:00
David Reid b401f7d4d2 Return a valid channel map when channel count is 0 for device configs. 2018-05-09 18:27:51 +10:00
David Reid 401411911c WASAPI: Fix a bug with stopping and restarting devices. 2018-05-06 19:55:20 +10:00
David Reid c95710c612 Fix C++ build error. 2018-05-05 08:44:58 +10:00
David Reid 757a4c1260 Merge branch 'dev' of https://github.com/dr-soft/mini_al into dev 2018-05-05 06:41:02 +10:00
David Reid 986dac45b6 Documentation and clean up. 2018-05-05 06:40:32 +10:00
David Reid 11d23efcf6 Tweaks to the Raspberry Pi build. 2018-05-04 09:14:32 +00:00
David Reid 1d67c440fa Don't use Pulse or JACK on BSD.
In my testing, PulseAudio is terrible on BSD. Just disabling this since
OSS seems quite good.
2018-05-03 20:41:17 +10:00
David Reid d03de64843 Clean up. 2018-05-03 20:29:27 +10:00
David Reid a7876da79d Experiments with improved default buffer sizes. 2018-05-03 20:19:56 +10:00
David Reid 244db693e0 WASAPI: Start using experimental default buffer size system. 2018-05-03 18:48:20 +10:00
David Reid 45b99d1c31 Fix a bug on WASAPI when initializing a device with very small buffers.
This commit includes experimental work on improving the logic used to
determine the default buffer size.
2018-05-01 21:40:24 +10:00
David Reid 5b1a01d8ca Add NEON optimizations and fix a crash. 2018-04-30 10:22:13 +00:00
David Reid 85d5b5ef7a Fix typos. 2018-04-30 09:33:26 +00:00
David Reid e0d62f90f2 Increase default period size 2018-04-30 09:09:10 +00:00
David Reid 9b5b777cab Improve compiler support. 2018-04-29 21:20:53 +10:00
David Reid dbe3166c0e Fix compilation errors with TCC. 2018-04-29 18:51:26 +10:00
David Reid 631079d724 Use better inline assembly.
This fixes a compiler error with Clang.
2018-04-29 16:23:55 +10:00
David Reid 6500c8cd78 Update change log. 2018-04-29 14:06:01 +10:00
David Reid 859720ec2b Add helpers for initializing format converter configs. 2018-04-29 13:24:35 +10:00
David Reid 994c86fceb Add initial support for dithering. 2018-04-29 13:17:30 +10:00
David Reid fcda380f85 Give Vorbis a higher priority over MP3.
The reason for this is that the MP3 decoder does not currently have a
good way of determining if the stream is actually a valid MP3 stream.
2018-04-27 21:33:47 +10:00
David Reid 7c24036c7c Fixes to device info retrieval for Emscripten. 2018-04-25 19:01:32 +10:00
David Reid 3301b1798c Fix Emscripten build. 2018-04-25 18:46:17 +10:00
David Reid dfe0c01643 Tabs to spaces. 2018-04-25 17:54:23 +10:00
David Reid 812372dd2b Add some validation to mal_context_get_device_info(). 2018-04-25 17:52:06 +10:00
David Reid 12e6b10800 ALSA: Add support for retrieving detailed device info. 2018-04-25 17:48:32 +10:00
David Reid 0384d8aaaa Pulse: Add support for retrieving detailed device info. 2018-04-25 16:37:50 +10:00
David Reid ccb4626bc9 Minor documentation update. 2018-04-25 16:24:13 +10:00