Commit Graph

787 Commits

Author SHA1 Message Date
twinaphex
e2b5681652 Some header include changes 2015-01-13 22:11:26 +01:00
twinaphex
3334e83361 Move Xaudio C interface to audio/drivers 2015-01-13 00:25:01 +01:00
twinaphex
2679c3d5c2 Rename audio/utils.c to audio/audio_utils.c 2015-01-13 00:19:46 +01:00
twinaphex
ef79bb7242 Rename dsp_filter.c to audio_dsp_filter.c 2015-01-13 00:13:28 +01:00
twinaphex
6cdaa4e282 (MSVC) Build fixes 2015-01-12 22:47:12 +01:00
twinaphex
bbc6a5cee4 Move rsound.c to audio/drivers 2015-01-12 22:28:59 +01:00
twinaphex
11bcc24c58 Rename some more files 2015-01-12 22:11:13 +01:00
twinaphex
8b95cfe6e3 Get rid of RARCH_INTERNAL-specific code in resampler.c 2015-01-12 21:12:48 +01:00
twinaphex
e59dace9e1 (audio/resampler) Some changes 2015-01-12 21:02:13 +01:00
twinaphex
7283ce17bc Move audio_driver.c to audio/ 2015-01-12 18:09:31 +01:00
twinaphex
a3dc6203b2 Rename option_k local variables 2015-01-12 17:16:14 +01:00
twinaphex
b9ab7a545d Move psp and gx drivers to gfx/drivers 2015-01-12 06:55:31 +01:00
twinaphex
98f35db95c (PSP) Build fixes and rename sdk_defines.h 2015-01-12 06:51:57 +01:00
twinaphex
2d66cdc3e7 Move joypad drivers to input/drivers_joypad 2015-01-12 06:28:39 +01:00
twinaphex
1753430d68 MOve audio drivers to audio/drivers 2015-01-12 05:05:56 +01:00
twinaphex
751f2b7403 (SDK) Move fifo_buffer.c to libretro SDK 2015-01-11 05:43:10 +01:00
twinaphex
27d9441ffa (ALSA) Some simplifications 2015-01-10 04:26:19 +01:00
twinaphex
4d7d58930c Document gfx_context.c 2015-01-09 23:32:32 +01:00
twinaphex
e28f7c4862 Start documenting resampler.c 2015-01-09 23:04:05 +01:00
twinaphex
2ba1a3a527 Start documenting audio_thread_wrapper.c
Also - early returns if thr is NULL, and move declaration of
variables to top
2015-01-09 22:47:53 +01:00
twinaphex
99c9afa5cd Update PATH_MAX to PATH_MAX_LENGTH 2015-01-09 18:04:29 +01:00
twinaphex
6abd887fc8 Document audio/utils.c 2015-01-09 01:43:57 +01:00
twinaphex
97f0d94c30 Declare variables at top of function 2015-01-09 01:31:36 +01:00
twinaphex
9fee7f5c80 (audio/dsp_filter.c) Cleanups 2015-01-07 21:43:28 +01:00
twinaphex
6d5e719f99 Update header 2015-01-07 19:30:10 +01:00
twinaphex
ecf499c588 Update headers 2015-01-07 18:24:13 +01:00
twinaphex
3692bb2185 Update headers 2015-01-07 18:17:42 +01:00
twinaphex
4c3d0fea3b (audio/resamplers/nearest) Nit 2015-01-06 22:54:52 +01:00
twinaphex
1e3686df40 Change audio_resampler_driver to 'OPTIONS' 2014-12-31 20:17:53 +01:00
twinaphex
c6cc3b8d90 CXX_BUILD - Fix some undefined reference linker errors 2014-11-29 21:18:45 +01:00
Lioncash
3ad3625271 xaudio: Fix a typo in xa_stop
Pretty sure we should set the pause var to true on stopping.
2014-11-14 22:55:44 -05:00
twinaphex
4a45308016 Rename gfx/filters and audio/filters to gfx/video_filters and audio/audio_filters
respectively
2014-10-29 07:51:23 +01:00
twinaphex
790775bc5f (filters) Kill some header include dependencies 2014-10-23 04:19:23 +02:00
twinaphex
c2dfdf75cd (resamplers) Omit some unnecessary header includes 2014-10-22 06:54:46 +02:00
twinaphex
2997af48fa Move config-file code to SDK 2014-10-22 03:35:04 +02:00
twinaphex
174d011bed Move dir_list to SDK 2014-10-22 01:13:05 +02:00
twinaphex
9a9fa6532a Move file_path.c to libretro SDK 2014-10-22 00:23:06 +02:00
twinaphex
383eb08988 Don't have file_path.h include dir_list.h 2014-10-21 18:46:39 +02:00
twinaphex
7472922ee0 Move compat/ over to libretro SDK 2014-10-21 07:58:58 +02:00
twinaphex
480cd7c7ba Move msvc_compat.h to compat/ dir 2014-10-21 06:06:12 +02:00
twinaphex
c62d52de0f Start properly implementing libretro SDK for boolean.h include
header, glsym, and rthreads
2014-10-21 05:05:52 +02:00
twinaphex
ca79265e4b Rename thread wrapper as rthreads - make it part of the libretro SDK 2014-10-21 03:25:59 +02:00
twinaphex
4f2e52a36f Get rid of some more header dependencies 2014-10-21 02:59:04 +02:00
twinaphex
031e8ebf1d (sinc resampler) Rename sinc variable to _sinc 2014-10-21 01:12:22 +02:00
twinaphex
c111f4f1ac sinc.c - rename index variable 2014-10-20 23:28:47 +02:00
twinaphex
4f0d124793 Don't include stdio.h where not needed 2014-10-16 07:27:42 +02:00
Twinaphex
246b3b8d87 (audio_thread_wrapper.c) Fix 'declaration shadows variable(s) in global scope' warnings 2014-10-14 18:56:40 +02:00
Twinaphex
1cde5270aa resampler.c - Fix 'delcaration shadows a variable in global scope' 2014-10-14 18:49:59 +02:00
Toad King
d3047e6f59 try to fix audio pops on game loading on GX 2014-10-12 19:22:47 -05:00
twinaphex
96834c8795 (Resamplers) Some C89 build fixes 2014-10-03 22:52:35 +02:00
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