summaryrefslogtreecommitdiff
path: root/apps/codecs/wav.c (follow)
Commit message (Collapse)AuthorAge
* Add codecs to librbcodec.Sean Bartell2012-04-25
| | | | | | | Change-Id: Id7f4717d51ed02d67cb9f9cb3c0ada4a81843f97 Reviewed-on: http://gerrit.rockbox.org/137 Reviewed-by: Nils Wallménius <nils@rockbox.org> Tested-by: Nils Wallménius <nils@rockbox.org>
* Commit work started in FS#12153 to put timing/position information in PCMMichael Sevakis2011-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | buffer chunks. * Samples and position indication is closely associated with audio data instead of compensating by a latency constant. Alleviates problems with using the elapsed as a track indicator where it could be off by several steps. * Timing is accurate throughout track even if resampling for pitch shift, whereas before it updated during transition latency at the normal 1:1 rate. * Simpler PCM buffer with a constant chunk size, no linked lists. In converting crossfade, a minor change was made to not change the WPS until the fade-in of the incoming track, whereas before it would change upon the start of the fade-out of the outgoing track possibly having the WPS change with far too much lead time. Codec changes are to set elapsed times *before* writing next PCM frame because time and position data last set are saved in the next committed PCM chunk. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30366 a1c6a512-1295-4272-9138-f99709370657
* FS#12140 by Sean Bartell, Make various codec stuff static.Nils Wallménius2011-06-01
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29942 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#12069 - Playback rework - first stages. Gives as thorough as ↵Michael Sevakis2011-04-27
| | | | | | possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
* Enforce that codecs wait for their metadata in a proper-ish and consistent ↵Michael Sevakis2011-02-20
| | | | | | manner. Sort of a halfway patch; best would be to give them an internal copy of the current track information which lasts unaltered by playback until a track switch or unload. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29348 a1c6a512-1295-4272-9138-f99709370657
* fix bug: WAV file playback does not resume (FS#11077)Yoshihisa Uchida2010-03-22
| | | | | | Not only WAV but also Sun audio, SMAF, vox and WAV64 can resume. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25289 a1c6a512-1295-4272-9138-f99709370657
* libpcm: output depth corrects for the sign 1bit. linear pcm corrects bits shift.Yoshihisa Uchida2010-03-12
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25131 a1c6a512-1295-4272-9138-f99709370657
* wave codecYoshihisa Uchida2010-03-07
| | | | | | | | | - does not get dwAvgBytesPerSec wave/aiff/smaf/wave64 codec - corrects the problem that codec_main() returns invalid value. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25051 a1c6a512-1295-4272-9138-f99709370657
* When seek action failed, play time is invalid.Yoshihisa Uchida2010-03-06
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25041 a1c6a512-1295-4272-9138-f99709370657
* libpcm: decoded pcm depth corrects.Yoshihisa Uchida2010-03-06
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25040 a1c6a512-1295-4272-9138-f99709370657
* libpcm: deletes PCM_CHUNK_SIZE.Yoshihisa Uchida2010-02-24
| | | | | | aiif.c/wav.c: deletes #include <inttypes.h>. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24877 a1c6a512-1295-4272-9138-f99709370657
* commit FS#10424 and FS#10425Yoshihisa Uchida2010-02-20
| | | | | | | | - wav(RIFF) supports Microsoft ADPCM, Dialogic OKI ADPCM, YAMAHA ADPCM, Adobe SWF ADPCM. - AIFF supports QuickTime IMA ADPCM. - DVI ADPCM(IMA ADPCM) reworks. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24782 a1c6a512-1295-4272-9138-f99709370657
* Try one more time to fix bitness warnings in WAV.Michael Giacomelli2010-01-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24349 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#10423 by Yoshihisa Uchida. Adds support for floating point PCM to ↵Michael Giacomelli2010-01-27
| | | | | | libpcm. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24348 a1c6a512-1295-4272-9138-f99709370657
* Fix warnings on 32 bit sim.Michael Giacomelli2010-01-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24347 a1c6a512-1295-4272-9138-f99709370657
* Commit FS#10422 by Yoshihisa Uchida. Seperates WAV and AIFF parsing from ↵Michael Giacomelli2010-01-27
| | | | | | PCM decoding by introducing libpcm, a library for decoding linear and non-uniform PCM independently of the container format. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24346 a1c6a512-1295-4272-9138-f99709370657
* Calculate watermark from bitrate and harddisk spinup time.Björn Stenberg2009-01-10
| | | | | | | | Use a smaller PCM buffer on targets with 2MB or less ram. (FS#9703) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19743 a1c6a512-1295-4272-9138-f99709370657
* Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg2008-06-28
| | | | | | | | | later. We still need to hunt down snippets used that are not. 1324 modified files... http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
* Remove conf_filechunk, it should never have been a setting and its ↵Brandon Low2007-11-05
| | | | | | implementation doesn't do what it claims any way git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15478 a1c6a512-1295-4272-9138-f99709370657
* Cast some more to keep both 32 bit and 64 bit simulator platforms happy.Jens Arnold2007-03-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12819 a1c6a512-1295-4272-9138-f99709370657
* Fix simulator builds, and some debugf() format strings.Jens Arnold2007-03-17
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12817 a1c6a512-1295-4272-9138-f99709370657
* SWCODEC: Fix the problem of replaygain not being applied unless the menu is ↵Michael Sevakis2007-02-26
| | | | | | entered. Make all codecs set the replay gain or else formats that do not have replaygain will not set the gain back to default if a file with gain applied proceeded them. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12498 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
* 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
* SWCODEC: Stop clicks between tracks when resampler is active by only ↵Michael Sevakis2006-11-26
| | | | | | 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
* Re-enable the currently unused and broken dithering and noise shaping code ↵Thom Johansen2006-10-27
| | | | | | 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
* Fix broken resume for wav files.Magnus Holmgren2006-08-23
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10710 a1c6a512-1295-4272-9138-f99709370657
* Fix for wav files where the fmt chunk is not close to the start of the fileAdam Boot2006-06-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10149 a1c6a512-1295-4272-9138-f99709370657
* Fix bug 5341: Resume in Wav and Flac doesn't start from the position where ↵Magnus Holmgren2006-06-04
| | | | | | it was left off. Mark Arigo helped with the Flac fix. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10051 a1c6a512-1295-4272-9138-f99709370657
* First commit of reworking voice to be mroe stable on swcodecBrandon Low2006-04-22
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9758 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
* Fix warningsBrandon Low2006-03-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9230 a1c6a512-1295-4272-9138-f99709370657
* Fixed ADPCM support. 3 bit ADPCMs do not work, but those didn't seem toThom Johansen2006-03-22
| | | | | | | work before either. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9197 a1c6a512-1295-4272-9138-f99709370657
* Code policed. Converted to generate internal s3.28 format directly (nextThom Johansen2006-03-20
| | | | | | | | task is removing use of interleaved audio). Could not test ADPCM due to difficulty in finding files it could play, so tell me if it is broken. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9136 a1c6a512-1295-4272-9138-f99709370657
* ADPCM wav codec fix by Frederic DevernayLinus Nielsen Feltzing2006-03-04
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8899 a1c6a512-1295-4272-9138-f99709370657
* Part of the profiling patch to use a consistent return path in all codecs to ↵Brandon Low2006-01-18
| | | | | | facilitate 'on exit' functionality git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8374 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
* Don't include the .bss and .ibss sections in the binary image for codecs and ↵Jens Arnold2006-01-08
| | | | | | 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
* More stable playback with reduced stuttering when skipping tracks.Miika Pekkarinen2005-11-18
| | | | | | | | 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
* The seek_time member of the codec API needs to be decremented before use as ↵Thom Johansen2005-11-06
| | | | | | a seeking time. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7768 a1c6a512-1295-4272-9138-f99709370657
* Fix simulator builds - DEBUGF explicitly needs rb->Dave Chapman2005-11-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7724 a1c6a512-1295-4272-9138-f99709370657
* Add const attribute to lookup tablesDave Chapman2005-11-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7723 a1c6a512-1295-4272-9138-f99709370657
* Cosmetic changes - use correct ICONST or IBSS attributes and refer to codec ↵Dave Chapman2005-11-02
| | | | | | api as "ci" instead of "rb" git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7722 a1c6a512-1295-4272-9138-f99709370657
* Call ci->seek_complete() callback after processing a seek request (an old ↵Dave Chapman2005-11-02
| | | | | | API change that wasn't implemented in all the codecs) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7717 a1c6a512-1295-4272-9138-f99709370657
* Previous fix introduced tons of comparison warnings, just cast for now instead.Thom Johansen2005-10-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7628 a1c6a512-1295-4272-9138-f99709370657
* Use correct types to avoid sim warnings.Thom Johansen2005-10-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7627 a1c6a512-1295-4272-9138-f99709370657
* Cleaned up the messy codec header and library system by merging codec.h, ↵Thom Johansen2005-10-13
| | | | | | 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
* Removed a ton of tabs, fixed some indentation and removed some unneeded ↵Thom Johansen2005-10-10
| | | | | | includes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7606 a1c6a512-1295-4272-9138-f99709370657
* Replace SWAB16 and SWAB32 with a comprehensive set of byte-swap macros - ↵Dave Chapman2005-10-06
| | | | | | letoh16, letoh32, htole16, htole32, betoh16, betoh32, htobe16 and htobe32 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7584 a1c6a512-1295-4272-9138-f99709370657