Commit Graph

536 Commits

Author SHA1 Message Date
Themaister
d3ffe3292a Use correct resampler fallback. 2014-07-18 18:39:35 +02:00
twinaphex
df448d37da Make find_resampler_driver more robust 2014-07-18 18:23:19 +02:00
twinaphex
6f32841647 Rename g_extern.verbose to g_extern.verbosity to avoid
collisions on OSX
2014-07-18 00:39:31 +02:00
aliaspider
67fa60f81d (PSP) increase audio buffer size and chunk size. 2014-07-14 02:36:13 +01:00
aliaspider
ba7cefc529 (PSP) add BIG_STACK makefile option
fix overflow in VFPU resampler when input_frames is 0
add support for GU_PSM_5551 pixel format when using hardware rendering
2014-06-29 05:45:36 +01:00
twinaphex
9bfb76e7fb (PSP) Add initial version of PSP pthread wrapper - very incomplete right now 2014-06-29 01:05:13 +02:00
Themaister
89f052f5e5 Fix some Win32 build issues. 2014-06-17 17:52:00 +02:00
twinaphex
6fdefb4ab7 (Android) Build fix 2014-06-13 02:16:41 +02:00
twinaphex
ddf0dcb165 (Android) Build fixes/cleanups to frontend 2014-06-13 01:10:14 +02:00
twinaphex
2a32a397c9 (Xbox 1) Take out unnecessary audio DSP effect option 2014-06-11 00:55:14 +02:00
twinaphex
353bbb5f83 (GX) Make gx_audio.c and platform_gx.c more generic 2014-06-04 18:54:40 +02:00
twinaphex
9fc7db8db9 (GX) Make gx_audio.c more backwards/forwards compatible 2014-06-04 02:01:15 +02:00
twinaphex
9911aac09c Add performance.h header include in audio/dsp_filter.c 2014-06-01 22:12:57 +02:00
twinaphex
35716e981c Move alsa_qsa.c to audio/ 2014-06-01 16:12:36 +02:00
twinaphex
f36589cf11 Update some comments 2014-06-01 15:33:42 +02:00
Themaister
716adbb85a Fix lfo_ptr increment. 2014-06-01 14:35:12 +02:00
Themaister
cea2b160cd Add Chorus DSP. 2014-06-01 14:32:01 +02:00
Themaister
1d36ab8c49 Fix up some IIR presets. 2014-05-30 23:17:24 +02:00
Themaister
0ca79f964f Make dumping EQ filter coefficients a config option. 2014-05-30 19:04:40 +02:00
twinaphex
c3f19c13bf (GX) Audio driver - some cleanups 2014-05-30 00:24:09 +02:00
Themaister
49d47e1aaf Revert "Avoid buffer overflow in EQ."
Derp. It's already twice size.
2014-05-29 20:30:34 +02:00
Themaister
47f4486507 Avoid buffer overflow in EQ. 2014-05-29 20:08:59 +02:00
Themaister
87810fe9c6 Create a correct linear phase filter. 2014-05-29 10:35:09 +02:00
twinaphex
839c121ecd (Xbox 1) Add C++ ifdef __cplusplus extern "C" header guards 2014-05-28 21:45:58 +02:00
Themaister
bafae15635 Add missing EQ.dsp. 2014-05-28 18:07:03 +02:00
Themaister
748cd81ba8 Fix stale comment in eq.c. 2014-05-28 17:50:03 +02:00
Themaister
244b072ab8 Fix Android build. 2014-05-28 10:40:24 +02:00
Themaister
0c83bf7d0b Merge branch 'master' of github.com:libretro/RetroArch into eq-dsp
Conflicts:
	griffin/griffin.c
