summaryrefslogtreecommitdiff
path: root/apps/codecs/vorbis.c
AgeCommit message (Collapse)Author
2007-02-24SWCODEC: Dsp speed optimizations. Changes for more modularity. Removal of ↵Michael Sevakis
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
2007-02-10SWCODEC: Annoying neatness update. Use intptr_t for codec_configure_callback ↵Michael Sevakis
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
2007-02-07Fix resampling clicking as much as possible at the moment. 1) Upsampling ↵Michael Sevakis
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
2006-11-26FS#6357, patch 3: implemented simple temporary malloc for the Vorbis decoder.Tomasz Malesinski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11610 a1c6a512-1295-4272-9138-f99709370657
2006-11-26FS#6357, patch 1: let iramcopy and bss share the same space in codecs andTomasz Malesinski
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
2006-11-26SWCODEC: Stop clicks between tracks when resampler is active by only ↵Michael Sevakis
switching the DSP frequency and not resetting the resampler at track boundaries. Will make sure DSP is correctly flushed at dicontinuities but don't hear any problems currently. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11600 a1c6a512-1295-4272-9138-f99709370657
2006-10-27Re-enable the currently unused and broken dithering and noise shaping code ↵Thom Johansen
already in Rockbox, and make it a user option instead of a codec-controlled option. The majority of people probably will not even hear any difference with this enabled, but feedback is welcome. Save your settings! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11368 a1c6a512-1295-4272-9138-f99709370657
2006-04-22First commit of reworking voice to be mroe stable on swcodecBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9758 a1c6a512-1295-4272-9138-f99709370657
2006-04-15Put new_track on the codec_api, and use it instead of the reload_codec ↵Brandon Low
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
2006-03-01Remove all references to errno, it's unnecessary since the codec doesn't ↵Jens Arnold
directly access files. Should really fix the TLS issues with errno this time... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8873 a1c6a512-1295-4272-9138-f99709370657
2006-01-18Part of the profiling patch to use a consistent return path in all codecs to ↵Brandon Low
facilitate 'on exit' functionality git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8374 a1c6a512-1295-4272-9138-f99709370657
2006-01-18New codec loader, using the same mechanism as the new plugin loader. API ↵Jens Arnold
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
2006-01-08Don't include the .bss and .ibss sections in the binary image for codecs and ↵Jens Arnold
plugins. Saves quite some disk space (and buffer space in case of codec changes during playback). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8308 a1c6a512-1295-4272-9138-f99709370657
2005-11-18More stable playback with reduced stuttering when skipping tracks.Miika Pekkarinen
Removed CODEC_SET_FILEBUF_LIMIT setting; now playback.c determines how to buffer the files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7970 a1c6a512-1295-4272-9138-f99709370657
2005-11-06The seek_time member of the codec API needs to be decremented before use as ↵Thom Johansen
a seeking time. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7768 a1c6a512-1295-4272-9138-f99709370657
2005-10-13Cleaned up the messy codec header and library system by merging codec.h, ↵Thom Johansen
lib/codeclib.[ch] and lib/xxx2wav.[ch] into just codeclib.[ch]. Deleted much of the unused code in the xxx2wav portion. All codecs should now only include codeclib.h, and whatever codec specific headers are needed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7626 a1c6a512-1295-4272-9138-f99709370657
2005-10-10Cleaned up to conform to one source code style, removed some tabs and some ↵Thom Johansen
redundancies. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7614 a1c6a512-1295-4272-9138-f99709370657
2005-07-28Added comments, Replay Gain, and resume/bookmarks for FLAC.Ryan Jackson
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7253 a1c6a512-1295-4272-9138-f99709370657
2005-07-24ReplayGain support for Ogg Vorbis files (also called VorbisGain) added.Magnus Holmgren
Note that there is a small delay from leaving a setting until the change can be heard (due to audio data buffering). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7234 a1c6a512-1295-4272-9138-f99709370657
2005-07-16DSP settings are properly reset when changing between tracks with different ↵Ryan Jackson
sampling rates. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7169 a1c6a512-1295-4272-9138-f99709370657
2005-07-14Removed unnecessary code that also caused playback glitches when changing tracksRyan Jackson
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7136 a1c6a512-1295-4272-9138-f99709370657
2005-07-13Separated buffering stuff from pcm_playback to pcmbuf. Renamed someMiika Pekkarinen
function calls (audiobuffer -> pcmbuf etc.). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7131 a1c6a512-1295-4272-9138-f99709370657
2005-07-12Resume now starts playback at the point it was stopped, not 2-7 seconds later.Ryan Jackson
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7125 a1c6a512-1295-4272-9138-f99709370657
2005-07-11Replaced some yields with sleep(1) to save battery while paused orMiika Pekkarinen
playing files which doesn't require cpu boosting. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7103 a1c6a512-1295-4272-9138-f99709370657
2005-07-11Patch #1235763 by Ryan Jackson - Resume/bookmark support for VorbisLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7098 a1c6a512-1295-4272-9138-f99709370657
2005-07-10Fixed a problem with transition to next album which caused rockboxMiika Pekkarinen
virtually to crash. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7096 a1c6a512-1295-4272-9138-f99709370657
2005-07-05Patch #1232549 by Ryan Jackson, adds seeking and comments to Vorbis playbackLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7025 a1c6a512-1295-4272-9138-f99709370657
2005-06-26Initial DSP implementation. DSP supports resampling audio stream fromMiika Pekkarinen
codecs (currently works corrently only with mp3's, somebody should fix that). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6877 a1c6a512-1295-4272-9138-f99709370657
2005-06-22removed the use of the 2nd argument to codec_start() since no codec usedDaniel Stenberg
it anymore git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6814 a1c6a512-1295-4272-9138-f99709370657
2005-06-22moved and renamed the codecs, gave the codecs a new extension (.codec),Daniel Stenberg
unified to a single codec-only API, made a new codeclib, disabled the building of the *2wav plugins git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6812 a1c6a512-1295-4272-9138-f99709370657