twinaphex
e57963a394
coreaudio_set_nonblock_state - check if pointer is non-NULL
2014-10-03 17:00:35 +02:00
aliaspider
81254c13d9
(PSP) add new resampler parameters to resampler_CC_init.
2014-10-02 20:54:46 +01:00
twinaphex
3a2f3755ad
Rename some files
2014-10-01 23:27:52 +02:00
twinaphex
a35c61ec90
(Audio driver) Add 'alive' function callback
2014-10-01 21:42:19 +02:00
twinaphex
1a94f14e50
Move recording and resampler drivers to 'driver' global struct -
...
moving it outside of g_extern
2014-09-30 21:23:00 +02:00
twinaphex
d4fcdba6cd
(Resampler) Start hooking up config code bit by bit
2014-09-26 17:05:24 +02:00
twinaphex
3e33697dc8
Update rarch_resampler typedef struct
2014-09-26 16:49:03 +02:00
twinaphex
73de119a84
(Resamplers) Add RESAMPLER_API_VERSION
2014-09-26 16:36:36 +02:00
twinaphex
72ea0f5b13
(Resamplers) Pass SIMD mask to resampler implementations
2014-09-26 16:13:10 +02:00
twinaphex
9abaa15873
(Resampler code) Cleanups
2014-09-26 15:50:24 +02:00
twinaphex
ce6c884724
Take out HAVE_CC_RESAMPLER define
2014-09-24 09:39:41 +02:00
twinaphex
3ad9cb5182
Make resampler code more export-friendly
2014-09-23 07:20:10 +02:00
twinaphex
75bc44fc8e
Add some RARCH_INTERNAL checks to resampler code to make it
...
easier to export outside
2014-09-23 07:06:26 +02:00
aliaspider
40032aafb2
CC resampler: align internal buffer correctly.
2014-09-22 11:20:06 +01:00
aliaspider
7899dea89f
add NEON optimizations for the CC resampler.
2014-09-22 08:28:24 +01:00
aliaspider
493a8aea2d
fix resampler tests.
2014-09-17 19:07:40 +01:00
aliaspider
d1a785823d
add a faster (approximated) version of the CC resampler using SSE
...
intrinsics
2014-09-17 19:06:53 +01:00
twinaphex
bd4f28af21
Move audio_frame_float typedef struct to resampler.h
2014-09-16 00:54:18 +02:00
twinaphex
8dc95da1ac
(Nearest Resampler) C89 build fixes
2014-09-16 00:27:23 +02:00
twinaphex
07d86c7ac3
Create config_file_userdata.c
2014-09-15 21:25:40 +02:00
twinaphex
49f9f4b5fd
(dspfilter.h) style/indent nits
2014-09-15 21:00:03 +02:00
twinaphex
d32f63b6ed
(nearest.c) style nits
2014-09-13 01:48:33 +02:00
twinaphex
d4a4dd14bf
Add 'nearest' resampler
2014-09-13 00:10:15 +02:00
twinaphex
75d2e13dcb
Make drivers non-const
2014-09-11 07:06:20 +02:00
twinaphex
478fa43261
(Rsound) Build fix
2014-09-11 00:51:46 +02:00
twinaphex
4093aeeccf
(Audio) Indenting/style nits
2014-09-09 22:24:29 +02:00
twinaphex
7e1764f095
(audio/utils.c) indenting nit
2014-09-09 22:07:22 +02:00
twinaphex
0d4cacfd9b
(Resamplers) Identing/style nits
2014-09-09 22:06:18 +02:00
twinaphex
598421e7d7
Move resampler drivers to audio/resamplers
2014-09-09 21:54:41 +02:00
twinaphex
07ee234d5d
(Audio) Set write_avail and buffer functions to NULL so far
2014-09-09 21:44:39 +02:00
twinaphex
8df3a51790
(Audio) Implement missing use_float function for audio drivers
2014-09-09 21:42:10 +02:00
twinaphex
c6c1fbbf0a
Style nits
2014-09-09 05:56:12 +02:00
Lioncash
6b84ccdcef
Make some functions static
2014-09-06 00:10:52 -04:00
Twinaphex
66427db631
Merge pull request #942 from lioncash/unused
...
Remove some unused variables.
2014-09-06 03:40:56 +02:00
Lioncash
ab1ab62a6d
Fix some printf specifiers to the correct signed-ness
2014-09-05 19:43:32 -04:00
Lioncash
a7aa077cc6
Remove some unused variables.
2014-09-05 19:27:46 -04:00
Mike Robinson
addbcc6487
Fix buffer overflow in JACK audio driver
...
retroarch.c:flush_rewind_audio() can potentially send up to
audio_data.rewind_buf of 2048 frames (4096 samples) to audio_flush().
rarch_resampler_process() can potentially multiply the number of
frames by AUDIO_MAX_RATIO, to 32768 frames.
audio/jack.c:write_buffer() allocates a buffer of only 2048 frames on
the stack, which can overflow. This reliably happens when rewinding in
slow motion.
Multiply the JACK driver buffer by AUDIO_MAX_RATIO to prevent overflow.
However, DSP can also adjust the number of frames without limit. There
is no DSP_MAX_RATIO, so check the number of frames in
audio/jack.c:write_buffer() and truncate if they will not fit the
buffer. This will cause garbled audio, but in practice it is unlikely
to occur (DSP plugins do not usually add frames, flush_rewind_audio()
does not usually send the maximum possible number of frames).
2014-08-31 15:50:34 +01:00
twinaphex
b1871b54c3
(audio/dsp_filter.c/audio/sinc.c) Remove more extraneous elses
2014-08-27 03:31:19 +02:00
twinaphex
cec2afe6cb
Get rid of some extraneous elses
2014-08-27 03:11:06 +02:00
twinaphex
5c2006c072
Remove extraneous elses
2014-08-27 02:06:39 +02:00
Higor Eurípedes
e88f3b4355
(SDL) Fix double initialization
...
Signed-off-by: Higor Eurípedes <heuripedes@gmail.com>
2014-08-19 16:55:32 -03:00
twinaphex
0bd97eb1ba
(SoftFilter) Bump up API version - start supporting config files
...
(stub for now)
2014-08-19 17:05:47 +02:00
twinaphex
9203160abe
Move xenon drivers to input/audio
2014-08-15 21:11:26 +02:00
twinaphex
4a17a7b832
(GX) Build fix
2014-08-15 21:08:56 +02:00
twinaphex
49e9e97f38
Refactor resampler.c
2014-08-15 18:17:44 +02:00
twinaphex
88af50ab82
Add null drivers
2014-08-14 03:05:44 +02:00
Higor Eurípedes
16e0d24e17
(SDL*) Properly initialize SDL library/subsystems
2014-08-11 19:47:30 -03:00
Higor Eurípedes
f53b67aab7
(SDL2) Use sdl_audio.c as audio driver
2014-08-10 19:54:49 -03:00
twinaphex
fbb0b57cae
Use __ARM_NEON__ define instead of HAVE_NEON
2014-07-26 20:18:37 +02:00
Themaister
cae625e489
Copy def_audio_resampler, not def_audio.
2014-07-18 19:17:59 +02:00
twinaphex
dbf239f8d4
(Settings data) Add default audio resampler option
2014-07-18 19:11:53 +02:00
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
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
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
TwinAphex51224
d5bb5fd7af
(Xbox 1)) Changes
2012-06-24 21:25:11 +02:00
Themaister
e5b3a61f9f
Replace use of unsafe strtok() with strtok_r.
...
Implement compatibility for strtok_r() on Win32.
2012-06-24 02:37:19 +02:00
Themaister
acda9dea35
Forgot to commit null drivers ...
2012-06-20 00:44:40 +02:00
Themaister
2b712f5f46
Avoid ifdef.
2012-05-22 15:34:53 +02:00
Themaister
4debf60bad
Do not output FFT sanity test to stdout.
2012-05-08 13:02:29 +02:00
Themaister
bc604f5029
Output SNR results to CSV.
2012-05-08 12:55:12 +02:00
Themaister
3878e81ce4
Improve SNR measurement.
2012-05-08 12:14:03 +02:00
Themaister
6b6e1556f6
Clean up ALSA plug a bit.
2012-04-25 19:49:56 +02:00
Themaister
b95b101a37
Add compat to external APIs.
2012-04-21 23:36:55 +02:00
Themaister
ce740f8948
More fixups.
2012-04-21 23:31:57 +02:00
Themaister
aab8fb6151
ssnes_* => rarch_*.
2012-04-21 23:25:32 +02:00