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
Themaister
913aeabe47
Use more compatible .globl symbols in NEON ASM.
2013-03-27 00:38:11 +01:00
twinaphex
3bc487be87
Merge branch 'ios' of git://github.com/meancoot/RetroArch
2013-03-15 20:05:15 +01:00
Themaister
9fd1f7edad
Fix audio test build on Windows.
2013-03-12 12:23:28 +01:00
meancoot
9fadca2a54
Merge branch 'master' of https://github.com/Themaister/RetroArch into ios
2013-03-09 20:09:32 -05:00
Themaister
1e44407bd8
Bump SINC_HIGHEST BW to 0.962.
2013-03-09 13:28:40 +01:00
meancoot
e8e822ffc3
Merge branch 'master' of https://github.com/Themaister/RetroArch into ios
...
Conflicts:
gfx/gfx_context.c
gfx/gfx_context.h
retroarch.c
2013-03-03 21:36:47 -05:00
Themaister
3ed3217270
Seed rand().
2013-03-03 12:39:11 +01:00
Themaister
f11ccfc108
Add simple script to generate rate control tests.
2013-03-01 17:05:13 +01:00
Themaister
2499cccb1a
Add rate control simulation to resampler test.
2013-02-28 17:14:34 +01:00
Themaister
7b389b70bc
Use more correct modulation factor in SSE convert.
...
Use same factor as C.
2013-02-27 20:46:55 +01:00
meancoot
06bb6b7840
Merge branch 'master' of https://github.com/Themaister/RetroArch into ios
2013-02-21 22:18:14 -05:00
Themaister
0c6e456e65
Merge branch 'master' into thread_video
2013-02-17 15:49:58 +01:00
Themaister
59e7bc82db
Move warning disable to msvc_compat.h.
2013-02-17 15:10:03 +01:00
twinaphex
6e1cec5090
(Xbox 1) Sinc - get rid of warning
2013-02-17 15:05:36 +01:00
Themaister
76bf41188a
Add video_threaded option to Android.
2013-02-17 00:26:17 +01:00
Themaister
75a51c191b
Fix Android build.
2013-02-16 12:33:47 +01:00
meancoot
5d139b185b
Merge branch 'master' of https://github.com/Themaister/RetroArch into ios
2013-02-15 18:54:57 -05:00
Themaister
3e3d9ec3af
Use higher precision Kaiser.
...
Add test case for Kaiser window in MATLAB.
2013-02-14 12:58:50 +01:00
Themaister
dc413ab605
Fix SNR test getting broken result.
2013-02-14 12:30:57 +01:00
Themaister
ff14092d8d
Use -ffast-math.
...
Helps SINC resampler to auto-vectorize.
2013-02-14 11:57:07 +01:00
Themaister
11d919b9e8
Fix downsampling for SINC.
2013-02-13 21:55:58 +01:00
Themaister
2aecc0e5f5
De-hardcode number of SINC taps.
...
Prepare for possible downsampling.
2013-02-13 12:11:49 +01:00
Themaister
d68fe248f3
Start using LERP optionally for SINC again.
2013-02-13 11:56:20 +01:00
Themaister
7ceefc9172
Clarify requirements for NEON.
2013-02-12 22:43:04 +01:00
Themaister
578a47d73d
Rework SINC resampler. Use Kaiser window.
2013-02-12 22:41:26 +01:00
meancoot
634f4dd543
ios: Patch coreaudio.c and use it instead of OpenAL.
2013-02-11 18:45:45 -05:00
Themaister
8c4410158d
Fix potential segfault in AL.
2013-02-11 20:38:16 +01:00
Themaister
fe1d9a5a2a
Add rate control interfaces to AL.
2013-02-11 20:14:12 +01:00
Themaister
db876d59ac
Fix resampler tests.
2013-02-08 15:37:40 +01:00
Themaister
e19555d394
Make number of sinc taps variable in NEON.
2013-02-08 14:28:25 +01:00
Themaister
202e204fd7
Add resampler.c.
2013-02-08 11:50:45 +01:00
Themaister
d33d2e9f0c
Make resamplers more modular.
2013-02-08 11:49:51 +01:00
Themaister
64c0e39596
Add NEON check for sinc taps.
2013-02-07 07:32:10 +01:00
Themaister
b2226de89d
Add some basic SINC profiles.
2013-02-07 07:22:33 +01:00
Themaister
7ab8eaec02
Use NEON conditionally for sample conversions.
2013-01-24 18:37:42 +01:00
Themaister
77207332f1
Use NEON conditionally in SINC.
2013-01-24 18:30:37 +01:00
Themaister
a52c0502d0
Actually use POT size in SL.
2013-01-18 11:29:02 +01:00
Themaister
5292191b63
Add some logging to OpenSL.
2013-01-18 01:10:18 +01:00
Themaister
aadff4658f
Use OpenSL in a more correct fashion.
2013-01-18 01:10:18 +01:00
twinaphex
70e64897be
Fixes PC build
2013-01-17 14:24:26 +01:00
twinaphex
3b43155b06
rarch_console_rsound.c code moved to audio/utils.c
2013-01-17 14:21:49 +01:00
Themaister
f3309b8997
Compiled XAudio as C++.
...
No point hacking around with vtables in C and shit ...
2013-01-11 01:13:55 +01:00
twinaphex
6795d74025
(XAudio2) Fix Xbox360 build
2013-01-10 16:33:29 +01:00
Themaister
b1eb277d1f
Actually use 2.7 CLS id ...
2013-01-10 16:39:39 +01:00
Themaister
bd483fbb6b
Use XAudio2 2.7 CLS.
2013-01-10 16:33:14 +01:00
Themaister
a0f12d6887
Correct XAudio2 interface.
2013-01-10 16:22:39 +01:00
Themaister
dec73e17ef
Refactor out some redundancies.
2013-01-10 11:05:55 +01:00
Themaister
f3da29706c
Fix build on Windows.
2013-01-10 10:55:14 +01:00
twinaphex
cd28dbcd92
(360) Uses the same Xaudio header now as PC
2013-01-10 02:46:35 +01:00
twinaphex
436f05709b
(360) Xaudio2 360 driver uses same C backend file as PC now
2013-01-10 01:53:37 +01:00
twinaphex
11c1d149d6
(Xaudio) indenting nits
2013-01-09 22:17:43 +01:00
twinaphex
589b5eefdb
(360) 360 audio driver now goes through the same Xaudio driver
...
as PC
2013-01-09 22:04:28 +01:00
twinaphex
05863ffe31
(360) Move xaudio.h header to audio/xaudio-c/xaudio_xdk360.h
2013-01-09 20:57:20 +01:00
ToadKing
aed2aa146c
copyrights
2013-01-04 15:02:40 -05:00
ToadKing
fd0bb1b3ee
make alsathread a seperate audio driver
2013-01-04 14:58:34 -05:00
Themaister
0b4cf2d053
Update license headers to 2013.
2013-01-01 01:41:15 +01:00
Themaister
e3a0668f55
Fix segfault when samples < 8 on NEON.
2012-12-28 21:25:41 +01:00
Themaister
6bb2349833
Kill off external driver plug interfaces.
...
These are too much work to maintain, and aren't really all
that useful.
2012-12-22 11:37:15 +01:00
OV2
a193bac6a1
Fix hermite compile
2012-12-19 20:01:12 +01:00
twinaphex
5598c75071
(OpenSL) Get rid of Android-specific hack
2012-12-11 14:16:47 +01:00
notaz
f6de3722ef
(utils_neon) Don't use callee-save registers
2012-12-09 18:58:47 +02:00
notaz
17f42531c3
(sinc_neon) Don't use callee-save registers
...
fixes a crash on ARM Linux.
2012-12-09 18:30:05 +02:00
notaz
16edc7c80e
Add ARM NEON support for main build.
2012-12-09 18:30:04 +02:00
twinaphex
242d2d0d65
(Android) Fixes crippled performance on 4.1 (Jelly Bean) - I thought
...
4.1 - Jelly Bean - had a fast SL mixer? How to get lower latency with
this then?
2012-12-08 18:10:08 +01:00
twinaphex
3a3953aef3
(Android) Add back PHOENIX_LEGACY hack because new Phoenix frontend
...
doesn't work yet for me
2012-12-08 12:58:16 +01:00
twinaphex
ecc2376e6f
(Phoenix Legacy) Adding back phoenix legacy for now
2012-12-08 12:37:00 +01:00
Themaister
4adf390486
Actually align samples to 8.
2012-12-05 23:17:07 +01:00
Themaister
eba6cfa3eb
Fix build for NEON.
2012-12-05 23:04:44 +01:00
Themaister
36c595335b
NEON optimized s16->float->s16.
2012-12-05 22:45:29 +01:00
twinaphex
2c2328d8a0
(NEON) Change WANT_NEON define back to HAVE_NEON
2012-12-04 07:57:31 +01:00
twinaphex
6a7e03aadb
(Android) Fix sound - don't fix samplerate at 44Khz
2012-12-03 03:21:10 +01:00
twinaphex
7403faa608
HAVE_NEON define seems to give problems - WANT_NEON seems to work
...
- so quick-fix hack for now
2012-12-03 00:20:21 +01:00
twinaphex
63cf9247f1
(Hermite) Add log
2012-12-02 23:53:08 +01:00
twinaphex
1c9dec56a8
(NEON/Android) Some fixes
2012-12-02 23:50:32 +01:00
Themaister
2b04e1ece6
Start adding NEON sinc.
2012-12-03 00:22:51 +01:00
Themaister
511995311f
Fix very stupid SINC bug.
...
Note to self: Don't write code when you're
an emotional wreck.
2012-12-02 16:57:04 +01:00
Themaister
92616a66a7
Fix variable shadowing in hermite.
2012-12-02 10:51:28 +01:00
twinaphex
a2b0f9afb6
(Android) Set audio_out rate to 44100
2012-12-02 09:09:33 +01:00
twinaphex
623822126a
(Android) Set buffer count to 4 instead of 8 for Jelly Bean and
...
higher - test experimental lower latency for fast OpenSL mixer
2012-12-02 07:32:28 +01:00
Themaister
78d0edc4aa
Don't use a crazy large phase LUT.
2012-11-29 17:27:21 +01:00
Themaister
c1a00fac4d
Improve ratio accuracy in SINC.
2012-11-29 11:49:57 +01:00
Themaister
f2e02bde1e
Guard against high frequency aliasing a bit.
2012-11-25 14:54:07 +01:00
Themaister
ccd1449aa8
Fix hermite cracking when ratio < 1.0.
2012-11-25 12:32:24 +01:00
twinaphex
aae3b10169
Move baked-in dependencies to 'deps' directory
2012-11-20 03:34:45 +01:00
twinaphex
1d99cb62a2
(Xbox 1) Build fixes - don't compile in pragma comments for
...
XBOX
2012-11-15 14:24:56 +01:00
Themaister
0e729bcaa0
Style nits.
2012-11-15 09:40:31 +01:00
OV2
54d39dff74
win32: make d3d9 compile in msvc, add linker pragmas to source files
2012-11-14 21:07:06 +01:00
Themaister
752b7608e7
Fix audio test.
2012-11-07 23:42:23 +01:00
Themaister
6421fe248b
Optimize SINC resampler.
...
Trade memory for performance. Avoid using linear interpolation
between phases.
2012-11-07 23:27:31 +01:00
Themaister
bebe0d78a7
Optimize sinc for AVX as well.
...
Disable it for now however, as it's slightly slower
than SSE1 for the few taps we're using.
From testing, it's 10-20% faster when number of taps are increased.
The AVX path might need some more tuning, but it's fair to
assume the algorithm is memory bound.
2012-11-06 18:52:09 +01:00