2014-05-28 10:38:04 +02:00
Themaister
7bf6554661 Add EQ to griffin. 2014-05-28 10:37:21 +02:00
Themaister
31249ab9da Some fixes to EQ. 2014-05-28 10:36:13 +02:00
twinaphex
152e022b5b (Android) Fix build 2014-05-28 04:15:52 +02:00
Themaister
902c92acfc Read config in EQ. 2014-05-28 00:30:03 +02:00
Themaister
95d1582f3c Equalizer works. 2014-05-28 00:07:14 +02:00
Themaister
b99b288980 Implement more of EQ. 2014-05-27 22:26:16 +02:00
Themaister
ce14f2f517 Begin implementing EQ. 2014-05-27 18:38:25 +02:00
Themaister
8f913e8e9b Add new FFT implementation.
To be used for EQ implementation.
2014-05-27 18:02:38 +02:00
Themaister
04522647ec Add some additional DSP presets. 2014-05-25 16:23:31 +02:00
Themaister
e9c3921050 Add EchoReverb dsp preset. 2014-05-25 16:13:16 +02:00
Themaister
92ef78242b Add reverb DSP. 2014-05-25 16:06:19 +02:00
Themaister
581c2e1d91 Add wahwah DSP. 2014-05-25 14:14:32 +02:00
Themaister
828552d111 Add phaser. 2014-05-25 13:54:46 +02:00
Themaister
33e3eee5ab Nit. 2014-05-23 09:53:27 +02:00
twinaphex
745a36508f (GX) Add missing gx_audio_use_float - set it to false 2014-05-22 23:51:30 +02:00
twinaphex
890b7f9bcf (OSX PPC) Fix Altivec errors 2014-05-22 23:46:41 +02:00
twinaphex
565ccf2ace (OSX PPC) CoreAudio should be compatible now with OSX 10.5 for PowerPC 2014-05-22 22:20:17 +02:00
twinaphex
166ee3785e (CoreAudio) Some OSX PPC build fixes 2014-05-22 22:11:14 +02:00
twinaphex
dd2d15c144 (Apple) Move iOS/OSX to separate dirs so that both ports can have their own
modules/ directory
2014-05-22 18:54:10 +02:00
Themaister
6ebd71f906 Use defaults for Echo. 2014-05-20 20:58:35 +02:00
Themaister
7351a228cc Add Echo DSP filter. 2014-05-20 17:04:57 +02:00
Themaister
0d370e828d Add the IIR filter types. 2014-05-20 15:43:05 +02:00
Themaister
d2161dfa50 Rewrite IIR DSP filter. 2014-05-20 15:19:22 +02:00
Themaister
7aaa0c254f Add builtin crap for DSP plugs. 2014-05-20 14:21:29 +02:00
Themaister
1b9bbbd381 Some Panning fixes. 2014-05-20 14:00:48 +02:00
Themaister
ead69172a2 Add new DSP plug "Panning". 2014-05-20 13:32:34 +02:00
Themaister
b498476531 Remove broken DSP plugs.
They will all have to be properly rewritten for new interface.
2014-05-20 12:38:01 +02:00
Themaister
79f4ed34ba Rename rarch_dsp.h. 2014-05-20 12:30:50 +02:00
Themaister
addba80c3b Rewrite DSP plugin interface. 2014-05-20 12:28:33 +02:00
twinaphex
d62164c4ae (BB10) Build fixes
(General) Fix some unused variable warnings
2014-05-17 22:16:25 +02:00
twinaphex
6bde636fac (Console) Move audio drivers to audio/ directory 2014-05-13 17:09:17 +02:00
twinaphex
b5d1e9aa83 (iOS) Take out forcibly hacking out all ARM ASM code for iOS port 2014-05-10 23:37:01 +02:00
twinaphex
e61401c101 (CC resampler) Add RARCH_INTERNAL check 2014-05-07 16:46:28 +02:00
twinaphex
7d3b436c2a (cc_resampler.c) Remove some unneeded header includes / make it more
backwards compatible
2014-05-07 00:42:59 +02:00
twinaphex
cb53d65fc3 Compile with HAVE_BUILTIN_FILTERS for Android - and some C90 build
fixes for filters. Note/FIXME: We need to get rid of the complex.h
dependency in the equalizer plugin
2014-05-03 04:59:35 +02:00
twinaphex
9f020f6786 (DSP Filters) echo.c - Teardown fix 2014-04-30 19:14:06 +02:00
twinaphex
2ea61d4e70 cleanup ident name for phaser.c 2014-04-29 23:11:23 +02:00
twinaphex
78a21f6d80 Use boolean.h for eq.c 2014-04-29 23:07:26 +02:00
twinaphex
b1c1eae907 Fix warnings re: redefining ALIGNED 2014-04-29 23:03:58 +02:00
twinaphex
8321506b39 (MSVC) Build fixes 2014-04-29 23:02:07 +02:00
twinaphex
1bf9a43db6 (DSP Filters) Add SIMD detection to DSP Filter API 2014-04-29 18:38:23 +02:00
twinaphex
669ebbabf6 (DSP filters) Bump up ABI of DSP Filter API to version 6 - make it
more like SoftFilters API
2014-04-29 18:24:49 +02:00
twinaphex
752099808d (DSP Filters) Move to pre-SSE2 version of echo filter - SSE2 optimizations could
come later when 'simd' toggling gets added to the spec
2014-04-29 17:03:12 +02:00
twinaphex
47f6cc40ba (DSP Filters) Cleanups 2014-04-29 16:32:08 +02:00
twinaphex
a716070cdc (Audio DSP) Add NULL entry to initializer lists for 'events' 2014-04-29 07:06:25 +02:00
twinaphex
40a1dc4eab (rarch_dsp.h) Typo fix 2014-04-28 06:28:20 +02:00
twinaphex
79f16c267e Add RARCH_INTERNAL ifdefs (for consoles/handhelds later on) 2014-04-28 05:59:24 +02:00
twinaphex
9d927ef827 (DSP Filters) Use the namespace 'rarch_dsp_*' for symbols 2014-04-28 05:49:19 +02:00
twinaphex
e763788857 (DSP Filters) Update names 2014-04-28 05:41:06 +02:00
twinaphex
7f9ea6052e Update audio/filters/link.T 2014-04-28 05:38:30 +02:00
twinaphex
45010add45 (Audio DSP) Add audio DSP filters to audio/filters directory -
C convresions of original RetroArch-Audio-DSP-Plugins
2014-04-28 05:33:07 +02:00
twinaphex
4968eafddf Put sinc resampler upfront in struct table - rename cc resampler
back to original name
2014-04-20 06:26:48 +02:00
twinaphex
4942306fff Add HAVE_CC_RESAMPLER to nearly all targets 2014-04-20 04:17:18 +02:00
twinaphex
fd215a1d27 (iOS) Build fix - don't compile in ARM NEON code in the meantime
until assembly files are fixed to assemble with LLVM/Clang
2014-04-17 23:04:40 +02:00
twinaphex
63b942b301 Ifdef out unsupported .arm line (also - LLVM/Clang assembler does
not seem to like float literals at all. Please try to change these
into something else)
2014-04-17 22:56:28 +02:00
Themaister
24906b8869 Add resampler tests for CC resampler. 2014-03-23 14:27:31 +01:00
Themaister
1d32b3080d Remove some old RSound cruft. 2014-03-23 14:16:55 +01:00
Themaister
4d9ff7d147 Stylistic cleanups in CC resampler. 2014-03-23 14:14:42 +01:00
aliaspider
dc95cf4c82 (PSP) add a C reference implementation of the VFPU audio resampler.
asm version still lacks some improvements found in the C version.
2014-03-19 20:52:15 +01:00
aliaspider
035e9b0919 (PSP) add an audio resampler using VFPU/allegrex assembly 2014-03-14 16:53:04 +01:00
aliaspider
dc3405bbb4 (PSP) add allegrex VFPU optimized s16 <-> float conversions. 2014-03-14 15:12:47 +01:00
Themaister
a098129a9b Fix Android build.
No idea how it built before (?!)
2014-03-02 14:17:26 +01:00
Themaister
d98af82baf Honor ident param. 2014-02-25 09:56:39 +01:00
Themaister
b782778edf Forgot that FFmpeg also uses resampler. 2014-02-25 09:51:24 +01:00
Themaister
cd597dc247 Make resampler "driver" hook code consistent with rest. 2014-02-25 09:39:48 +01:00
twinaphex
69267a8fa2 (Resampler) Change 'OSK' to 'Resampler' 2014-02-25 03:27:17 +01:00
twinaphex
4b1438e4b2 (Menu) Add audio resampler selection to 'Drivers' section 2014-02-25 03:23:50 +01:00
twinaphex
7452a48864 Add back resampler selection code 2014-02-25 02:55:25 +01:00
Themaister
190db263b0 [ALSA] Try to fallback on get_buffer_size.
Apparently some driver returns error here.
2014-02-22 15:31:23 +01:00
twinaphex
ff94787d86 (PPC Altivec) turn vec_splats into vec_splat - PPC OSX (Leopard) doesn't
support vec_splats intrinsic
2014-02-11 18:32:18 +11:00
Themaister
57e48f7ee2 Rewrite threaded audio a bit.
Avoid calling stop() right after init.
Driver init/teardown now happens only in audio thread.
2014-01-26 13:08:51 +01:00
Themaister
8c9e1a5f5c Fix some unused function warnings.
Clang 3.4 is more aggressive on this.
2014-01-22 16:39:39 +01:00
twinaphex
0a15a17d44 Update years on all license headers 2014-01-01 01:50:59 +01:00
twinaphex
c71a688d18 (ARM NEON ASM) Ifdef sinc_neon.S / utils_neon.S with __ARM_NEON__
and/or HAVE_NEON
2013-12-30 20:22:31 +01:00
twinaphex
c80e4c4315 (iOS) Linker requires that ASM function names are prefixed with '_' -
verified it still builds on Android
2013-12-30 17:53:13 +01:00
Themaister
92753e8b8a Add volume control to NEON ASM. 2013-12-29 12:59:57 +01:00
twinaphex
4ba46df0ef (Android) Build fix 2013-12-19 03:45:17 +01:00
twinaphex
ec5153ab57 (Android) Build fix 2013-12-17 20:56:31 +01:00
twinaphex
38d785984f Add RETRO_ENVIRONMENT_GET_PERF_INTERFACE to libretro.h 2013-12-17 19:10:40 +01:00
twinaphex
d417669d48 (GX) Compile in HAVE_RSOUND for both Wii and NGC 2013-11-11 11:14:55 +01:00
Lioncash
db2a619a90 Shrink another struct. This shrinks audio_lock from 32 bytes to 24 bytes. 2013-11-04 00:10:22 -05:00
Lioncash
fac2783a09 Optimize some struct sizes.
This is the list of reduced sizes:

