Commit graph

108 commits

Author SHA1 Message Date
Brandon Low
68af390d91 Unify pcm_playback code where applicable to make working with it a bit nicer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9251 a1c6a512-1295-4272-9138-f99709370657
2006-03-25 18:41:42 +00:00
Brandon Low
8307d0b388 Fix weirdness caused by not stopping buffering during pause, and generally use a more sane pause behavior on swcodec targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9221 a1c6a512-1295-4272-9138-f99709370657
2006-03-24 02:38:57 +00:00
Linus Nielsen Feltzing
8b61dd1cc5 Quick hack to make the application compile for iAudio X5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9160 a1c6a512-1295-4272-9138-f99709370657
2006-03-21 12:29:30 +00:00
Brandon Low
63ba93c9ca Revert non-functional peakmeter fix, fix it for real? this time
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8990 a1c6a512-1295-4272-9138-f99709370657
2006-03-10 13:47:12 +00:00
Brandon Low
7bc5bc4b49 Fix peakmeter reading off the end of the buffer, thanks to petur
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8981 a1c6a512-1295-4272-9138-f99709370657
2006-03-09 21:25:08 +00:00
Dave Chapman
48e8e1d820 iPod 3G: Enable I2S interrupts for the main processor, not the COP
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8971 a1c6a512-1295-4272-9138-f99709370657
2006-03-09 08:49:52 +00:00
Brandon Low
06d085a952 _Slight_ optimization of peak calculation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8949 a1c6a512-1295-4272-9138-f99709370657
2006-03-07 23:10:24 +00:00
Thom Johansen
149df9794e Make better use of banked registers in FIQ mode to shrink the iPod FIQ
handler a bit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8920 a1c6a512-1295-4272-9138-f99709370657
2006-03-05 21:16:57 +00:00
Dave Chapman
a1e2a52e3e iPod 3G - small audio fixes, but it still isn't working.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8850 a1c6a512-1295-4272-9138-f99709370657
2006-02-26 20:29:29 +00:00
Dave Chapman
2f76763d73 iPod 3G - initial (completely untested) attempt at audio support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8847 a1c6a512-1295-4272-9138-f99709370657
2006-02-26 15:59:46 +00:00
Dave Chapman
6c2fafb98b Make pcm_playback.c compile for the iPod 3G - there is no playback implemented yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8833 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 19:02:55 +00:00
Thom Johansen
52774bcfbc Shave off one instruction in fiq handler!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8804 a1c6a512-1295-4272-9138-f99709370657
2006-02-23 11:31:55 +00:00
Thom Johansen
ec93f4685c Correct the channel order in the ASM optimised fiq handler. Correct a
jump target.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8753 a1c6a512-1295-4272-9138-f99709370657
2006-02-20 20:23:21 +00:00
Thom Johansen
2c3ae4a3ab Remove unneeded variable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8732 a1c6a512-1295-4272-9138-f99709370657
2006-02-19 01:05:06 +00:00
Thom Johansen
f761cec193 Added assembler FIQ handler for iPod. Remove unnecessary SIMULATOR check
and some debug code in pcm_playback.c.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8731 a1c6a512-1295-4272-9138-f99709370657
2006-02-19 00:57:27 +00:00
Dave Chapman
9581ad39ec iPod: Audio driver for iPod Video/5G. Rename wm8971_* functions to wmcodec_* to enable unification of the audio code for WM codecs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8676 a1c6a512-1295-4272-9138-f99709370657
2006-02-13 13:48:08 +00:00
Tomasz Malesinski
bf54647132 Fixed warnings in the iFP target.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8671 a1c6a512-1295-4272-9138-f99709370657
2006-02-12 23:26:18 +00:00
Dave Chapman
6099dc8b77 iPod: Re-written audio driver. This brings it in line with changes to pcm playback system, and also appears to fix all the ipod-specific playback glitches
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8614 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 20:49:13 +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
Dave Chapman
987879b958 Further iPod 3G work from Seven Le Mesle
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8583 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 17:34:49 +00:00
Linus Nielsen Feltzing
760fea9ac7 iAudio X5: various fixes to make the bootloader compile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8560 a1c6a512-1295-4272-9138-f99709370657
2006-02-04 00:01:15 +00:00
Dave Chapman
b4bc9fd068 iPod: Enable peakmeter
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8516 a1c6a512-1295-4272-9138-f99709370657
2006-02-01 00:17:36 +00:00
Dave Chapman
b9e10d9a07 iPod: First working audio driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8474 a1c6a512-1295-4272-9138-f99709370657
2006-01-28 20:33:57 +00:00
Miika Pekkarinen
4503b96749 Fixed the red builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8417 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 11:56:08 +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
3458be2d9d Prevent a very tiny pop from happening when starting/stopping pcm
playback.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8406 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 22:35:42 +00:00
Brandon Low
d8a6c0665d Improve performance by putting more of the code and variables that are called by the DMA0 interrupt into IRAM (3% boost improvement on my test track).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8404 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 16:47:36 +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
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
Miika Pekkarinen
64fe299d70 Don't put S/PDIF out of sync when audio is being paused.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8289 a1c6a512-1295-4272-9138-f99709370657
2005-12-27 18:00:45 +00:00
Dave Chapman
fa51eb4ee8 iPod: Correctly disable playback so we can test codec speeds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8250 a1c6a512-1295-4272-9138-f99709370657
2005-12-16 11:42:39 +00:00
Dave Chapman
a472ed5114 iPod - Initial skeleton of an audio driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8248 a1c6a512-1295-4272-9138-f99709370657
2005-12-16 11:00:44 +00:00
Linus Nielsen Feltzing
c9016f82e0 The DMA controller issued a DMA IRQ immediately when started, making it skip the entire first audio block. Setting the DONE bit before initializing seems to fix this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8166 a1c6a512-1295-4272-9138-f99709370657
2005-12-06 09:09:21 +00:00
Linus Nielsen Feltzing
ec5366ac79 No S/PDIF playback on H300
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8076 a1c6a512-1295-4272-9138-f99709370657
2005-11-27 01:11:25 +00:00
Linus Nielsen Feltzing
73a35a1aa4 Reverted erroneous commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7918 a1c6a512-1295-4272-9138-f99709370657
2005-11-16 23:42:19 +00:00
Linus Nielsen Feltzing
df0e5effc5 Cleaned up bootloader linker control file and added the H300 target
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7916 a1c6a512-1295-4272-9138-f99709370657
2005-11-16 23:15:59 +00:00
Dave Chapman
a3bf2ec61c More iPod changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7825 a1c6a512-1295-4272-9138-f99709370657
2005-11-12 15:29:43 +00:00
Jens Arnold
72f98786a0 Fixup of the MCF5249 memory mapped register definitions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7755 a1c6a512-1295-4272-9138-f99709370657
2005-11-05 03:28:20 +00:00
Jens Arnold
99a0598c28 Major peakmeter rework: * Changed set/get functions for dbfs mode to bool type. * Removed performance setting, leaving (slightly adapted) high performance mode only. * Refresh rate is always 20 Hz now. * Readout doesn't do an extra (hidden) peek, should allow for slightly better clip detection. * Brought back high performance peakmeter for recording. Peakmeter stops hogging the CPU when the disk is spinning; this is enough to avoid the performance problem when saving data. * Optimisations, code cleanup and code policeing. * (iriver) Reduced CPU load of peakmeter by not calculating excessive overlaps. ** Bumped config block version, so save your settings before upgrading.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7415 a1c6a512-1295-4272-9138-f99709370657
2005-08-29 20:07:17 +00:00
Miika Pekkarinen
d7170b7542 iRiver: Reduced pops from the line out connector.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7411 a1c6a512-1295-4272-9138-f99709370657
2005-08-28 15:33:37 +00:00
Miika Pekkarinen
6e291fdcdf Fixed and removed the most annoying pops with iRiver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7368 a1c6a512-1295-4272-9138-f99709370657
2005-08-21 17:34:56 +00:00
Linus Nielsen Feltzing
7db258f3c7 Removed the uda1380_mute() calls, since they were called in interrupt context, which could lead to a big crash. This will reintroduce a slight pop when starting/stopping playbac, and when switching tracks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7357 a1c6a512-1295-4272-9138-f99709370657
2005-08-19 12:29:28 +00:00
Christian Gmeiner
14e80671af iAudio: First unfinished attempt for tlv320 driver and rockbox integration
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7286 a1c6a512-1295-4272-9138-f99709370657
2005-08-06 10:12:19 +00:00
Miika Pekkarinen
6b807b2d24 Fixed MAC initialization problem with mpa codec and removed workaround
for that bug.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7260 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 13:46:38 +00:00
Dave Bryant
27c83252e2 The peak meter on iRiver didn't look right to me and the code seemed to be
making it a lot more complicated that it needed to be, so I threw in some new
code. This should be easy to adjust for different CPU loads, and I set it up
to use a little less than what was there. If this causes any trouble, please
roll it back.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7238 a1c6a512-1295-4272-9138-f99709370657
2005-07-25 05:50:47 +00:00
Miika Pekkarinen
90161c92dd It's now possible to select the crossfading mode: "Off, Crossfade,
Mix". If set to mix, no fading is applied but tracks are mixed up.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7224 a1c6a512-1295-4272-9138-f99709370657
2005-07-22 16:46:27 +00:00
Miika Pekkarinen
eab434c416 More accurate playback position calculation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7218 a1c6a512-1295-4272-9138-f99709370657
2005-07-22 06:32:55 +00:00
Linus Nielsen Feltzing
4c5f25d523 iriver: set the S/PDIF Validity flag correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7189 a1c6a512-1295-4272-9138-f99709370657
2005-07-18 15:55:56 +00:00
Miika Pekkarinen
2103cf4b74 Check that remaining bytes counter is not zero.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7183 a1c6a512-1295-4272-9138-f99709370657
2005-07-17 21:02:40 +00:00
Miika Pekkarinen
e9919342c5 Initial attempt to support peak meter on iriver. It still has some
strange behaviour and readings might not be correct.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7182 a1c6a512-1295-4272-9138-f99709370657
2005-07-17 19:29:02 +00:00