Commit graph

512 commits

Author SHA1 Message Date
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
Jens Arnold
7ebb2911b8 Fixed 64 bit warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12192 a1c6a512-1295-4272-9138-f99709370657
2007-02-04 12:35:44 +00:00
Magnus Holmgren
7c9f4e3a3a Try to fix the simulator build warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12189 a1c6a512-1295-4272-9138-f99709370657
2007-02-04 10:24:37 +00:00
Magnus Holmgren
39bd2375fa Fix playback of mono FLAC files, so they don't play in the left channel only.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12188 a1c6a512-1295-4272-9138-f99709370657
2007-02-04 10:04:42 +00:00
Adam Gashlin
47ddbd48d6 NES codec improvements - N106 fixed point implementation from FS #6603, removed redundant or unused tables and flags
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12167 a1c6a512-1295-4272-9138-f99709370657
2007-01-31 21:23:14 +00:00
Magnus Holmgren
fc1efc7b13 Fix a couple of MP4 demuxing problems, preventing playback in a few cases. All my test files now play properly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12161 a1c6a512-1295-4272-9138-f99709370657
2007-01-30 21:42:36 +00:00
Adam Gashlin
5d20c9d121 adding NSF (NES music) codec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12112 a1c6a512-1295-4272-9138-f99709370657
2007-01-25 18:06:17 +00:00
Dave Bryant
2446b22db9 Update libwavpack with latest changes from the tiny_encoder. This allows
playback of floating-point audio files, fixes a obscure decoding bug, and
improves encoding speed somewhat.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11944 a1c6a512-1295-4272-9138-f99709370657
2007-01-08 04:24:32 +00:00
Marcoen Hirschberg
66fdee0253 fix previous commit and use just .text
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11870 a1c6a512-1295-4272-9138-f99709370657
2006-12-31 01:04:23 +00:00
Marcoen Hirschberg
e904732222 fix flac on ARM platforms which don't use iram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11869 a1c6a512-1295-4272-9138-f99709370657
2006-12-31 00:22:53 +00:00
Barry Wardell
82db32ee17 Fix last build warning from PP recording changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11801 a1c6a512-1295-4272-9138-f99709370657
2006-12-18 13:20:27 +00:00
Barry Wardell
df0dc2262e FS#6096. Recording on PortalPlayer targets (H10, iPod Video, iPod 4g, iPod Color, iPod Nano).
* Fix failed compile of enc_config.c when HAVE_MPEG2_SAMPR is not defined.
* Fix bug in AIFF encoder header creation on little endian targets.
* Add recording screen keymaps for H10 and iPod.
* Move pcm_playback PP specific code to target tree.
* Add recording code to wmcodec drivers.
* Add pcm_record code.