file: dsound.c         - struct dsound_t reduced from 56 bytes to 52 bytes.
file: shader_parse.h   - struct gfx_fbo_scale reduced from 32 bytes to 28 bytes.
file: thread_wrapper.c - struct texture reduced from 28 bytes to 24 bytes.
file: libretro.h       - struct retro_hw_render_callback reduced from 40 bytes to 36 bytes.
file: movie.c          - struct bsv_movie reduced from 36 bytes to 32 bytes.
file: netplay.c        - struct delta_frame reduced from 16 bytes to 12 bytes.
file: performance.h    - struct rarch_perf_counter_t reduced from 40 bytes to 32 bytes.
2013-11-03 23:57:41 -05:00
Themaister
83cdd0f250 Remove sthread_exit(). Fix detach. 2013-11-01 09:12:36 +01:00
twinaphex
e4c1ebf344 Expand thread.c - replace pthread with thread.c wrappers 2013-11-01 04:49:29 +01:00
twinaphex
93c1bae991 (Librsound) Update comment in rsnd_get_time_usec 2013-11-01 00:13:17 +01:00
twinaphex
a8696e2506 (RSound) Bake in rsound for Android port - should also be possible
to bake it in by default for PC now - made librsound.c crossplatform
2013-11-01 00:07:52 +01:00
Themaister
7aa8b40759 Fixup C89 for loops. 2013-10-22 21:37:56 +02:00
twinaphex
d2c87e3039 Convert most C99-style for loop initial declarations to C89-compliant
ones
2013-10-22 15:08:17 +02:00
twinaphex
8487cd0204 Start using C89-style for loop initial declarations for
reusable code module parts that we reuse in other projects. It's
a huge maintenance burden having to change this stuff around everytime
when compiling in non-C99 mode
2013-10-19 19:39:38 +02:00
Alcaro
c8f28f25d7 Fix typo 2013-09-28 22:39:03 +02:00
meancoot
c9d968fa79 (iOS, CoreAudio) Don't deadlock in coreaudio_write if the audio session is interrupted. 2013-09-25 11:56:02 -04:00
Themaister
38ec55573c Rework SET_AUDIO_CALLBACK.
When disabling audio and/or muting, the core has no way
of knowing this, causing potential issues in a threaded mixer.

