summaryrefslogtreecommitdiff
path: root/apps/codecs.h (follow)
Commit message (Collapse)AuthorAge
...
* Misc. buffering related playback tweaksBrandon Low2007-11-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15435 a1c6a512-1295-4272-9138-f99709370657
* Improve upon my hackity hack from before by separating audio into two types: ↵Brandon Low2007-11-02
| | | | | | that which may be large and can be streamed and that which is small and cannot be streamed. While modifying types, allow codecs to split across the buffer wrap and dig out/move around the code that reads a codec off of the buffer to facilitate that simple sounding change. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15408 a1c6a512-1295-4272-9138-f99709370657
* Hide symbols by default on 64 bit sim buildsto avoid clashing, fixes ↵Nils Wallménius2007-10-02
| | | | | | crashing on track change with the same codec, crashing in calculator and text display in midiplay git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14953 a1c6a512-1295-4272-9138-f99709370657
* Commit a subset of the dual core changes that have to do with cache ↵Michael Sevakis2007-09-28
| | | | | | handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14879 a1c6a512-1295-4272-9138-f99709370657
* Initial, work-in-progress, version of a WMA codec using Michael Giacomelli's ↵Dave Chapman2007-07-03
| | | | | | fixed-point and malloc-less WMA decoder (based on the ffmpeg WMA decoder from early 2006, and also building on the work started by Paul Jones). The codec itself and the ASF parsing code were written by me, inspired by the ASF parser in libasf. Current performance is around 400% realtime on gigabeat, 100% realtime on PP and 20% realtime on Coldfire. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13769 a1c6a512-1295-4272-9138-f99709370657
* Minor header file cleanup - try and include the minimal number of files, and ↵Dave Chapman2007-05-07
| | | | | | only where they are needed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13344 a1c6a512-1295-4272-9138-f99709370657
* Clean up the codec API - remove all unused (and in many cases inappropriate) ↵Dave Chapman2007-05-07
| | | | | | functions, move functions used only by encoders into the HAVE_RECORDING part of the API and document the reasons for the more unexpected functions being present. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13343 a1c6a512-1295-4272-9138-f99709370657
* General housekeeping: Make plugin buffer functions take size_t * instead of ↵Michael Sevakis2007-04-21
| | | | | | int * to match the parameter type of the buffer functions called in the core. Get rid of unsafe int * <==> size_t * casting. Use ssize_t where int was used and size_t where unsigned int was used in the buffer calls to not alter signedness in the plugins. No API version change since it should only be an issue for 64-bit sim builds. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13233 a1c6a512-1295-4272-9138-f99709370657
* Let GCC check arguments of some more printf-style functions, also for ↵Jens Arnold2007-03-17
| | | | | | plugins and codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12815 a1c6a512-1295-4272-9138-f99709370657
* Get rid of the 'center' parameter for splashes. There were only 2 of almost ↵Jens Arnold2007-03-16
| | | | | | 500 splashes which were not centered. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12807 a1c6a512-1295-4272-9138-f99709370657
* Bump plugin/codec API versionsDaniel Ankers2007-03-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12604 a1c6a512-1295-4272-9138-f99709370657
* Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - ↵Daniel Ankers2007-03-04
| | | | | | iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
* SWCODEC Recording Codecs: Fix problems with hanging recording screen ↵Michael Sevakis2007-03-04
| | | | | | (chiefly on x5) when no voice file present and source is not FMRadio. Caused by extra audio stops causing encoder to unload prematurely. Fix is to have separate stop flags for each codec type to prevent collisions. Also now safe to plug into USB when recording and encoder will stay loaded and not be stopped by the call to audio_stop_playback. Additional discovery: playback will not be able to restart after a USB plug during recording. Probably an old bug. I recommend in the future that recording have higher priority on system resources than playback and playback be denied access explicitly if recording requires them. Codec API becomes incompatible so do full updates. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12579 a1c6a512-1295-4272-9138-f99709370657
* SWCODEC: Dsp speed optimizations. Changes for more modularity. Removal of ↵Michael Sevakis2007-02-24
| | | | | | some usless stuff. Some assembly routines for Coldfire with speed in mind over size for the outputs but the channel modes remain compact. Miscellaneous coldfire asm updates to accomodate the changes. Codec API structure version has to increase so do a full update. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12472 a1c6a512-1295-4272-9138-f99709370657
* SWCODEC: Annoying neatness update. Use intptr_t for codec_configure_callback ↵Michael Sevakis2007-02-10
| | | | | | and dsp_configure and stop all the silly type casting of intergral types to pointers to set dsp configuration and watermarks. Shouldn't have any effect on already compiled codecs at all. Will fix any important patches in the tracker so they compile. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12259 a1c6a512-1295-4272-9138-f99709370657
* Fix resampling clicking as much as possible at the moment. 1) Upsampling ↵Michael Sevakis2007-02-07
| | | | | | clicked because of size inaccuracies returned by DSP. Fix by simplifying audio system to use per-channel sample count from codec to pcm buffer. 2) Downsampling affected by 1) and was often starting passed the end of the data when not enough was available to generate an output sample. Fix by clamping input range to last sample in buffer and using the last sample value in the buffer. A perfect fix will require a double buffering scheme on the resampler to sufficient data during small data transients on both ends at all times of the down ratio on input and the up ratio on output. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12218 a1c6a512-1295-4272-9138-f99709370657
* Removed unused 'mode' parameter from mkdir() for consistency with creat().Jens Arnold2007-02-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12183 a1c6a512-1295-4272-9138-f99709370657
* Removed 'mode' parameter from creat(). It wasn't pure posix anyway, it was ↵Jens Arnold2007-02-01
| | | | | | ignored on target and mixed into 'oflags' in the simulator. * Simplified io.c a bit by defining a dummy O_BINARY for OSes which don't have that. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12179 a1c6a512-1295-4272-9138-f99709370657
* Simple cpu boost tracker for LOGF builds. Shows the last 64 cpu_boost() ↵Jonathan Gordon2007-01-22
| | | | | | calls from the debug menu git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12087 a1c6a512-1295-4272-9138-f99709370657
* FS#6357, patch 1: let iramcopy and bss share the same space in codecs andTomasz Malesinski2006-11-26
| | | | | | | | | | plugins. Currently, in case of plugins using IRAM bss is cleared twice, once in the loader, once in PLUGIN_IRAM_INIT. For codecs, bss is cleared only during codec initialization. Also, removed double variables in codecs storing a pointer to codec_api. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11606 a1c6a512-1295-4272-9138-f99709370657
* Big Patch adds primarily: Samplerate and format selection to recording for ↵Michael Sevakis2006-11-06
| | | | | | SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
* OopsLinus Nielsen Feltzing2006-09-26
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11058 a1c6a512-1295-4272-9138-f99709370657
* Patch #4899 by Robert Keevil - Automatic pause on iPod when removing the ↵Linus Nielsen Feltzing2006-09-26
| | | | | | headphones git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11057 a1c6a512-1295-4272-9138-f99709370657
* New scheduler, with priorities for swcodec platforms. Frequent taskMiika Pekkarinen2006-09-16
| | | | | | | | | | switching should be more efficient and tasks are stored in linked lists to eliminate unnecessary task switching to improve performance. Audio should no longer skip on swcodec targets caused by too CPU hungry UI thread or background threads. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
* Added FS#2939 Encoder Codec Interface + Codecs by Antonius Hellmann with ↵Michael Sevakis2006-08-28
| | | | | | additional FM Recording support and my modifications git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10789 a1c6a512-1295-4272-9138-f99709370657
* No need to include button.hLinus Nielsen Feltzing2006-07-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10338 a1c6a512-1295-4272-9138-f99709370657
* Put new_track on the codec_api, and use it instead of the reload_codec ↵Brandon Low2006-04-15
| | | | | | variable in most places. Should help with problems people have had with GUI vs. playback sync. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9670 a1c6a512-1295-4272-9138-f99709370657
* Rework track skipping. Full playback stop is no longer involved in track ↵Brandon Low2006-04-11
| | | | | | skipping. Further simplification of the play related functions can be achieved with this in place, but that's for later. Known skip related bug, high pitched noise sometimes, otherwise stuff is better git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9601 a1c6a512-1295-4272-9138-f99709370657
* Initial version of tagcache! There are still some bugs in the engineMiika Pekkarinen2006-03-26
| | | | | | | and much more problems with the UI. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9256 a1c6a512-1295-4272-9138-f99709370657
* Convert playback.c to use unsigned byte counters, and _minor_ refactoring of ↵Brandon Low2006-03-24
| | | | | | buffer callbacks git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9227 a1c6a512-1295-4272-9138-f99709370657
* More 64bit simulator fixes, coinciding with the long policy this time.Jens Arnold2006-03-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8890 a1c6a512-1295-4272-9138-f99709370657
* Rework PCM bufferBrandon Low2006-02-07
| | | | | | | | | | | | | | | * Linked list instead of static array buffer pointers * Variable sized chunks * Improved mix handling * Reduction in duplicated code * Reduced IRAM usage w/o sacrificing performance * Converted to almost entirely unsigned math * Add pause function to reduce pcm_* exposure to playback. This WILL break playback on the iPod until linuxstb makes a followup commit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8612 a1c6a512-1295-4272-9138-f99709370657
* Added memmove() to codec API & plugin API, and changed codeclib and plugin ↵Jens Arnold2006-02-06
| | | | | | libs to use it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8602 a1c6a512-1295-4272-9138-f99709370657
* Remove exported pcm functions. Codecs should never be allowed to accessBrandon Low2006-02-03
| | | | | | | the pcm directly. Only through the callbacks in playback.c. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8544 a1c6a512-1295-4272-9138-f99709370657
* Profiling support, tools and documentation.Brandon Low2006-01-18
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8375 a1c6a512-1295-4272-9138-f99709370657
* New codec loader, using the same mechanism as the new plugin loader. API ↵Jens Arnold2006-01-18
| | | | | | version numbering restarted for the new system. Uses the target ID from configure, so don't change that too often. * Fixed sim_plugin_load_ram() to truncate the tempfile. * Reduced plugin buffer size to 512KB for iriver and iPod. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8362 a1c6a512-1295-4272-9138-f99709370657
* iPod: current_tick is now a variable, so we can export it via the plugin and ↵Dave Chapman2005-12-12
| | | | | | codec APIs git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8225 a1c6a512-1295-4272-9138-f99709370657
* kill gcc4 warningsDaniel Stenberg2005-12-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8162 a1c6a512-1295-4272-9138-f99709370657
* iPod: current_tick is (currently) a macro - so we exclude it from the plugin ↵Dave Chapman2005-11-12
| | | | | | and codec APIs git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7826 a1c6a512-1295-4272-9138-f99709370657
* Ooops.Jens Arnold2005-11-08
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7785 a1c6a512-1295-4272-9138-f99709370657
* Fixed an #if that would never trigger. Added inclusion of dsp.h and ↵Thom Johansen2005-10-10
| | | | | | playback.h, since lots of codecs include these when they really shouldn't have to. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7605 a1c6a512-1295-4272-9138-f99709370657
* Archos recording/playback: (1) Xing header creation: * Now estimates the ↵Jens Arnold2005-09-15
| | | | | | framecount from the recording time if the MAS frame counter saturates, so it always writes a valid Xing header. * Reverted my brainless short-xing-header change. This was only valid for layer 3. (2) Xing/VBRI header evaluation: Fixed possible overflow in bitrate calculation. (3) MPEG thread: Avoid double chunk size limiting for the rare case of 8 MB modded Ondios. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7522 a1c6a512-1295-4272-9138-f99709370657
* Iriver: Changed the IRAM splitting between core and plugins to 48KB/48KB, ↵Jens Arnold2005-09-01
| | | | | | and reduced the main thread stack to 8KB, same size as on archos. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7447 a1c6a512-1295-4272-9138-f99709370657
* Renamed CONFIG_HWCODEC and MASNONE to the more appropriate CONFIG_CODEC and ↵Jens Arnold2005-08-29
| | | | | | SWCODEC, respectively. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7416 a1c6a512-1295-4272-9138-f99709370657
* Major peakmeter rework: * Changed set/get functions for dbfs mode to bool ↵Jens Arnold2005-08-29
| | | | | | type. * Removed performance setting, leaving (slightly adapted) high performance mode only. * Refresh rate is always 20 Hz now. * Readout doesn't do an extra (hidden) peek, should allow for slightly better clip detection. * Brought back high performance peakmeter for recording. Peakmeter stops hogging the CPU when the disk is spinning; this is enough to avoid the performance problem when saving data. * Optimisations, code cleanup and code policeing. * (iriver) Reduced CPU load of peakmeter by not calculating excessive overlaps. ** Bumped config block version, so save your settings before upgrading. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7415 a1c6a512-1295-4272-9138-f99709370657
* Now codecs will do the buffer flushing after seeking as they find itMiika Pekkarinen2005-08-21
| | | | | | | necessary. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7369 a1c6a512-1295-4272-9138-f99709370657
* Initial voice ui support for software codec platforms. Added also aMiika Pekkarinen2005-08-20
| | | | | | | beep when changing tracks. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7360 a1c6a512-1295-4272-9138-f99709370657
* Separated buffering stuff from pcm_playback to pcmbuf. Renamed someMiika Pekkarinen2005-07-13
| | | | | | | function calls (audiobuffer -> pcmbuf etc.). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7131 a1c6a512-1295-4272-9138-f99709370657
* Resume now starts playback at the point it was stopped, not 2-7 seconds later.Ryan Jackson2005-07-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7125 a1c6a512-1295-4272-9138-f99709370657
* Removed picky warningsLinus Nielsen Feltzing2005-07-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7116 a1c6a512-1295-4272-9138-f99709370657