summaryrefslogtreecommitdiff
path: root/apps/codecs/mpc.c (unfollow)
Commit message (Collapse)Author
2012-04-25Add codecs to librbcodec.Sean Bartell
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>
2011-08-28Remove obsolete 'ci->set_elapsed()' from mpc.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30368 a1c6a512-1295-4272-9138-f99709370657
2011-08-28Commit work started in FS#12153 to put timing/position information in PCMMichael Sevakis
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
2011-07-23Fix musepack resume for resume positions > 7:30m.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30202 a1c6a512-1295-4272-9138-f99709370657
2011-04-27Commit FS#12069 - Playback rework - first stages. Gives as thorough as ↵Michael Sevakis
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
2011-02-20Enforce that codecs wait for their metadata in a proper-ish and consistent ↵Michael Sevakis
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
2010-07-25codecs: mark some local variables with 'static'Nils Wallménius
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27566 a1c6a512-1295-4272-9138-f99709370657
2010-06-23Clean up comments.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27078 a1c6a512-1295-4272-9138-f99709370657
2010-06-21Disable unneeded parts of mpc's file-I/O interface.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27024 a1c6a512-1295-4272-9138-f99709370657
2010-03-14Fix FS#11103. Resuming musepack files was handled wrong since ages. This ↵Andree Buschmann
change converts the decoders exact sample position to an estimated byte position within the file. The resume position in samples is calculated the reverse way, git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25164 a1c6a512-1295-4272-9138-f99709370657
2010-03-07Major change to musepack decoder: Import v1.3.0 (r458 from svn.musepack.net) ↵Andree Buschmann
to rockbox. Several adaptions in the musepack decoder were made to get the library work and perform fast under rockbox on several targets. With this change mpc sv8 is supported, including seek, replay gain and metadata support. The decoding speed is a 1-4% lower than the last implementation. Reason for this is main restructuring in the bitstream demuxer. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25056 a1c6a512-1295-4272-9138-f99709370657
2009-04-20Allow higher precision in calculation of seek position and elapsed time for ↵Andree Buschmann
mpc codec. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20756 a1c6a512-1295-4272-9138-f99709370657
2008-12-29Make local functions static in codecs, where possible.Bertrik Sikken
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19612 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg
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
2008-06-10Correct DSP_SET_SAMPLE_DEPTH to 29 for mpc (18.14 fixed point samples). ↵Andree Buschmann
Higher precision for fast 32x32=32 multiplication in dewindowing part of synthesis filter. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17708 a1c6a512-1295-4272-9138-f99709370657
2008-05-19Musepack seek hotfix. Do not dynamically allocate seek buffer but use a ↵Andree Buschmann
buffer of constant size (~28.5min). Files larger than this will still not seek properly. Some additional rework has to be done for the seek buffer. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17584 a1c6a512-1295-4272-9138-f99709370657
2008-05-10Removed non-active seek mechanism from musepack library, small other cleanups.Andree Buschmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17446 a1c6a512-1295-4272-9138-f99709370657
2008-02-24Change to (or add) 'standard' codec startup delay, fixing potential startup ↵Magnus Holmgren
problems for APE and MPC files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16410 a1c6a512-1295-4272-9138-f99709370657
2007-11-05Remove conf_filechunk, it should never have been a setting and its ↵Brandon Low
implementation doesn't do what it claims any way git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15478 a1c6a512-1295-4272-9138-f99709370657
2007-11-05Remove unused conf_preseek from buffering.c and all of its accountraments. ↵Brandon Low
This is _not_ a setting. This is a guessing tool used by either playback or buffering to serve its clients better. Use the REBUFFER_GUESS size in resume to help obviate pondlife's bug. This will also need to be used when FS8092 gets fixed correctly with a complete rebuffer for backward movements. It may also belong in buffering not playback, haven't decided for sure git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15475 a1c6a512-1295-4272-9138-f99709370657
2007-08-30FS #7166. Musepack optimizations and cleanups. Huge speedup on ARM. Note ↵Thom Johansen
that all ARM (Ipod/Sansa/Gigabeat) targets will now play back Musepack files with somewhat reduced accuracy. Please get in touch via forums or Flyspray if you've got sample files where this is very apparent. Most users should hear no difference. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14531 a1c6a512-1295-4272-9138-f99709370657
2007-04-06Support resume for MusepackAdam Boot
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13049 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 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-11-09Added macros controlling what goes to IRAM on different targets.Tomasz Malesinski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11483 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-09-01Put Musepack output data array back in IRAM for faster DSP processing. Patch ↵Thom Johansen
by Andrew Cupper. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10844 a1c6a512-1295-4272-9138-f99709370657
2006-08-31FS patch #5172 by Andrew Cupper. Musepack seeking support. Decoder should ↵Thom Johansen
also be faster. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10827 a1c6a512-1295-4272-9138-f99709370657
2006-04-25The last frame of Musepack files can contain double the amount of samples as ↵Thom Johansen
in ordinary frames, so let's double our buffer size to accomodate... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9808 a1c6a512-1295-4272-9138-f99709370657
2006-04-25Make playback not screw up if the user tries to seek on musepackBrandon Low
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9806 a1c6a512-1295-4272-9138-f99709370657
2006-04-25Fix warning.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9805 a1c6a512-1295-4272-9138-f99709370657
2006-04-25Correctly identify end of file.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9803 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-22Fix remaining warnings in 64bit simulator buildsJens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9196 a1c6a512-1295-4272-9138-f99709370657
2006-02-13Start converting codecs to use internal sample format (28 bits + sign,Thom Johansen
or s3.28 fixed point). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8680 a1c6a512-1295-4272-9138-f99709370657
2006-01-30Fix mpc.c to use new mpc_bool_t type to remove some warning.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8489 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
2006-01-08I figured out what was *really* causing the MPC track-change noise, so IDave Bryant
backed out Thom's change and made the appropriate change. Note that this should not fix the track change *pop* because there still seems to be a problem decoding the first and last several hundred samples of MPC files. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8306 a1c6a512-1295-4272-9138-f99709370657
2006-01-07Quick fix for annoying musepack noise on track change bug. Proper fix coming ↵Thom Johansen
Some Day Soon Now (tm). Thanks go out to David Bryant. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8305 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-06Changed output format of libmpcdec to non-interleaved stereo for a slight ↵Thom Johansen
speed boost. Also stopped wasting 10kb of IRAM in the output sample buffer. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7769 a1c6a512-1295-4272-9138-f99709370657
2005-11-06Disabled Musepack seeking, since it's so slow that most users conclude the ↵Thom Johansen
codec has crashed. Left in original seek code for those who're aware of the issue and want seek support. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7767 a1c6a512-1295-4272-9138-f99709370657
2005-11-04Fixed the halved volume bug, remove ad-hoc metadata loading and add ↵Thom Johansen
ReplayGain support. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7753 a1c6a512-1295-4272-9138-f99709370657
2005-10-27Introduced usage of IBSS_ATTR and ICONST_ATTR to codec plugins.Thom Johansen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7659 a1c6a512-1295-4272-9138-f99709370657
2005-10-18Fixed the playlist skipping with MusePack.Miika Pekkarinen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7638 a1c6a512-1295-4272-9138-f99709370657