Commit graph

36 commits

Author SHA1 Message Date
Michael Sevakis
97f369a587 SWCODEC: Annoying neatness update. Use intptr_t for codec_configure_callback 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-10 16:34:16 +00:00
Michael Sevakis
aba6ca0881 Fix resampling clicking as much as possible at the moment. 1) Upsampling 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
2007-02-07 00:51:50 +00:00
Tomasz Malesinski
80da8b141c FS#6357, patch 1: let iramcopy and bss share the same space in codecs and
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-26 18:31:41 +00:00
Michael Sevakis
bbef13eddf SWCODEC: Stop clicks between tracks when resampler is active by only 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-26 12:02:47 +00:00
Tomasz Malesinski
5c54ba49d5 Added macros controlling what goes to IRAM on different targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11483 a1c6a512-1295-4272-9138-f99709370657
2006-11-09 21:59:27 +00:00
Thom Johansen
354770088e Re-enable the currently unused and broken dithering and noise shaping code 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-10-27 20:41:33 +00:00
Thom Johansen
7197c0e588 Put Musepack output data array back in IRAM for faster DSP processing. Patch by Andrew Cupper.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10844 a1c6a512-1295-4272-9138-f99709370657
2006-09-01 12:09:20 +00:00
Thom Johansen
20332bce1d FS patch #5172 by Andrew Cupper. Musepack seeking support. Decoder should also be faster.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10827 a1c6a512-1295-4272-9138-f99709370657
2006-08-31 18:18:57 +00:00
Thom Johansen
5398f720f0 The last frame of Musepack files can contain double the amount of samples as 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-25 20:39:31 +00:00
Brandon Low
1191fa41fd Make playback not screw up if the user tries to seek on musepack
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9806 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 20:05:01 +00:00
Thom Johansen
9df0ea8297 Fix warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9805 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 20:00:53 +00:00
Thom Johansen
8324725511 Correctly identify end of file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9803 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 19:52:08 +00:00
Brandon Low
f3bc1efc49 First commit of reworking voice to be mroe stable on swcodec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9758 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 14:40:13 +00:00
Brandon Low
ebadcc633a Put new_track on the codec_api, and use it instead of the reload_codec 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-04-15 02:03:11 +00:00
Jens Arnold
ec70f29f1e Fix remaining warnings in 64bit simulator builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9196 a1c6a512-1295-4272-9138-f99709370657
2006-03-22 19:51:40 +00:00
Thom Johansen
153f906d74 Start converting codecs to use internal sample format (28 bits + sign,
or s3.28 fixed point).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8680 a1c6a512-1295-4272-9138-f99709370657
2006-02-13 19:24:36 +00:00
Thom Johansen
b978acc59d Fix mpc.c to use new mpc_bool_t type to remove some warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8489 a1c6a512-1295-4272-9138-f99709370657
2006-01-30 01:04:43 +00:00
Brandon Low
1060e447f8 Part of the profiling patch to use a consistent return path in all codecs to facilitate 'on exit' functionality
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8374 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 20:22:03 +00:00
Jens Arnold
b8749fdf21 New codec loader, using the same mechanism as the new plugin loader. API 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-18 00:05:14 +00:00
Jens Arnold
07c4254135 Don't include the .bss and .ibss sections in the binary image for codecs and 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-08 22:50:14 +00:00
Dave Bryant
c78b019944 I figured out what was *really* causing the MPC track-change noise, so I
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-08 08:38:18 +00:00
Thom Johansen
dad0011e31 Quick fix for annoying musepack noise on track change bug. Proper fix coming 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
2006-01-07 23:20:49 +00:00
Miika Pekkarinen
9c0f1a9e39 More stable playback with reduced stuttering when skipping tracks.
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-18 20:21:13 +00:00
Thom Johansen
4d9be96a81 Changed output format of libmpcdec to non-interleaved stereo for a slight 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-06 23:05:49 +00:00
Thom Johansen
741012004b Disabled Musepack seeking, since it's so slow that most users conclude the 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-06 19:12:27 +00:00
Thom Johansen
d5eefe8bc7 Fixed the halved volume bug, remove ad-hoc metadata loading and add ReplayGain support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7753 a1c6a512-1295-4272-9138-f99709370657
2005-11-04 21:35:08 +00:00
Thom Johansen
e6021381ef Introduced usage of IBSS_ATTR and ICONST_ATTR to codec plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7659 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 11:32:02 +00:00
Miika Pekkarinen
127f069545 Fixed the playlist skipping with MusePack.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7638 a1c6a512-1295-4272-9138-f99709370657
2005-10-18 06:52:58 +00:00
Miika Pekkarinen
eb04a53830 Fixed the pops with musepack.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7632 a1c6a512-1295-4272-9138-f99709370657
2005-10-16 06:19:23 +00:00
Thom Johansen
c91e0bbfc9 Cleaned up the messy codec header and library system by merging codec.h, 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-13 11:32:52 +00:00
Thom Johansen
3d98ecf951 Added DSP support and started passing full precision samples to playback engine. Added dog slow seeking support (thanks to poor seeking support in file format). Some cosmetic changes. Still not realtime.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7613 a1c6a512-1295-4272-9138-f99709370657
2005-10-10 19:56:40 +00:00
Thom Johansen
f60e6200f6 DSP_* constants moved from playback.h to dsp.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7529 a1c6a512-1295-4272-9138-f99709370657
2005-09-21 13:09:10 +00:00
Miika Pekkarinen
20b3897474 Separated buffering stuff from pcm_playback to pcmbuf. Renamed some
function calls (audiobuffer -> pcmbuf etc.).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7131 a1c6a512-1295-4272-9138-f99709370657
2005-07-13 12:48:22 +00:00
Thom Johansen
8b2531be27 Nicer code, removed rb references.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6829 a1c6a512-1295-4272-9138-f99709370657
2005-06-22 22:02:11 +00:00
Daniel Stenberg
31efab4909 removed the use of the 2nd argument to codec_start() since no codec used
it anymore


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6814 a1c6a512-1295-4272-9138-f99709370657
2005-06-22 19:55:09 +00:00
Daniel Stenberg
1dd672fe32 moved and renamed the codecs, gave the codecs a new extension (.codec),
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
2005-06-22 19:41:30 +00:00
Renamed from apps/plugins/codecmpc.c (Browse further)