Commit Graph

1237 Commits

Author SHA1 Message Date
twinaphex 810a2ea47c (Xaudio) Xbox build fixes 2015-11-17 11:17:18 +01:00
Twinaphex 0447c1b442 Merge pull request #2293 from aliaspider/master
(3DS) - add an audio driver using the DSP.
2015-10-27 01:38:38 +01:00
aliaspider aeeb2a62d6 (3DS) - add an audio driver using the DSP.
- add some hooks to inspect memory usage.
2015-10-27 01:06:34 +01:00
twinaphex db5d8d248b Create new char_list_new_special 2015-10-26 19:41:20 +01:00
twinaphex b9febe2eed Add void pointer to string_list_special_new 2015-10-26 19:16:20 +01:00
twinaphex dc01514db1 Finished with code de-duplication 2015-10-26 18:41:13 +01:00
twinaphex bb10bc06b7 (string_list_special.c) Code de-duplication 2015-10-26 08:52:25 +01:00
twinaphex 02a43c6b2a Change 'rarch' to 'retro' namespace in libretro-common 2015-10-26 03:18:13 +01:00
aliaspider 339acfecf1 (CTR/3DS) update code to use ctrulib/great-refactor 2015-10-21 15:41:06 +01:00
twinaphex 10b1d121c6 Should fix audio filters regression 2015-10-03 22:23:23 +02:00
twinaphex ba1ef9c3c2 (MSVC) Buildfixes 2015-10-02 17:57:37 +02:00
twinaphex 1f1d58bf61 (audio_dsp_filter.c) Buildfix 2015-09-29 18:13:10 +02:00
twinaphex 87d44af218 Static code analysis cleanups 2015-09-29 18:08:33 +02:00
twinaphex 28b9ac73ad (audio_dsp_filter.c) Refactor code flow 2015-09-29 16:55:58 +02:00
twinaphex 02a5d738fe Static code analysis cleanups 2015-09-28 23:00:22 +02:00
Twinaphex 4f02326171 Merge pull request #2179 from aliaspider/master
(CTR/3DS) improve audio/video sync.
2015-09-28 21:50:10 +02:00
aliaspider 48ec5190ba (CTR/3DS) improve audio/video sync. 2015-09-28 20:09:07 +01:00
twinaphex b1c47d686c More static code analysis nits 2015-09-28 18:55:07 +02:00
twinaphex 6db07f7fd8 (xmb.c) Correct faulty usage of calloc 2015-09-28 18:49:32 +02:00
twinaphex 0cc56e2a1a More static code analysis nits 2015-09-28 18:44:28 +02:00
twinaphex 631da50dfa More static code analysis nits 2015-09-28 18:22:27 +02:00
twinaphex 4ca5d31f9b Some more static code analysis nits when ran with enable=all 2015-09-28 18:12:02 +02:00
twinaphex b5456bc940 Another static code analysis fix 2015-09-28 17:01:41 +02:00
twinaphex d482dba2eb More static code analysis fixes 2015-09-28 16:57:22 +02:00
Twinaphex 6647eab237 Merge pull request #2178 from aliaspider/master
(CTR/3DS) audio: add missing callbacks needed by DRC.
2015-09-28 16:51:02 +02:00
aliaspider ec284a5db0 (CTR/3DS) change ctr_buffer_size to ctr_audio_buffer_size 2015-09-28 15:42:07 +01:00
aliaspider 40e2e7d636 (CTR/3DS) audio: add the missing callbacks needed by DRC and
compute_audio_buffer_statistics.
2015-09-28 15:39:30 +01:00
twinaphex a79b571d7b Static code analysis fixes 2015-09-28 16:20:26 +02:00
aliaspider e78136c38f (CTR/3DS) wait for audio channels playback start when setting playpos to
0.
2015-09-27 13:59:11 +01:00
aliaspider 6370f797b3 (CTR/3DS) start both left and right audio channels at the same time. 2015-09-27 13:48:23 +01:00
twinaphex 0d18c61bc5 Add RARCH_MAIN_CTL_IS_PAUSED 2015-09-26 13:04:07 +02:00
twinaphex cc4a918296 Create rarch_main_ctl 2015-09-26 12:58:02 +02:00
twinaphex 5465da0139 Rename rarch_sleep to retro_sleep 2015-09-22 18:55:14 +02:00
twinaphex 8ba2045349 Add retro_file to audio/tests 2015-09-20 15:53:05 +02:00
twinaphex 2b840c0384 Refactor perf counters 2015-09-20 10:02:59 +02:00
twinaphex 4e398e7992 Use strlcpy everywhere 2015-09-19 15:30:15 +02:00
sergiobenrocha2 5600178879 Use flags from the system to build the filters, will avoid hardening-no-relro. 2015-09-18 03:29:39 -03:00
Francisco José García García 50172454d2 (Vita) Remove -U__ARM_NEON__ 2015-09-18 01:21:24 +02:00
twinaphex 7f946eb972 (Vita/PSP) Code de-duplication 2015-09-16 10:39:30 +02:00
Twinaphex 9d69e1992d (coreaudio.c) No longer use pthreads directly 2015-09-16 09:07:38 +02:00
twinaphex 4ccbee5d8d Update headers 2015-09-14 03:44:06 +02:00
Twinaphex da3dd316b5 (CoreAudio) Include retro_endianness.h 2015-09-14 03:36:59 +02:00
twinaphex 8ca8b43545 Take out retro_endianness.h include out of retro_miscellaneous.h 2015-09-14 03:34:05 +02:00
twinaphex e45cd48547 Cleanups 2015-09-13 06:40:29 +02:00
twinaphex d6809537b0 (audio/test) Some buildfixes 2015-09-13 04:08:18 +02:00
twinaphex 7f9761afb6 Create kaiser_window_function/lanzcos_window_function 2015-09-13 03:43:59 +02:00
twinaphex c4d46ce09f Cleanups 2015-09-13 01:08:36 +02:00
twinaphex 1fbc83f51e CLeanups 2015-09-12 22:27:58 +02:00
twinaphex 4a818c24ea (cc_resampler.c) Simplifications 2015-09-12 22:11:02 +02:00
twinaphex b52bb48635 (cc_resampler.c) Minor nits 2015-09-12 21:19:38 +02:00
twinaphex 5adc85a207 Create libretro-common/include/filters.h 2015-09-12 21:04:20 +02:00
twinaphex 07de6af33e dsound.c - Include windows.h header too 2015-09-06 16:03:30 +02:00
twinaphex 120d4a00b2 (MSVC) Buildfix 2015-09-06 16:00:53 +02:00
Alcaro 3072f556f2 Buildfix - MinGW mmreg.h is buggy, work around that. 2015-09-06 15:47:43 +02:00
twinaphex 040cd0c438 dsound.c - buildfix 2015-09-06 15:40:31 +02:00
twinaphex 3067cfa602 (dsound.c) Only include mmreg.h if MSC_VER is not defined 2015-09-06 15:34:13 +02:00
Alcaro fcbaca9b66 Fix a dozen CXX_BUILD errors under Windows. 2015-09-06 15:29:48 +02:00
twinaphex 12376cd611 dsound.c - Refactor grab_region 2015-09-06 15:23:30 +02:00
Alcaro 9554597160 Add missing header includes, fixes CXX_BUILD. 2015-09-06 14:46:25 +02:00
twinaphex f88575633e Cleanups 2015-09-05 20:34:22 +02:00
twinaphex b2f022ae30 (Win32) Some build fixes 2015-09-05 14:01:40 +02:00
Sergi Granell dcd9f09d17 (Vita) Fix the audio driver 2015-09-02 18:56:05 +02:00
twinaphex 156cdd3295 Create memalign.c 2015-09-02 17:06:02 +02:00
twinaphex bbbc353f28 Add sys/ppu_thread.h headers to ps3_defines.h 2015-09-01 16:12:07 +02:00
twinaphex 26e1de42bf (PS3) Remove custom PNG decoder
(PS3) Add header for sys_ppu_thread_ functions
2015-09-01 16:09:37 +02:00
twinaphex 309bd09cb0 Start adding some more build rules to Makefile.griffin for PSP,
move  some otherwise unused functions to else block
2015-09-01 10:32:36 +02:00
Sergi Granell 96146e5313 (Vita) Update vita2d driver
(Vita/PSP) Name some stuff to vita
2015-08-31 15:26:37 +02:00
CautiousAlbino 173dcd3e4c Retry implementation of include_compressed to dir_list_new.
Problem was that if ext_list wasn't used, an empty list would be
created.
2015-08-30 20:19:41 +02:00
Twinaphex aa382a5c7c Revert "Add include_compressed param to dir_list_new." 2015-08-30 18:36:25 +02:00
CautiousAlbino c4691b2668 Add include_compressed param to dir_list_new.
Do not try to load in compressed archives unless we expect them.
Fixes hang in input autodetect where it tried to parse a zip file as an
archive.
2015-08-30 16:57:34 +02:00
Sergi Granell e60247d4b3 (Vita) Update psp_audio.c 2015-08-30 16:12:45 +02:00
Twinaphex 98f06988d6 Revert "(CoreAudio) Use rthreads"
This reverts commit 626592a7a6.
2015-08-30 10:32:19 +02:00
twinaphex 626592a7a6 (CoreAudio) Use rthreads 2015-08-30 10:25:25 +02:00
twinaphex d92a24377d (ALSA) Don't use messy TRY_ALSA macro 2015-08-30 10:05:13 +02:00
twinaphex 5caf0627f8 Replace some references to sys_timer_usleep 2015-08-29 15:24:23 +02:00
twinaphex cca2dd1713 Get rid of EMSCRIPTEN ifdef 2015-08-20 00:51:56 +02:00
twinaphex e57202ff90 (Vita) psp_audio.c - Some more work 2015-08-12 14:47:39 +02:00
twinaphex 273788cdf9 (Vita) Attempt to reuse PSP1 audio driver for Vita 2015-08-12 12:18:45 +02:00
twinaphex b892f8252b (PSP1) Audio - cleanup 2015-08-12 12:08:30 +02:00
Alcaro ee2ad0c4bd These aren't executable. 2015-08-12 01:31:03 +02:00
radius 828734e007 don't try to autoconfigure GPIO devices 2015-08-11 17:13:25 -05:00
twinaphex 77aa7535c9 MOve all 'define' headers to central place ' defines' 2015-08-10 23:11:40 +02:00
Twinaphex 5bafed71ea removed unused variables 2015-08-05 13:09:11 +02:00
twinaphex b18442dc5a Refactor is_slowmotion 2015-08-05 13:06:44 +02:00
twinaphex ccac72f1e7 Refactor is_paused 2015-08-05 12:58:25 +02:00
twinaphex bd6ee135e9 Take out runloop_t dependencies 2015-08-03 20:03:14 +02:00
twinaphex e9ea6b1584 Change rules for append_plugs 2015-07-27 17:27:16 +02:00
twinaphex 4787c463b6 Backport this - 58748da89d 2015-07-27 00:08:25 +02:00
twinaphex 19542d4f00 Get rid of some superfluous wrapper functions 2015-07-12 11:21:05 +02:00
twinaphex 0189fa2c59 (audio_utils.c) Cleanups 2015-07-10 19:51:09 +02:00
twinaphex 33feed8aa7 (resamplers) Turn some 1-line inline functions into macros 2015-07-10 19:46:52 +02:00
twinaphex 3aff5a3ee2 Set audio callback function pointers to NULL during uninit_audio -
should fix Dinothawr crash when selecting 'Close Content'
2015-07-08 19:08:43 +02:00
twinaphex c6992b3a6a Make audio_driver_callback and audio_driver_callback_set_state
more robust
2015-07-08 18:57:34 +02:00
twinaphex 4ac38a738f (audio_driver.c) Some cleanups 2015-07-08 18:38:46 +02:00
twinaphex 467452a698 Updates pt. 4 2015-07-02 18:55:49 +02:00
twinaphex e0bf3b4ae4 (rewind.c) Updates 2015-07-02 18:23:18 +02:00
twinaphex 018c685b09 C89_BUILD fixes 2015-06-29 21:39:00 +02:00
Alcaro d333bd0f77 Fix more C89 fails. 2015-06-26 19:35:36 +02:00
twinaphex 9ee860c6d9 Some more C89 fixes 2015-06-26 19:15:17 +02:00
twinaphex 7961d82e3c (sinc.c) Cleanup 2015-06-26 17:33:15 +02:00
twinaphex 9358114b9c (nearest.c) Indenting nits 2015-06-26 17:30:30 +02:00
twinaphex bbfe2c4714 (cc_resampler.c) Cleanups 2015-06-26 17:20:54 +02:00
Alcaro 1bbd54f597 Some C89 strict fixes 2015-06-26 17:03:12 +02:00
twinaphex 9bc06346b5 (cc_resampler.c) Some C89 strict fixes 2015-06-26 17:02:52 +02:00
twinaphex 0fa871a296 Use rarch_system_info_get_ptr 2015-06-25 13:46:32 +02:00
twinaphex 6e2bea3b38 (Audio/gfx) Cleanups 2015-06-13 01:18:13 +02:00
Twinaphex 43448e6081 Prevent warning 2015-06-02 17:34:20 +02:00
twinaphex 559ddcac81 Get rid of unused variables 2015-06-02 17:20:14 +02:00
twinaphex e67f3f246d Rearrange header include dependencies 2015-06-02 17:17:46 +02:00
Twinaphex e7595ae493 (CoreAudio) Buildfix 2015-06-02 11:11:35 +02:00
twinaphex 943cb952a7 (coreAudio) Use TARGET_OS_IPHONE 2015-06-02 11:09:54 +02:00
twinaphex dcf4037582 (Audio drivers) Get rid of global state dependencies 2015-05-20 23:01:03 +02:00
twinaphex a053b41223 Create video_viewport_get_system_av_info and video_viewport_get_custom -
move custom viewport and system av info outside of global state
2015-05-20 18:57:17 +02:00
twinaphex 415a983705 Move buffer_free_samples variables to audio_driver.c 2015-05-20 05:27:53 +02:00
twinaphex 398570f017 Move audio callback to audio_driver.c 2015-05-19 21:35:40 +02:00
Twinaphex 56414034a5 Cleanup some unused variables 2015-05-19 21:19:09 +02:00
twinaphex 4afc100924 Move audio_data out of global struct to prevent threading issues 2015-05-19 21:18:07 +02:00
twinaphex fa7293412f (CoreAudio) Define OSX_PPC 2015-04-20 01:33:02 +02:00
twinaphex 1f7482d833 (Emscripten) Integrate header files into actual drivers 2015-04-19 22:01:56 +02:00
Twinaphex 8d6594cb08 Revert "Consistently use HAVE_NEON to include NEON-specific fragments." 2015-04-18 23:40:28 +02:00
Joerg Sonnenberger a016de0bdc Consistently use HAVE_NEON to include NEON-specific fragments.
While GCC only defines __ARM_NEON__ when NEON is explicitly requested,
Clang provides it for all CPUs known/expected to have NEON.
2015-04-18 23:12:00 +02:00
twinaphex 88692cbb07 (CTR) Use rarch_sleep and some style nits 2015-04-18 17:34:14 +02:00
aliaspider 1575b7e87f (CTR/3DS) audio driver: use cpu tick count instead of csndGetState to
determine the playback position.
fixes a random lockup that can happen when calling csndGetState, and
also removes the need to rely on samplePAddr since it doesn't seem to
available on all systems.
2015-04-17 19:50:36 +01:00
twinaphex 2c2fa0ce30 (CoreAudio) Use straight pthread again 2015-04-17 10:54:03 +02:00
twinaphex 0818b178f9 Rename rarch_main_command to event_command 2015-04-13 11:26:02 +02:00
Twinaphex de2eb5f972 Rename RARCH_CMD_* to EVENT_CMD_* 2015-04-13 10:29:15 +02:00
twinaphex 271292045b (audio_driver.c) Refactors 2015-04-11 08:08:57 +02:00
twinaphex 184fe19a79 Implement stub versions of write_avail for SDL and CTR audio drivers 2015-04-11 06:56:02 +02:00
twinaphex 9d607cbc56 (audio_driver.c) Cleanups 2015-04-11 06:48:42 +02:00
aliaspider 3eda95bb7e (3DS) audio driver: prevent an occasional lockup.
add performance counters.
2015-04-10 21:46:42 +01:00
aliaspider 301309304a (3DS) implement the audio driver. 2015-04-10 19:10:34 +01:00
twinaphex 058a66c180 (oss.c) Turn C++ comment into C comment 2015-04-09 07:05:40 +02:00
twinaphex 63c97763e7 (psp1_audio.c) Style nits 2015-04-09 07:01:31 +02:00
twinaphex 474ef82274 (dsound.c) Xbox cleanups 2015-04-09 06:54:12 +02:00
twinaphex 0d13e7a68d (DirectSound) simplify dsound_thread 2015-04-09 06:50:47 +02:00
twinaphex 35ef9a4393 (DirectSound) Don't use scond_t 2015-04-09 06:41:28 +02:00
twinaphex 96f6af7053 (DirectSound) Change 'event' to scond_t 2015-04-09 06:38:05 +02:00
twinaphex 5d8e5ae624 (DirectSound) Use slock_new instead of scond_new 2015-04-09 06:37:06 +02:00
twinaphex 9e10e20b69 (DirectSound) rewrite to use rthreads 2015-04-09 06:34:29 +02:00
twinaphex 27e984d5f2 (xaudio.cpp) Style nits 2015-04-09 06:02:41 +02:00
Monroe88 b138ab8b57 (audio_driver.c) Fix audio DSP filter init 2015-04-06 23:51:16 -05:00
twinaphex 9e56bd2f23 Rename files back to .cpp 2015-04-04 02:36:55 +02:00
twinaphex 2ef32e4a2e (rsound.h) Cleanup 2015-04-03 16:07:54 +02:00
twinaphex 9a989462f1 (rsound) Cleanups 2015-04-03 16:06:57 +02:00
twinaphex c2014087fe Combine xaudio.c and xaudio-c.cpp 2015-04-03 02:29:20 +02:00
twinaphex 5612545b25 (CTR/3DS) Update copyright headers 2015-04-02 01:43:28 +02:00
aliaspider 2045cee432 preliminary 3DS port. 2015-04-01 22:14:13 +01:00
twinaphex d374fb863c Use retro_inline.h for remaining 'inline' instances 2015-03-29 16:43:02 +02:00
twinaphex adf076cc3d Cleanups 2015-03-24 08:31:35 +01:00
twinaphex 3a78276418 (Audio) Implement write_avail always, even if just as a stub 2015-03-24 08:05:19 +01:00
twinaphex d6981c3aad Cleanups 2015-03-23 07:34:18 +01:00
twinaphex c033546303 Create audio_driver_write 2015-03-23 02:51:46 +01:00
twinaphex dc46785c14 Create more audio wrapper functions 2015-03-23 02:44:49 +01:00
twinaphex 4a3507adc1 Create audio_driver_alive 2015-03-23 02:36:13 +01:00
twinaphex 4371a1dcdf Cleanup audio_driver_readjust_input_rate 2015-03-23 02:31:16 +01:00
twinaphex b98d8a47cf (audio/video_thread_wrapper) Style nits 2015-03-23 01:44:36 +01:00
twinaphex e6f0d366cb Go through global_get_ptr 2015-03-21 04:43:18 +01:00
twinaphex 950f15ac2c Updates pt. 2 2015-03-20 21:31:16 +01:00
twinaphex 7bc845006b Start replacing more g_settings usages 2015-03-20 20:43:22 +01:00
twinaphex 6cefa69aa4 Go through settings pointer 2015-03-20 19:48:23 +01:00
twinaphex 3670ef2ac5 Go through driver_get_ptr to grab pointer to driver struct 2015-03-18 19:40:00 +01:00
twinaphex 7378299282 Create rarch_main_get_ptr 2015-03-18 06:47:22 +01:00
twinaphex 142e04ab8c (CoreAudio) Cleanups 2015-03-16 06:42:37 +01:00
Twinaphex a2e138461b (CoreAudio/iOS) scond_wait_timeout returns false when timed out 2015-03-15 16:39:04 +01:00
twinaphex 18ae16c529 (CoreAudio) Use rthreads now 2015-03-15 16:37:57 +01:00
twinaphex 9f088d8e72 (Audio filters) Cleanups 2015-03-15 06:17:51 +01:00
Twinaphex 7a552e61ea (CoreAudio) Cleanups 2015-03-15 05:55:03 +01:00
twinaphex de7a613298 (CoreAudio) Style nits 2015-03-15 05:52:26 +01:00
twinaphex c49fc1c9ec (JACK) Take out pthread.h header 2015-03-15 05:10:52 +01:00
twinaphex 248a3fd40b (JACK) Use rthreads 2015-03-15 05:10:13 +01:00
twinaphex 84e9f2fa7d Use retro_inline throughout 2015-03-15 04:52:46 +01:00
twinaphex 08f59ddbff Use retro_inline.h 2015-03-15 04:41:11 +01:00
twinaphex 00239a30d6 Create wrapper functions for passing a message to the runloop's
message queue
2015-03-15 02:47:23 +01:00
twinaphex e39d5188a3 Move g_extern.measure_data to g_runloop.measure_data 2015-03-07 13:38:21 +01:00
twinaphex 0a0d38ff78 (audio resamplers) use INLINE keyword 2015-02-19 04:00:58 +01:00
twinaphex a33016d457 Renamed libretro-sdk to libretro-common 2015-02-19 00:04:03 +01:00
Lioncash 55e9c2b593 Apply static to some local-only functions 2015-02-13 09:54:45 -05:00
twinaphex 6a38206b42 (audio_utils.c) Buildfix 2015-02-11 22:41:08 +01:00
twinaphex d0e6685d3d Move readjust_input_rate function to audio_driver.c 2015-02-11 17:36:31 +01:00
twinaphex 5c05086455 Start updating audio/test 2015-02-11 02:40:18 +01:00
Alcaro 28e2ca74e7 Double semicolons aren't useful. 2015-02-10 22:29:26 +01:00
twinaphex 889860f791 Create audio_driver_mute_toggle 2015-02-10 21:16:26 +01:00
twinaphex f811164d20 Update audio_utils.c/audio_resampler_driver.c 2015-02-06 17:29:05 +01:00
twinaphex 7bc3a2892d Update 2015-02-06 17:26:01 +01:00
twinaphex 0d624defaa Update audio_utils.c 2015-02-06 17:21:31 +01:00
twinaphex d535be570c (sinc) Kill off compat/posix_string.h dependency 2015-02-05 19:58:50 +01:00
twinaphex 3fd0f14fe2 Update audio_utils.c 2015-02-05 19:41:35 +01:00
twinaphex e75e6ed1be Update resampler drivers to be in sync with Mupen64 - don't
use logging functions here
2015-02-05 19:40:46 +01:00
twinaphex 4ffbadd49c Update audio_resampler_driver.c 2015-02-05 19:22:37 +01:00
twinaphex a7e3f4862b Update 2015-02-05 19:06:18 +01:00
twinaphex a1a81db680 (audio_resampler_driver) Cleanups 2015-02-05 19:04:46 +01:00
twinaphex 5b6d1f4d2c Update config_get_audio_driver_resampler_options 2015-01-30 07:49:04 +01:00
twinaphex 85510aeec0 config_get_audio_driver_options - cleanups 2015-01-30 07:48:05 +01:00
twinaphex fc373630ce Start to approach OSK driver in a different way 2015-01-29 20:33:27 +01:00
twinaphex 2132ccc40c Cleanup audio_monitor_set_refresh_rate 2015-01-18 19:02:28 +01:00
twinaphex e3897c8641 Less dependencies on driver.h 2015-01-18 19:01:13 +01:00
twinaphex 0703b3c867 Add audio_monitor.c files 2015-01-18 18:47:53 +01:00
twinaphex 7f53ca4ab5 audio mute enable is now saved to config file 2015-01-16 23:26:09 +01:00
twinaphex 26ab324727 (OSX 10.6) Fix declaration shadows global variable warnings 2015-01-15 21:10:36 +01:00
twinaphex d3bf87f4d6 (audio_driver.c) More documentation 2015-01-14 23:29:36 +01:00
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
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