This environ is not used by any public core to my knowledge so the old
API has been removed and replaced with a change to environment number
(20 -> 22).
2013-09-14 17:28:09 +02:00
Hans-Kristian Arntzen
7d90ff4011 Merge pull request #303 from libretro/emscripten
Emscripten/Javascript port
2013-09-11 01:01:29 -07:00
ToadKing
a09dda3a9d [EMSCRIPTEN] add custom input driver, removes SDL dependency + adds mouse support 2013-09-10 20:21:48 -04:00
meancoot
081e526bf9 (OSX) Support video_monitor_index and audio_device settings 2013-09-07 21:30:58 -04:00
Themaister
73cb566620 "Revert" audio buffer behavior on Android.
Add audio_block_frames setting (only used by OpenSL atm).
2013-08-24 12:04:47 +02:00
twinaphex
d13542f12b (Android) Detects buffer size properly now on Android 4.2 and up -
bases requested latency on this. Old fallback applies for non-4.2
2013-08-24 05:10:14 +02:00
Themaister
16ca310f93 Add high latency audio support for Android.
Should fix ghetto hardware again.
2013-08-12 20:13:06 +02:00
Themaister
4bf3d47be1 Use GCC atomics to avoid locking in callback. 2013-08-11 01:08:19 +02:00
Themaister
a543b5da74 Fix threaded audio race conditions. 2013-08-11 01:07:59 +02:00
Themaister
bb0993b6eb Fix Android build. 2013-08-11 01:07:30 +02:00
Themaister
6a82db13d5 Fixups for frame time callback. 2013-08-11 01:05:33 +02:00
Themaister
f4a23115c2 Begin adding AUDIO_CALLBACK/FRAME_TIME_CALLBACK. 2013-08-11 01:05:33 +02:00
Themaister
510ed100e8 Use GCC atomics to avoid locking in callback.
Conflicts:
	audio/opensl.c
