Commit Graph

198 Commits

Author SHA1 Message Date
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
Themaister
330e724f34 Use vec_madd instead of vec_mul.
vec_mul was apparently a POWER7 instruction.
2012-11-06 09:26:28 +01:00
twinaphex
876bf69a80 (PS3) Hack around vec_mul not being supported for PS3 VMX/Altivec
for now
2012-11-06 03:33:00 +01:00
Themaister
61a5b42ee7 Purge some more fixed point cruft. 2012-11-03 23:03:57 +01:00
Themaister
aaefdbf27e Remove lingering HAVE_FIXED_POINT define. 2012-11-03 23:02:27 +01:00
Themaister
91edc8ff49 Add volume control.
It imposes no performance loss as it is performed
during s16->float conversion.

It is however grouped together with check_mute.
2012-11-03 14:15:03 +01:00
twinaphex
34f5d0ceb6 Revert "(OpenSL/Android) Reduce latency by going from 8 to 6 buffers"
This reverts commit 26d6d18a02.
2012-11-01 21:08:04 +01:00
twinaphex
26d6d18a02 (OpenSL/Android) Reduce latency by going from 8 to 6 buffers 2012-11-01 20:21:07 +01:00
Themaister
50d6080af5 Print more sensible output for SNR. 2012-10-31 00:03:15 +01:00
Themaister
ff9167f56b Remove obsolete fixed-point test. 2012-10-30 23:54:30 +01:00
twinaphex
670289839f (Android/OpenSL) Improved latency - still not good enough though 2012-10-30 17:33:33 +01:00
twinaphex
fb25f31598 (Android/OpenSL) Bigger audio buffers - bigger latency/longer
delay in audio, but no audio breakup - also applied -O3 and -funroll-loops
for Android Makefile - seems to help
2012-10-30 05:25:14 +01:00
twinaphex
033e94acfd (Android) Force audio input control rate in OpenSL ES driver 2012-10-30 03:50:18 +01:00
twinaphex
492bbc7d78 (OpenSL) Fix derp 2012-10-30 00:48:16 +01:00
Themaister
16d67a43cd Add rate-control interfaces to SL. 2012-10-30 00:40:05 +01:00
Themaister
d9a903b293 Revert "Might improve audio performance in SL."
This broke stuff.
2012-10-30 00:37:00 +01:00
Themaister
5812a5e445 Might improve audio performance in SL. 2012-10-30 00:20:32 +01:00
twinaphex
6e79dd6046 (OpenSL) Fixed fall-through in sl_init 2012-10-30 00:05:24 +01:00
twinaphex
dccfb80010 (OpenSL) compiles now 2012-10-30 00:01:47 +01:00
Themaister
1554f8ce2d Rewrite OpenSL driver (untested).
Use openal-soft-android as a starting point.
2012-10-29 23:55:36 +01:00
Themaister
c92f1e8281 Do not fail in OSS if write() returns 0. 2012-10-23 22:27:15 +02:00
twinaphex
497f4dfb31 (OpenSL ES) Add workaround for OutputMix - setting volume not working
with Android OSL ES implementation - seems to fail at init now though
2012-10-18 08:03:21 +02:00
twinaphex
943ee288e1 (OpenSL ES) memset pcmData to 0 at init 2012-10-18 07:51:57 +02:00
twinaphex
26fcdae48b (OpenSL ES) Small nits 2012-10-18 07:33:45 +02:00
twinaphex
161afd98dc (OpenSL ES) OpenSL init seems to work now despite OutputMix interface
apparently being unsupported on Android. Included note for workaround.
2012-10-18 07:28:56 +02:00
twinaphex
6bf7c3cb06 Update credits for collaborated files 2012-10-18 06:06:55 +02:00
twinaphex
63238d3b67 (OpenSL) Add preliminary driver - OpenSL ES implementation in NDK
is a half-baked, half-implemented hackfest, so will have to go over
Android-specific examples to get this to work
2012-10-18 05:46:09 +02:00
Themaister
be7a63932f Remove output_rate from DSP plug. 2012-10-16 12:54:58 +02:00
Themaister
d027287d71 Leave some notes about downsampling. 2012-10-16 12:54:58 +02:00
Themaister
a22193d83d Fix potential crash in hermite as well. 2012-10-15 23:13:51 +02:00
Themaister
34713f40d1 Fix spurious segfaults when ratio dips below 1. 2012-10-15 22:53:05 +02:00
twinaphex
174c7d9d98 (RARCH_CONSOLE) g_console struct removed now - console settings
now a part of g_extern and also compiled in for PC - will use
this for RMenu
2012-10-15 06:25:12 +02:00
Themaister
11b9f039b2 Remove some useless ifdefs. 2012-10-14 23:22:16 +02:00
Themaister
b8abf34785 Purge some now useless code.
Removes manual input rate adjustments.
Don't allow DSP plugs to resample as it would complicate things alot
with dynamic rate control.
Also purges optional ssnes_* symbols for external plugs.
2012-10-13 20:22:45 +02:00
Themaister
254e711e2d Comment out spammy error message. 2012-09-25 13:33:11 +02:00
Themaister
c472688663 Do not segfault when snd_pcm_avail_update() fails. 2012-09-24 16:40:51 +02:00
Themaister
d4712d97c9 Fixup error checking in ALSA. 2012-09-14 21:41:58 +02:00
Themaister
82d726f6dd Add some diagnostics for ALSA. 2012-09-10 21:25:03 +02:00
Themaister
6a169513c9 Allow ~/ to be used in config for regular paths on *nix. 2012-09-07 22:20:49 +02:00
Themaister
29a1e7ac27 Purge some still lingering SSNES-isms. 2012-09-07 21:56:26 +02:00
twinaphex
eca2c09fdd (Xbox 1 RMenu) Add sound volume level setting 2012-08-22 16:59:12 +02:00
Themaister
2234073c2f Readding static to globals in dsound. 2012-08-17 23:20:08 +02:00
twinaphex
6a08c92ada (Xbox 1) Cut down on some static variables 2012-08-17 17:45:14 +02:00
Themaister
bfdb1615b5 Style nitting. 2012-07-25 04:50:46 +02:00
freakdave
64378ea072 (Xbox 1) Fixed low volume issue 2012-07-19 16:53:24 +02:00
twinaphex
c676341404 (Xbox 1) DirectSound works 2012-07-08 19:30:19 +03:00
Themaister
45481634f2 Add tests for fixed point sinc. 2012-07-06 17:04:54 +01:00
Themaister
7b12182a0f Add optional fixed point resampler. 2012-07-06 17:36:37 +02:00
TwinAphex51224
e4e7216b90 Revert rarch_stdint.h references 2012-06-24 21:55:36 +02:00