Some problems still remain:
* Playback doesn't work after recording until Rockbox is restarted.
* Gain control not implemented.
* Only 16-bit/44KHz for now. The hardware should be capable of up to 24-bit/96KHz.
* Line-in recording not tested on H10.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11794 a1c6a512-1295-4272-9138-f99709370657
2006-12-18 01:52:21 +00:00
Martin Arver
7d820556e9 Remove the files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11719 a1c6a512-1295-4272-9138-f99709370657
2006-12-11 21:01:14 +00:00
Martin Arver
440513ab6a Stop building, and remove dumb as it has not changed state since its initial committed state
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11718 a1c6a512-1295-4272-9138-f99709370657
2006-12-11 21:00:14 +00:00
Dave Chapman
8db36dc847 Delete libFLAC - it has't been used since October 2005
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11716 a1c6a512-1295-4272-9138-f99709370657
2006-12-11 20:35:22 +00:00
Adam Boot
5931ab2e13 Minor corrections to FLAC seeking calculations
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11687 a1c6a512-1295-4272-9138-f99709370657
2006-12-07 20:13:58 +00:00
Magnus Holmgren
de100c36cb AAC codec: accept M4B files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11681 a1c6a512-1295-4272-9138-f99709370657
2006-12-07 09:24:31 +00:00
Magnus Holmgren
7aab5302ac Make the AAC (and ALAC) codec more flexible when dealing with the MP4 file structure. Should fix some podcasts that don't play.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11680 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 21:37:36 +00:00
Magnus Holmgren
10a9b4ef53 Remove some unneeded code that caused problems for enhanced AAC files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11648 a1c6a512-1295-4272-9138-f99709370657
2006-12-03 13:51:30 +00:00
Michael Sevakis
3b7d703329 Encoders: Mixdown to mono should round towards zero not -infinity.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11634 a1c6a512-1295-4272-9138-f99709370657
2006-12-01 00:39:37 +00:00
Michael Sevakis
6ae46065b4 Add support for compiling encoders without adjustable CPU frequency and/or IRAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11625 a1c6a512-1295-4272-9138-f99709370657
2006-11-29 17:52:30 +00:00
Tomasz Malesinski
0bed2be414 FS#6357, patch 3: implemented simple temporary malloc for the Vorbis decoder.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11610 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 20:56:26 +00:00
Tomasz Malesinski
0daef7565c Fixed the build error in FS#6357, patch 1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11608 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 19:10:26 +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
Michael Sevakis
cee9d3b47b Fixed header parsing in AIFF. The minimum header size is 54 bytes for an audio file. SSND chunk block_size and offset are 32-bit values, not 16-bit; this bug would probably never even matter since most sound data isn't block aligned.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11596 a1c6a512-1295-4272-9138-f99709370657
2006-11-25 21:27:46 +00:00
Michael Sevakis
aa9ddbd8ba Fixed header calculation goofs that would've affected mono files and little-endian targets. A bit of general cleanup. Time for bed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11586 a1c6a512-1295-4272-9138-f99709370657
2006-11-24 21:34:15 +00:00
Michael Sevakis
0729b928ce Recording: Add AIFF recording to SWCODEC. Note: AIFF playback chokes on sample rates other than 44.1kHz whether recorded or created and saved with an external program. Recorded files will still open in an external editor however.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11583 a1c6a512-1295-4272-9138-f99709370657
2006-11-24 19:49:04 +00:00
Magnus Holmgren
af05296a82 Enable ReplayGain processing for AAC and ALAC (not really tested though). Also, use the 'standard' wait-for-metadata loop in the ALAC decoder.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11580 a1c6a512-1295-4272-9138-f99709370657
2006-11-23 20:05:14 +00:00
Barry Wardell
6684df4113 FS#6315 - Get the UI simulator to compile for non SWCODEC targets on OS X.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11515 a1c6a512-1295-4272-9138-f99709370657
2006-11-11 23:30:41 +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
Adam Boot
c1916afa41 Sample-accurate seeking for FLAC
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11474 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 22:00:45 +00:00
Magnus Holmgren
38ec5edf26 Improve support for long MP4 files. Twice as long files can now play, and for those that still are too long, exit with a codec failure rather than freeze Rockbox.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11471 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 19:54:08 +00:00
Michael Sevakis
0f5cb94aa4 Big Patch adds primarily: Samplerate and format selection to recording for 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
2006-11-06 18:07:30 +00:00
Magnus Holmgren
02da4e6130 Update several codec Makefiles so that the codec libs build again on Coldfire targets, after the recent move of system-related things to the target tree. (Note to admins: make errors aren't detected on the CVS build page. :))
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11401 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 18:14:12 +00:00
Jens Arnold
f40f0debcb Adapted more Makefiles to the more efficient info printing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11390 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 01:40:20 +00:00
Jens Arnold
a796260a6b Next step of Makefile tuning: * Use 'make' internal commands for printing messages. Saves build time especially on cygwin. * SILENT variable used in more places. * Bitmap build system uses one Makefille less.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11369 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 21:48:06 +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
4134e91950 Assembler optimised FLAC 24 bit handling routines for Coldfire based players. Decoding speed should be improved drastically. Haven't got so many 24 bit files myself, so let me know if something sounds off.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11329 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 00:59:38 +00:00
Jens Arnold
d1ce4e779e Consistent style of 'make' messages. Always use ranlib after ar.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11322 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 22:33:39 +00:00
Magnus Holmgren
d63d8fedaa Forgot one file...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11188 a1c6a512-1295-4272-9138-f99709370657
2006-10-11 17:12:29 +00:00
Magnus Holmgren
9896fd1ade AAC codec: Improved MP4 file parsing. Should now handle most streamable files. Also some code cleanup and policing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11187 a1c6a512-1295-4272-9138-f99709370657
2006-10-11 17:02:23 +00:00
Magnus Holmgren
38168222ae AAC codec: Fix buffer overrun on high-bitrate files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11179 a1c6a512-1295-4272-9138-f99709370657
2006-10-10 19:22:40 +00:00
Magnus Holmgren
db3b70c748 AAC codec: Reduce IRAM usage slightly, to fix the profile builds (on Coldfire).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11102 a1c6a512-1295-4272-9138-f99709370657
2006-10-01 15:39:23 +00:00
Barry Wardell
ce74dc0743 Cleaner implementation of the recent OSX simulator build fix. No need to define SHARED_FLAG in each Makefile. Just have configure create it in the root Makefile instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11095 a1c6a512-1295-4272-9138-f99709370657
2006-09-29 20:04:36 +00:00
Barry Wardell
64f949f295 Allow UI simulator to be build on OS (Slightly updated version of FS5767)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11094 a1c6a512-1295-4272-9138-f99709370657
2006-09-29 16:15:11 +00:00
Rani Hod
d5429307d5 oops, forgot to 'cvs add' it [thanks for reminding me, linuxstb]
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11047 a1c6a512-1295-4272-9138-f99709370657
2006-09-25 16:35:03 +00:00
Rani Hod
a875ed5d57 Accepted FS#6023 - ADX codec (some kind of ADPCM).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11046 a1c6a512-1295-4272-9138-f99709370657
2006-09-25 16:13:05 +00:00
Magnus Holmgren
b842e93af0 Fix the warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11039 a1c6a512-1295-4272-9138-f99709370657
2006-09-24 19:18:09 +00:00
Magnus Holmgren
3fa5e5f592 Apply a bunch of simple AAC decoder optimizations. Biggest speedup is on ColdFire targets, but ARM targets benefits too. Allows realtime playback of some AAC files on Iriver targets (H1x0, H3x0). Remove support for some rarely used AAC profiles to reduce code size a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11038 a1c6a512-1295-4272-9138-f99709370657
2006-09-24 19:00:29 +00:00
Magnus Holmgren
0e5bd54cbb Add profiling support for libfaad, and enable a small optimization.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11037 a1c6a512-1295-4272-9138-f99709370657
2006-09-24 13:15:24 +00:00
Magnus Holmgren
13f3c5b2cb Fix profiling builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11034 a1c6a512-1295-4272-9138-f99709370657
2006-09-23 14:38:04 +00:00
Jens Arnold
baf5494341 Reverted workaround for the gcc warning. There was a change of behaviour in an early development snapshot of gcc 4.1.2, which was reverted later. The workaround triggered the warning it should fix in later gcc 4.1.2 snapshots.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10957 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 08:59:41 +00:00
Thom Johansen
6e219f84d2 FS patch #5959 by Antonius Hellmann. Update MP3 encoder to the state of the MP3 encoder plugin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10903 a1c6a512-1295-4272-9138-f99709370657
2006-09-09 01:35:12 +00:00
Magnus Holmgren
93e41276be Recude iram usage for the Vorbis decoder a little. Makes it possible to build with gcc 4.0.3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10891 a1c6a512-1295-4272-9138-f99709370657
2006-09-05 17:47:48 +00:00
Magnus Holmgren
9eba0d7173 A few minor changes to match upstream svn.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10890 a1c6a512-1295-4272-9138-f99709370657
2006-09-05 16:33:30 +00:00
Daniel Stenberg
55a3018cdd more make magic to heal the broken builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10860 a1c6a512-1295-4272-9138-f99709370657
2006-09-02 22:34:13 +00:00
Daniel Stenberg
30461369de settings.h includs button.h that includes target-button.h so we need to make
sure all these knows how to find that include file as otherwise does the
depfile generation break down


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10858 a1c6a512-1295-4272-9138-f99709370657
2006-09-02 21:31:16 +00:00
Michael Sevakis
43715c2199 Hopefully this tweak to the Coldfire assembly in mp3_enc.c will fix the compiling problem for cygwin users
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10847 a1c6a512-1295-4272-9138-f99709370657
2006-09-01 17:13:21 +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
5e182e0862 Support for Musepack SV4-6 stream files. Patch by Andrew Cupper.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10843 a1c6a512-1295-4272-9138-f99709370657
2006-09-01 12:05:04 +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
Michael Sevakis
4fc717a4c1 Added FS#2939 Encoder Codec Interface + Codecs by Antonius Hellmann with additional FM Recording support and my modifications
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10789 a1c6a512-1295-4272-9138-f99709370657
2006-08-28 22:38:41 +00:00
Magnus Holmgren
9f09a39436 Add resume support to AAC files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10720 a1c6a512-1295-4272-9138-f99709370657
2006-08-23 13:10:48 +00:00
Magnus Holmgren
8a3b6dad94 Fix broken resume for wav files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10710 a1c6a512-1295-4272-9138-f99709370657
2006-08-23 08:19:29 +00:00
Daniel Stenberg
f70e45ac29 Adding a slightly painful workaround to silence a compiler warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10636 a1c6a512-1295-4272-9138-f99709370657
2006-08-17 17:13:56 +00:00
Antoine Cellerier
72fcc90f76 Only cast if value is used. This should fix a build warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10519 a1c6a512-1295-4272-9138-f99709370657
2006-08-10 21:25:59 +00:00
Thom Johansen
bdaac21086 Fix erronous ARM assembler case for order 1 frames in the FLAC codec. Fixes FS #5759.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10411 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 17:08:43 +00:00
Linus Nielsen Feltzing
c849219370 Moved the X5 button driver to the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10339 a1c6a512-1295-4272-9138-f99709370657
2006-07-27 13:27:31 +00:00
Magnus Holmgren
0d8c50d7af Add resume support for AC3 files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10332 a1c6a512-1295-4272-9138-f99709370657
2006-07-26 19:08:16 +00:00
Magnus Holmgren
e0d64b95db Vorbis: Improve ability to decode old files (using floor0). Not enough to be able to decode one test file though...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10323 a1c6a512-1295-4272-9138-f99709370657
2006-07-25 18:04:43 +00:00
Dave Chapman
5deae51801 Compiling libmad with -O instead of -O2 gives a small speedup (60% boost instead of 66% boost on my test tracks) on ipods. Based on patch #5707 for the ipod 3g by Daniel Ankers, extended to all ipods by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10309 a1c6a512-1295-4272-9138-f99709370657
2006-07-24 19:32:15 +00:00
Dave Chapman
752faa4351 Patch #5157 by Rainer Sinsch - SID codec
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10237 a1c6a512-1295-4272-9138-f99709370657
2006-07-18 18:33:12 +00:00
Adam Boot
71cf604d8d Fix for wav files where the fmt chunk is not close to the start of the file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10149 a1c6a512-1295-4272-9138-f99709370657
2006-06-27 22:27:21 +00:00
Magnus Holmgren
f95dd56a2c Fix bug 5341: Resume in Wav and Flac doesn't start from the position where 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
2006-06-04 15:04:03 +00:00
Dave Chapman
fa5caa0b5b Patch from bug report #5200 by Mark Arigo - attempt to fix gapless playback after seeking in an MP3 file. It works for me, but needs more testing with a wider range of files before we can close the bug report - please post feedback on the tracker.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9962 a1c6a512-1295-4272-9138-f99709370657
2006-05-20 09:57:55 +00:00
Magnus Holmgren
d5e1157cf7 Tweak MP3 seeking a little, and don't do gapless trim if a seek has been done.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9848 a1c6a512-1295-4272-9138-f99709370657
2006-05-01 11:54:04 +00:00
Thom Johansen
ee720278ad Fix the first-frame memmove from pretending the data is interleaved, which it isn't anymore. This should fix all remaining gapless problems with Musepack.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9827 a1c6a512-1295-4272-9138-f99709370657
2006-04-29 02:00:14 +00:00
Thom Johansen
43a105aae3 Make libmusepack output the last frame in two passes. Reclaim the IRAM taken in the last commit. Please let me know if you can hear any artifacts or get any broken files from this!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9825 a1c6a512-1295-4272-9138-f99709370657
2006-04-27 23:52:55 +00:00
Thom Johansen
f004315105 Patch #5219 by Antonius Hellmann. Several optimisations to libmad. Both Coldfire and ARM targets should benefit much from this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9821 a1c6a512-1295-4272-9138-f99709370657
2006-04-27 19:52:09 +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
ef1a36c5a7 Use the Rockbox endian swap routine instead of the default one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9804 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 19:57:24 +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
Dave Bryant
b76bb60219 Update libwavpack to the latest stream specification, and cross fingers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9769 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 22:21:36 +00:00
Dave Bryant
736df4b43b Revert the previous commit because it seemed to break the 4G Gray Sim,
although I can't figure out why or how, and I can't reproduce problem here...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9766 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 21:32:16 +00:00
Brandon Low
83ce56846a Remove an unneeded define, add a todo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9765 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 21:31:07 +00:00
Dave Bryant
dc232f56b8 Update libwavpack to the latest stream specification
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9763 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 20:30:01 +00:00
Brandon Low
f42459ff3b Comment and make pretty the hack
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9761 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 15:13:53 +00:00
Brandon Low
4194990d73 Replace one hack with a better hack
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9759 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 14:48:05 +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
Dave Chapman
0c915510c6 Correct a comment - no code changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9645 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 17:04:53 +00:00
Thom Johansen
bd6b62bc84 OK, GCC obviously has a hard time with this. Let's just pretend GCC 4.1 doesn't exist for now and revert last change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9632 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 00:14:39 +00:00
Thom Johansen
e99dafa2ae Fix a couple of warnings for GCC 4.1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9630 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 23:33:41 +00:00
Thom Johansen
81cb35d42d Various optimisations for libmad by
Antonius HellmanO5Cn. Details at
http://www.rockbox.org/tracker/task/5078


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9629 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 23:29:25 +00:00
Magnus Holmgren
9613b91164 Fix bug #3003 (old Vorbis encode crashes Rockbox), and hopefully not break any other files. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9516 a1c6a512-1295-4272-9138-f99709370657
2006-04-05 14:01:08 +00:00
Dave Bryant
0ad19c7262 Eliminate references to "long" types for 64-bit compiles; return audio data
in Rockbox standard S3.28 format


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9272 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 22:54:15 +00:00
Brandon Low
c42fe437e3 Whoops, missed a file in last warning fix commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9233 a1c6a512-1295-4272-9138-f99709370657
2006-03-24 14:26:23 +00:00
Brandon Low
c76904be53 Fix warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9230 a1c6a512-1295-4272-9138-f99709370657
2006-03-24 14:02:27 +00:00
Brandon Low
86f1e2ead2 Convert playback.c to use unsigned byte counters, and _minor_ refactoring of buffer callbacks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9227 a1c6a512-1295-4272-9138-f99709370657
2006-03-24 13:43:15 +00:00
Thom Johansen
d6877bc9ae Make libmad use inttypes.h types and remove the old ad-hoc typedefs.
Makes mpa.c work somewhat better in 64 bit sims, thought there's still
another crash issue.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9199 a1c6a512-1295-4272-9138-f99709370657
2006-03-23 00:52:12 +00:00
Thom Johansen
09ed0d6f26 Fixed ADPCM support. 3 bit ADPCMs do not work, but those didn't seem to
work before either.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9197 a1c6a512-1295-4272-9138-f99709370657
2006-03-22 21:52:48 +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
0968536c4b Code policed. Converted to generate internal s3.28 format directly (next
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
2006-03-20 20:32:19 +00:00
Thom Johansen
d8eaefe29a Code policed. Converted to generate internal s3.28 format directly (next
task is removing use of interleaved audio). Fixed broken handling of 8
bit files.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9135 a1c6a512-1295-4272-9138-f99709370657
2006-03-20 20:19:40 +00:00
Thom Johansen
4ba14d9113 Free one register extra so we can block load a bit more.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9069 a1c6a512-1295-4272-9138-f99709370657
2006-03-17 00:31:15 +00:00
Brandon Low
9c2b203025 Fix profiling compilation for non-m68k targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8967 a1c6a512-1295-4272-9138-f99709370657
2006-03-09 01:37:52 +00:00
Thom Johansen
154d959a8b Enable ARM optimisation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8931 a1c6a512-1295-4272-9138-f99709370657
2006-03-06 11:14:29 +00:00
Thom Johansen
10decf883a ARM assembler optimised LPC decode routine for FLAC (not yet enabled).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8927 a1c6a512-1295-4272-9138-f99709370657
2006-03-06 03:07:00 +00:00
Linus Nielsen Feltzing
8fc55d55eb ADPCM wav codec fix by Frederic Devernay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8899 a1c6a512-1295-4272-9138-f99709370657
2006-03-04 10:47:38 +00:00
Jens Arnold
8aa5bd11b2 Long policy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8891 a1c6a512-1295-4272-9138-f99709370657
2006-03-03 02:27:19 +00:00
Jens Arnold
8ac3ae73c5 More 64bit simulator fixes, coinciding with the long policy this time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8890 a1c6a512-1295-4272-9138-f99709370657
2006-03-03 02:09:58 +00:00
Jens Arnold
3e8568980d Remove all references to errno, it's unnecessary since the codec doesn't 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-03-01 01:07:56 +00:00
Dave Bryant
503116240a More WavPack optimizations. Restored 24-bit file playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8842 a1c6a512-1295-4272-9138-f99709370657
2006-02-26 08:22:34 +00:00
Marcoen Hirschberg
f16c1f341a prevent rockbox from using the wrong includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8827 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 13:48:52 +00:00
Dave Bryant
f0d1c96ee4 Optimization of WavPack decoding in ARM assembler (for iPods). This allows WavPack files encoded in "high" mode to
play without skipping, although it's still rather marginal (i.e. can't play with other DSP effects enabled). For now
this will not work with 24-bit files either, although that is coming along.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8814 a1c6a512-1295-4272-9138-f99709370657
2006-02-23 20:53:59 +00:00
Thom Johansen
831cfb8e44 Add ASM optimised subband filtering loop for ARM targets. Restructure
other loops a little bit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8754 a1c6a512-1295-4272-9138-f99709370657
2006-02-20 20:40:29 +00:00
Thom Johansen
d1fbd12189 Common internal sample format for AC3.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8684 a1c6a512-1295-4272-9138-f99709370657
2006-02-13 19:51:53 +00:00
Thom Johansen
37a165d796 Convert to use common internal sample format.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8681 a1c6a512-1295-4272-9138-f99709370657
2006-02-13 19:26:18 +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
Brandon Low
f1c4152ac3 Let's not leave the codecs empty
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8640 a1c6a512-1295-4272-9138-f99709370657
2006-02-09 07:28:58 +00:00
Brandon Low
c8f15f0857 Fix simulator builds (not positive sims are parallel make compliant still)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8639 a1c6a512-1295-4272-9138-f99709370657
2006-02-09 05:28:17 +00:00
Brandon Low
4872825ed2 Various build sytem cleanups
* Parallel build appears to work properly
* Use $(SILENT) instead of @ about everywhere
* Less calls to bash by using make builtin substitutions


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8638 a1c6a512-1295-4272-9138-f99709370657
2006-02-09 04:27:57 +00:00
Dave Chapman
8e46ab85a9 Patch #1426489 - Shorten codec optimisations from Mark Arigo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8615 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 22:16:35 +00:00
Jens Arnold
e6e8aa9519 Added memmove() to codec API & plugin API, and changed codeclib and plugin libs to use it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8602 a1c6a512-1295-4272-9138-f99709370657
2006-02-06 16:04:01 +00:00
Dave Bryant
ff40af42ba Streamlined WavPack decoder by utilizing dsp functionality where it was
applicable (like mono conversion and clipping) and eliminating the
conversion to 16-bit samples (everything is now returned as 28-bit).
This reduced boost ratio (on iRiver) by about 7% on those tracks that
require it.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8598 a1c6a512-1295-4272-9138-f99709370657
2006-02-06 07:40:35 +00:00
Dave Chapman
1a03c37947 A better count_leading_zeros() function, courtesy of Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8577 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 09:12:57 +00:00
Tomasz Malesinski
bcd22f000a Undefined DEBUG, so that it compiles on DEBUG builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8553 a1c6a512-1295-4272-9138-f99709370657
2006-02-03 23:21:36 +00:00
Dave Chapman
347992e9d9 Optimised C version of count_leading_zeros() taken from alac-0.1.1. This makes ALAC very close to realtime on the ipod (just the very occasional skip during disk reading - it is realtime when the disk is sleeping).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8545 a1c6a512-1295-4272-9138-f99709370657
2006-02-03 08:27:53 +00:00
Linus Nielsen Feltzing
f5f000fe03 Minor code policing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8525 a1c6a512-1295-4272-9138-f99709370657
2006-02-01 17:58:10 +00:00
Dave Chapman
fbd8e5d29c Patch #1421483 - AIFF codec by Jvo Studer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8524 a1c6a512-1295-4272-9138-f99709370657
2006-02-01 16:42:02 +00:00
Thom Johansen
8ac932fcb4 Fix warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8490 a1c6a512-1295-4272-9138-f99709370657
2006-01-30 01:42:23 +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
Thom Johansen
2b483958f9 Synced libmpcdec to musepack.net SVN.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8488 a1c6a512-1295-4272-9138-f99709370657
2006-01-30 01:00:40 +00:00
Thom Johansen
a371ec3e77 Make Musepack work on little endian devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8485 a1c6a512-1295-4272-9138-f99709370657
2006-01-29 17:06:20 +00:00
Dave Chapman
b0302f0cbb Prevent unaligned memory accesses whilst reading seektable - fixes FLAC playback on iPod
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8477 a1c6a512-1295-4272-9138-f99709370657
2006-01-29 01:31:28 +00:00
Thom Johansen
5947e49f46 Make Tremor usable on ARM targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8475 a1c6a512-1295-4272-9138-f99709370657
2006-01-28 21:21:21 +00:00
Miika Pekkarinen
6d6ca6b6a5 Muting trick to prevent tiny pops and glitchless mp3 seeking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8416 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 10:25:07 +00:00
Miika Pekkarinen
0e159f13cf Fixed a few iriver playback quirks and issues with previous fixes.
Also fixed "TST.." bug when seeking and possible an enhancement to mp3
gapless playback also.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8402 a1c6a512-1295-4272-9138-f99709370657
2006-01-20 22:02:44 +00:00
Brandon Low
05dccc3551 Profiling support, tools and documentation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8375 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 20:54:13 +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
Dave Chapman
d83e929f3f Work-in-progress iriver iFP-7xx port by Tomasz Malesinski
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8342 a1c6a512-1295-4272-9138-f99709370657
2006-01-12 00:35:50 +00:00
Daniel Stenberg
0e419987e4 SDL simulator brought by Nathan Hand and Nick Lanham. This is added as a third
simulator with the hope that once it works fine, we can remove the other two
and only have one unified simulator.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8312 a1c6a512-1295-4272-9138-f99709370657
2006-01-09 11:22:36 +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
Thom Johansen
557afd5f1e Fix generic filtering routine to support non-interleaved audio as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8304 a1c6a512-1295-4272-9138-f99709370657
2006-01-07 23:16:38 +00:00