2013-07-17 22:47:34 +02:00
Themaister
54cc4ee469 Fixes and tweaks for OpenSL. 2013-07-17 22:46:38 +02:00
twinaphex
4e390c0dd1 Add librsound_orig.c for targets other than PS3 2013-07-08 00:38:03 +02:00
twinaphex
6d1e9dcaff Change asoundlib.h include to <alsa/asoundlib.h> 2013-07-07 19:26:03 +02:00
twinaphex
75cce7fb4d (Pandora) Add static preliminary Makefile for Pandora
(Alsathread) Name functions uniquely vs. alsa to resolve
symbol namespace conflicts when compiling with Griffin
2013-07-07 19:22:54 +02:00
twinaphex
3a0cc21d7a QNX ALSA is too different from regular mainline ALSA - QNX ALSA driver
will be separate from main ALSA driver
2013-06-20 10:13:45 +02:00
twinaphex
8bb8b3aea3 (Blackberry/ALSA) Start work on Blackberry ALSA support 2013-06-19 12:53:19 +02:00
Themaister
347fdaadce Fix ALSA error when unpause on driver reinit. 2013-06-05 20:51:57 +02:00
Themaister
e215033edd Fix CXX_BUILD. 2013-06-05 10:47:19 +02:00
Themaister
973f35339c Add pausing to ALSA.
Also use snd_pcm_avail() instead of avail_update()
for more accuracy (helps dynamic rate control).
2013-06-05 02:12:34 +02:00
Themaister
8d716f4ca1 Fixup log message in pulse. 2013-06-02 23:57:43 +02:00
Themaister
0aa157a5b9 Handle when pulse spuriously changes buffer size. 2013-06-02 23:43:04 +02:00
Themaister
74f3e8e11c Pause audio when going into RGUI. 2013-06-02 23:10:03 +02:00
Themaister
de01d42cd8 Fixups in pulse.
Add proper pause/unpause, and improve pa_write().
2013-06-02 22:57:44 +02:00
Themaister
4dd117b5ab Use correct buffer size in Pulse. 2013-05-27 00:56:41 +02:00
meancoot
c15463ad7c (iOS) Various:
Fix symbol conflict for audio_cb in CoreAudio driver and dummy lib
   Don't show a frame from the last loaded game when loading a new one
   Fix settings not being refreshed after a failed game load
   Fix issue that could cause the display time of the native pause button to be cut short
2013-04-18 20:39:43 -04:00
twinaphex
250b52c130 (RARCH_CONSOLE) Build fix for now - dummy loading sidestepped
for now until solution arrives
2013-04-14 17:15:57 +02:00
twinaphex
06d3fd16ae Simplify resampler.c 2013-04-07 18:38:21 +02:00
twinaphex
4102d1cfb8 Make sinc resampler the default and remove Hermite - audio
quality at high samplerates was too bad to be of any use
2013-04-07 03:41:06 +02:00