Commit graph

145 commits

Author SHA1 Message Date
Thom Johansen
66427c3e47 Remove ACC_INIT, ACC and GET_ACC macros. These were quite Coldfire-centric macros which really aren't needed since all performance sensitive target DSP code should be assembler anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17037 a1c6a512-1295-4272-9138-f99709370657
2008-04-08 20:02:56 +00:00
Michael Sevakis
d3ecbbf988 Turnaround time must be included in dsp yielding to throttle against other threads. Do at least one per buffer full as well (or things can stick a bit on initial input triggers).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16721 a1c6a512-1295-4272-9138-f99709370657
2008-03-20 17:03:57 +00:00
Andree Buschmann
fd052ec753 Commit FS#8750. Add ARM assembler for the dsp-functions channels_process_sound_chan_mono(), channels_process_sound_chan_karaoke(), sample_output_mono() and sample_output_stereo(). By measurement the speed up is ~75% for the first three functions and ~40% for sample_output_stereo(). Additionally avoid calling yield() to often in dsp.c -- it is now limited to once per tick.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16717 a1c6a512-1295-4272-9138-f99709370657
2008-03-19 13:55:53 +00:00
Thom Johansen
39e2de8f1b Crossfeed settings used to be stored inverted in the cfg file for legacy reasons, change that and kill some identical formatting functions while we're at it. NOTE TO CROSSFEED USERS: this will completely garble your crossfeed settings, write them down if you want to keep them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15895 a1c6a512-1295-4272-9138-f99709370657
2007-12-08 01:45:04 +00:00
Thom Johansen
b911ee822a FS #8106. Fix overflow when dithering files that clip a lot, caused by noise shaping error being calculated after clipping instead of before.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15873 a1c6a512-1295-4272-9138-f99709370657
2007-12-04 16:59:45 +00:00
Michael Sevakis
99617d71ba Make speex the new voice format for SWCODEC targets (non-Archos). Remove codec swapping and build speex voice decoding directly into the core binary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15668 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 17:12:19 +00:00
Thom Johansen
e9001ae514 Just because it's #if 0 doesn't make it inferior...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15370 a1c6a512-1295-4272-9138-f99709370657
2007-10-30 00:06:09 +00:00
Thom Johansen
daf937422c Fix faulty clipping when dithering is enabled (thanks to Jens Arnold). This bug would only affect people using WMA. Also, add a small comment in an unrelated place.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15369 a1c6a512-1295-4272-9138-f99709370657
2007-10-29 23:58:00 +00:00
Thom Johansen
c668de3085 FS #7286. Do correct rounding of final 16 bit samples before sending to DAC, for you golden-eared people.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14514 a1c6a512-1295-4272-9138-f99709370657
2007-08-29 14:32:52 +00:00
Dave Chapman
f02cba8096 Code cleaning - remove some unnecessary defined(SIMULATOR) checks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13369 a1c6a512-1295-4272-9138-f99709370657
2007-05-10 13:16:08 +00:00
Michael Sevakis
62e0a516a0 Accept FS#6918 - Remove Nested Functions by Tim Ross. Adjust some names. Hunt down and remove the remaining ones in the recording system as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12955 a1c6a512-1295-4272-9138-f99709370657
2007-03-29 01:55:47 +00:00
Michael Sevakis
138baaa669 SWCODEC: Need to call resampler_new_delta when resetting DSP.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12929 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 18:39:03 +00:00
Michael Sevakis
369c2a37b7 SWCODEC & Coldfire: Do some more DSP straigntening out. Do as much Coldfire optimizing as seems reasonably possible by jumping through some hoops to avoid stalls. Further boost reduction will just be fractional points if taken to extremes-- not worth it. Wrap up the ASM for awhile.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12905 a1c6a512-1295-4272-9138-f99709370657
2007-03-25 04:03:44 +00:00
Thom Johansen
99b2742cd0 Use the new DSP callback functionality in firmware/sound.c to deal with SWCODEC stereo width and channel configuration instead of the old more spread out #ifdef based approach. Rename the DSP functions involved for more consistent naming.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12677 a1c6a512-1295-4272-9138-f99709370657
2007-03-07 19:11:16 +00:00
Thom Johansen
8e6e290a95 Factor first order shelving filter code out for easier reuse and replace the crossfeed filter with it. Crossfeed _should_ still sound the same, so please do tell if it doesn't.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12674 a1c6a512-1295-4272-9138-f99709370657
2007-03-07 15:06:33 +00:00
Michael Sevakis
ab66955664 SWCODEC: Patchup the short crossfade glitching reported for FLAC but seemed not limited to FLAC actually. Crossfade doesn't like being hand the larger chunks that the dsp was now able to process when not resampling. The real fix is making it not matter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12521 a1c6a512-1295-4272-9138-f99709370657
2007-02-28 17:32:31 +00:00
Michael Sevakis
b5b4a16b6d Fix a problem when dithering mono audio. Left samples weren't being duplicated into right channel in pcm buffer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12509 a1c6a512-1295-4272-9138-f99709370657
2007-02-27 19:14:21 +00:00
Thom Johansen
92e6bcbe17 Fix old bug where applying a crossfeed direct gain of 0 dB would result in negative gain.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12508 a1c6a512-1295-4272-9138-f99709370657
2007-02-27 17:55:38 +00:00
Thom Johansen
9636c1b61e Adapt ARM crossfeed assembler to work like the Coldfire one. Remove SWITCHPARAM cruft as it's no longer needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12507 a1c6a512-1295-4272-9138-f99709370657
2007-02-27 17:33:23 +00:00
Michael Sevakis
342337031c crossfeed_data needn't be initialized for every target
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12506 a1c6a512-1295-4272-9138-f99709370657
2007-02-27 14:42:38 +00:00
Michael Sevakis
6fbdb912b0 SWCODEC: Tighten up coldfire assembly a little bit more. Cleanup to make differing parameters between ARM and Coldfire halfway clean. Hopefully those differences can be reconciled soon. A tiny bit of C optimizing for karaoke channel mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12505 a1c6a512-1295-4272-9138-f99709370657
2007-02-27 14:25:36 +00:00
Michael Sevakis
9b9e22731c SWCODEC: Fix the problem of replaygain not being applied unless the menu is 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
2007-02-26 17:15:04 +00:00
Thom Johansen
a7fabf0741 Add software based bass/treble controls for targets which have no such functionality in hardware (currently only X5). They can also be used on any other SWCODEC target by adding #define HAVE_SW_TONE_CONTROLS in the relevant config-*.h file. Also remove some now unneeded zero checks when using get_replaygain_int(). Comments on sound quality are welcome as some parameters can still be fine-tuned.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12489 a1c6a512-1295-4272-9138-f99709370657
2007-02-26 00:41:26 +00:00
Michael Sevakis
d4e904bf35 SWCODEC: Dsp speed optimizations. Changes for more modularity. Removal of 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-24 17:06:36 +00:00
Thom Johansen
011bc8934c Fix broken conversion of 16 bit interleaved stereo to internal format.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12441 a1c6a512-1295-4272-9138-f99709370657
2007-02-21 21:46:05 +00:00
Michael Sevakis
36175ac945 SWCODEC: DSP optimizations for conversion to internal format and resampling. Assembly resampling for Coldfire. Word has it ARM will get that soon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12399 a1c6a512-1295-4272-9138-f99709370657
2007-02-19 02:49:26 +00:00
Daniel Stenberg
0c74d2ce8e include stdbool.h to get the bool type and fix the build error
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12361 a1c6a512-1295-4272-9138-f99709370657
2007-02-17 22:25:23 +00:00
Daniel Stenberg
20a5926d2e build with -Wundef to make sure we have spelled the defines right in #if lines
and have the proper includes included etc


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12360 a1c6a512-1295-4272-9138-f99709370657
2007-02-17 21:54:17 +00:00
Michael Sevakis
09186e31ae SWCODEC: Remove the last quirks when upsampling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12336 a1c6a512-1295-4272-9138-f99709370657
2007-02-16 12:01:35 +00:00
Thom Johansen
96e5e9eef8 Optimise/touchup some asm macros in dsp.h, and also remove some now unneeded ones. Add config.h to dsp.c so that these macros actually get used, and also do some minor nitpicks to the resampler while I'm at it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12322 a1c6a512-1295-4272-9138-f99709370657
2007-02-15 22:51:45 +00:00
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
Thom Johansen
5f48e1590f Optimise EQ coef calculation routines for both speed and size. Move now unneeded fsqrt function to plugin fixed point library in case it'll be needed. Move all fixed point helper macros to dsp.h. Added FRACMUL_SHL macro to facilitate high-precision shifting of 64 bit multiplies and remove rounding from macsr in main thread to make this work as intended.
Tested quite thorougly, but as always, be careful with your ears.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12203 a1c6a512-1295-4272-9138-f99709370657
2007-02-05 01:01:15 +00:00
Jens Arnold
314f3b58f1 More static'ing, and a few fixes resulting from that.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11737 a1c6a512-1295-4272-9138-f99709370657
2006-12-12 22:22:21 +00:00
Michael Sevakis
2b545c3104 Fixed FS#6389 - Sound disappears after pitch change and jump to the start of the song. Forgot to reinit the resampler delta when adding DSP_FLUSH on my last change. Bah.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11621 a1c6a512-1295-4272-9138-f99709370657
2006-11-29 00:16:25 +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
17507b979d Fixed bug in dither_init that was causing the AIFF playback at sample rates other than 44.1kHz to not procede. It created a dependency of setting sample depth before frequency and aiff.codec does it the other way.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11595 a1c6a512-1295-4272-9138-f99709370657
2006-11-25 20:59:45 +00:00
Magnus Holmgren
ea7992455a Make the updated %rg tag match playback behaviour (fall back to track gain if album gain requested but not available). Share the mode decision logic with playback code and simplify the %rg tag handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11532 a1c6a512-1295-4272-9138-f99709370657
2006-11-15 20:26:33 +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
Magnus Holmgren
4b3a00703d Fix the use of equalizer pre-cut in combination with replaygain.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9711 a1c6a512-1295-4272-9138-f99709370657
2006-04-17 21:04:57 +00:00
Thom Johansen
239564c80e Fix/add some comments and remove some old leftover crossfeed code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9705 a1c6a512-1295-4272-9138-f99709370657
2006-04-17 17:24:02 +00:00
Thom Johansen
8238b49c74 New crossfeed complete with no volume reducing bugs. Feedback on all the
new options is appreciated. Thanks to Dan Everton for the settings/GUI
code.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9609 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 13:49:05 +00:00
Miika Pekkarinen
93b6a1d12c Prevent two division by zeros and one problem causing a crash in the
mp3 metadata parser.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9438 a1c6a512-1295-4272-9138-f99709370657
2006-04-02 20:19:00 +00:00
Dan Everton
daebff8b5d Update equalizer precut value as it's adjusted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9332 a1c6a512-1295-4272-9138-f99709370657
2006-03-28 21:19:30 +00:00
Dan Everton
91db368845 Add precut setting for the equalizer and add some more comments to the eq menu code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9298 a1c6a512-1295-4272-9138-f99709370657
2006-03-27 21:20:35 +00:00
Jens Arnold
8083e8c0de Fixed potential sample overflow in variable stereo width > 100% and karaoke mode, both hwcodec and swcodec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9263 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 17:41:36 +00:00
Dan Everton
fac50d12bf Slightly clearer code in dsp_eq_update_data.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9231 a1c6a512-1295-4272-9138-f99709370657
2006-03-24 14:06:30 +00:00
Thom Johansen
cc94ae45a7 Keep assembler versions of DSP routines in dsp_arch.S files. This also
solves the annoying register allocator problem when not using
-fomit-frame-pointer for the Coldfire assembler optimised crossfeed
routine.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9215 a1c6a512-1295-4272-9138-f99709370657
2006-03-23 19:59:52 +00:00
Thom Johansen
e2824c94fc Use size-correct casts. Fixes some AMD64 sim warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9192 a1c6a512-1295-4272-9138-f99709370657
2006-03-22 16:04:51 +00:00
Thom Johansen
b0960aed11 Enabled channel configuration and stereo width option on software codec
platforms.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9173 a1c6a512-1295-4272-9138-f99709370657
2006-03-21 23:20:17 +00:00
Thom Johansen
ea4ccb5aba Samples should always be 32 bit on all platforms, so change most
occurences of long to int32_t to enable working sounds also on 64 bit
sims. Note that some codecs (MP3 and Wavpack) still have other 64
bit related problems.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9120 a1c6a512-1295-4272-9138-f99709370657
2006-03-19 16:31:45 +00:00
Dave Bryant
6472ecfc2e Added a couple inline assembly functions for ARM targets. This just about
doubles the speed of crossfeed and makes a more modest improvement to the
replaygain loop.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8904 a1c6a512-1295-4272-9138-f99709370657
2006-03-04 21:26:47 +00:00
Brandon Low
d04dbca00b Speed dsp gain up slightly mostly with better code order
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8758 a1c6a512-1295-4272-9138-f99709370657
2006-02-20 23:52:47 +00:00
Dan Everton
5a1d77de83 Reduce CPU usage while changing EQ by only updating the coefficients of the band being modified.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8718 a1c6a512-1295-4272-9138-f99709370657
2006-02-17 19:56:22 +00:00
Thom Johansen
f16a9f3b31 Use EMAC rounding mode in EQ coef calc for better precision.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8655 a1c6a512-1295-4272-9138-f99709370657
2006-02-10 23:16:27 +00:00
Dave Bryant
b44c18ea9d Quick fix for crossfeed on iPod. Still needs optimization, but at least no
more unpleasant surprises!


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8618 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 08:01:31 +00:00
Brandon Low
413da2a3d9 Rework PCM buffer
* Linked list instead of static array buffer pointers
* Variable sized chunks
* Improved mix handling
* Reduction in duplicated code
* Reduced IRAM usage w/o sacrificing performance
* Converted to almost entirely unsigned math
* Add pause function to reduce pcm_* exposure to playback.

This WILL break playback on the iPod until linuxstb makes a followup commit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8612 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 20:38:55 +00:00
Dan Everton
88abdd97b2 Add Equalizer configuration to Sound Settings menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8606 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 14:07:46 +00:00
Linus Nielsen Feltzing
dd8cb8a2c1 Committed a little too much
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8569 a1c6a512-1295-4272-9138-f99709370657
2006-02-04 23:16:31 +00:00
Linus Nielsen Feltzing
621bcc2294 The simulator should use the keypad period key, not the regular one
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8568 a1c6a512-1295-4272-9138-f99709370657
2006-02-04 23:15:15 +00:00
Thom Johansen
440d75f938 No need for different name members in eq_data struct.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8534 a1c6a512-1295-4272-9138-f99709370657
2006-02-02 20:03:43 +00:00
Thom Johansen
55ff456c46 Recommit reverted changes and add the missing file...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8484 a1c6a512-1295-4272-9138-f99709370657
2006-01-29 15:37:03 +00:00
Brandon Low
236d52410f Backout part of the last change to fix builds for now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8479 a1c6a512-1295-4272-9138-f99709370657
2006-01-29 02:46:18 +00:00
Thom Johansen
a8cc6a7454 Initial multi-band EQ support for software codec platforms. Now go start
making that user interface!


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8478 a1c6a512-1295-4272-9138-f99709370657
2006-01-29 02:10:28 +00:00
Thom Johansen
80b30761a5 This wont work after all. Someone please introduce -fomit-frame-pointer for debug builds, we don't need the frame pointer anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8243 a1c6a512-1295-4272-9138-f99709370657
2005-12-15 12:47:34 +00:00
Thom Johansen
df7f61e0c1 Fix typo and disable crossfeed assembler version for DEBUG builds, which obviously tend to need the frame pointer which i use.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8242 a1c6a512-1295-4272-9138-f99709370657
2005-12-15 12:40:39 +00:00
Thom Johansen
e8b874b039 Playback speed commit broke mono resampling, this fixes it again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8111 a1c6a512-1295-4272-9138-f99709370657
2005-11-30 01:21:24 +00:00
Thom Johansen
27c658c8a6 Enabled playback speed adjustment support for H1x0. Modified the resampler to do both channels in one pass.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8099 a1c6a512-1295-4272-9138-f99709370657
2005-11-28 22:26:20 +00:00
Thom Johansen
978521fe22 Replaygain support uses the accumulator extension bytss, so disable rounding. Fix some typos.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8051 a1c6a512-1295-4272-9138-f99709370657
2005-11-23 14:30:58 +00:00
Thom Johansen
df37db99ce Added Coldfire ASM optimised crossfeed function. Have not measured speed improvement, but it is faster. Also moved activation check for crossfeed out of function to avoid a function call if it's not activated.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7891 a1c6a512-1295-4272-9138-f99709370657
2005-11-15 10:05:01 +00:00
Marcoen Hirschberg
94404500bb fix crossfeed on non-coldfire platforms and the simulator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7888 a1c6a512-1295-4272-9138-f99709370657
2005-11-15 00:16:24 +00:00
Marcoen Hirschberg
e13fad3b4b add crossfeed dsp effect. Makes some music more enjoyable with headphones.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7884 a1c6a512-1295-4272-9138-f99709370657
2005-11-14 21:56:56 +00:00
Thom Johansen
c9249add41 Automatically set clipping limits based on sample precision.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7719 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 00:30:58 +00:00
Jens Arnold
abd9f83e92 Two new sections for IRAM usage: .irodata (selectable with the ICONST_ATTR attribute macro), allowing to put 'const' data into IRAM without causing a section type conflict, and .ibss (selectable with the IBSS_ATTR attribute macro) for uninitialised data. * Rockbox core: Adjusted the linker scripts and init code to not include the .ibss section in the binary, it is cleared instead. Saves ~500 bytes on archos and ~30KB on iriver. Codecs and plugins don't handle .ibss in a special way yet. * The init code properly handles empty sections now (except .stack, which should never be empty). * Unified the init code for SH1 and coldfire a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7644 a1c6a512-1295-4272-9138-f99709370657
2005-10-19 19:35:24 +00:00
Magnus Holmgren
4b711c2f72 Iriver: Added new ReplayGain type: track gain if shuffle mode is active, album gain otherwise. Properly apply ReplayGain settings on config file load. Bumped config version, so save your settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7558 a1c6a512-1295-4272-9138-f99709370657
2005-09-24 15:22:48 +00:00
Thom Johansen
735208a541 Adapted codecs and DSP system to having MACSR saved in thread context.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7485 a1c6a512-1295-4272-9138-f99709370657
2005-09-07 00:24:27 +00:00
Miika Pekkarinen
159c52dd36 Initial voice ui support for software codec platforms. Added also a
beep when changing tracks.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7360 a1c6a512-1295-4272-9138-f99709370657
2005-08-20 11:13:19 +00:00
Magnus Holmgren
75ef3129c9 iriver: slightly faster replaygain processing and clipping.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7353 a1c6a512-1295-4272-9138-f99709370657
2005-08-18 19:25:39 +00:00
Magnus Holmgren
39cb5b7912 iriver: Do correct ReplayGain calculation. Fixes distortion problems (and lowers playback volume).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7343 a1c6a512-1295-4272-9138-f99709370657
2005-08-17 20:58:15 +00:00
Magnus Holmgren
5a8eac1a5a Added pre-amp setting for files with ReplayGain information.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7303 a1c6a512-1295-4272-9138-f99709370657
2005-08-11 18:56:20 +00:00
Linus Nielsen Feltzing
591d2890f1 patch #1255805 by Frederic Devernay - fix to buffer overflow in dsp.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7301 a1c6a512-1295-4272-9138-f99709370657
2005-08-10 23:17:55 +00:00
Linus Nielsen Feltzing
315304aef6 iriver: added a DSP_SWITCH_FREQUENCY config, for on-the-fly sample frequency changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7298 a1c6a512-1295-4272-9138-f99709370657
2005-08-10 22:56:24 +00:00
Magnus Holmgren
059a6c8671 Make simulator version of FRACMUL correct. Also corrected related comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7261 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 13:47:16 +00:00
Magnus Holmgren
210ce6a766 Speed up clipping; makes Vorbis decoding almost as fast as before the VorbisGain addition. Speeds up MP3 decoding as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7239 a1c6a512-1295-4272-9138-f99709370657
2005-07-25 13:34:28 +00:00
Dave Bryant
c5ebc8e4e4 Added ReplayGain support to WavPack, including a small fix to dsp.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7237 a1c6a512-1295-4272-9138-f99709370657
2005-07-25 03:34:25 +00:00
Magnus Holmgren
4a53787992 ReplayGain support for Ogg Vorbis files (also called VorbisGain) added.
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-24 15:32:28 +00:00
Christian Gmeiner
6753fb5138 oops... should compile without warnings now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7187 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 13:09:05 +00:00
Christian Gmeiner
c6ff1f5eb5 Added CPU_COLDFIRE define - one step closer to iAudio-port
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7186 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 12:40:29 +00:00
Magnus Holmgren
08761aaa52 Restructured DSP code for readability and speed. Simplified the API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7174 a1c6a512-1295-4272-9138-f99709370657
2005-07-16 12:25:28 +00:00
Miika Pekkarinen
ed6a271dfc Removed the bogus debugf.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7172 a1c6a512-1295-4272-9138-f99709370657
2005-07-16 06:28:14 +00:00
Miika Pekkarinen
cda55bbd6f Correctly read the next track metadata information. Don't crash if
frequency is ever set to 0.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7171 a1c6a512-1295-4272-9138-f99709370657
2005-07-16 06:26:29 +00:00
Christi Scarborough
be7894509f (1) Patch 1231281: Alignment tags for the WPS by Per Holmaeng. Use %al for left align, %ac for centre, %ar for right. It is currently not possible to use more than one %a? tag per WPS line. (2) Lots of tabs removed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7034 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 22:27:54 +00:00
Miika Pekkarinen
d54811fe22 Fixed mono playback support for mp3. Added two other event handlers in
playback.c.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6986 a1c6a512-1295-4272-9138-f99709370657
2005-07-02 16:52:30 +00:00
Miika Pekkarinen
4613659643 Initializing resampler structure correctly with zeros.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6900 a1c6a512-1295-4272-9138-f99709370657
2005-06-27 21:12:09 +00:00
Miika Pekkarinen
d8cb703b1e Initial DSP implementation. DSP supports resampling audio stream from
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-26 19:41:29 +00:00