1
0
Fork 0
forked from len0rd/rockbox
Commit graph

290 commits

Author SHA1 Message Date
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
c8193b8da5 The seek_time member of the codec API needs to be decremented before use as a seeking time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7768 a1c6a512-1295-4272-9138-f99709370657
2005-11-06 19:18:04 +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
97a21a3b36 Unrolled loops up to order 10 plus slight optimisation of default case.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7759 a1c6a512-1295-4272-9138-f99709370657
2005-11-05 17:54:37 +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
Dave Chapman
4b03c14a3e Add seekpoint parsing and dummy ICODE_ATTR macro to standalone FLAC test program
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7742 a1c6a512-1295-4272-9138-f99709370657
2005-11-03 18:48:23 +00:00
Dave Chapman
439ba9bdbb Move code into IRAM and explicitly inline some functions (gcc was inlining them anyway, but this way is better)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7741 a1c6a512-1295-4272-9138-f99709370657
2005-11-03 18:14:37 +00:00
Dave Chapman
6f7f921ebe Move all code into IRAM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7740 a1c6a512-1295-4272-9138-f99709370657
2005-11-03 15:32:40 +00:00
Thom Johansen
0263ece7f8 Use direct non-interleaved full precision output data instead of converting to 16 bit interleaved data.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7734 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 19:43:52 +00:00
Thom Johansen
3661215134 Better place for EMAC init.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7733 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 19:23:27 +00:00
Thom Johansen
a8b9fd1cf8 Need to set sample depth before clip limits to avoid having clip limits overridden.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7732 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 19:15:25 +00:00
Thom Johansen
6b8bd6bc1a Support large delay fields in LAME header, plus some cleanups.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7731 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 19:02:25 +00:00
Dave Chapman
057cc06c68 Enable replaygain for the new FLAC decoder
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7729 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 17:26:47 +00:00
Dave Chapman
53dc1fefe9 Make the m4a parser happier with Nero-encoded .mp4 files. This still needs more work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7728 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 14:01:27 +00:00
Dave Chapman
4faf0ce488 Fix simulator builds - DEBUGF explicitly needs rb->
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7724 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 01:53:11 +00:00
Dave Chapman
62e9e8927f Add const attribute to lookup tables
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7723 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 01:29:35 +00:00
Dave Chapman
0eb6754e53 Cosmetic changes - use correct ICONST or IBSS attributes and refer to codec api as "ci" instead of "rb"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7722 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 01:24:45 +00:00
Dave Chapman
5006d15d1e Call ci->seek_complete() callback after processing a seek request (an old API change that wasn't implemented in all the codecs)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7717 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 00:09:42 +00:00
Thom Johansen
0b19487898 Init EMAC properly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7715 a1c6a512-1295-4272-9138-f99709370657
2005-11-01 23:27:41 +00:00
Thom Johansen
60d8db4503 Added some EMAC optimised fixed point routines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7714 a1c6a512-1295-4272-9138-f99709370657
2005-11-01 22:21:27 +00:00
Jens Arnold
2f4327f760 Removed msvc-style x86 inline asm. Now the iriver win32 sim builds again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7713 a1c6a512-1295-4272-9138-f99709370657
2005-11-01 21:17:41 +00:00
Dave Chapman
33b24a1de0 Fix gcc4 warnings for simulator builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7710 a1c6a512-1295-4272-9138-f99709370657
2005-11-01 09:52:24 +00:00
Dave Chapman
b08a942951 Cosmetic change - correct the indenting to the standard Rockbox four spaces
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7709 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 23:34:14 +00:00
Dave Chapman
e85bbad753 Suppress compiler warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7708 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 21:46:50 +00:00
Dave Chapman
cea6d0c92f Initial check-in of AAC codec. Currently only recognises the .mp4 extension and is not yet capable of realtime operation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7706 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 20:56:29 +00:00
Dave Chapman
407be69b8c Add capability to parse AAC files in M4A.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7705 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 20:50:32 +00:00
Dave Chapman
c3f901be56 Correct the prototype for memmove (oops, forgot this file)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7702 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 20:41:54 +00:00
Dave Chapman
6726f4fcf6 Correct the prototype for memmove
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7701 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 20:40:08 +00:00
Dave Chapman
798a4f3533 Changes to make libfaad compile in Rockbox. Also remove compiler warnings, use some IRAM (IRAM usage needs reviewing) and drastically reduce the stack usage
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7700 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 20:33:27 +00:00
Dave Chapman
65de1cc6af Initial check-in of unmodified libfaad (part of the FAAD2 project). This is the last version of libfaad available under the GPL - the state of FAAD2 CVS at midnight on 2005-02-01
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7699 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 18:56:29 +00:00
Thom Johansen
65fe5f144d Some more IBSS_ATTR changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7697 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 13:00:14 +00:00
Dave Chapman
fca6b63ef7 Fix bug with FLAC and ALAC output being half the correct volume. The DSP_SET_SAMPLE_DEPTH function expects needs clarifying or changing - it seems to expect one less than the number of bits in cases where the depth is greater than the native depth (16 bits).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7692 a1c6a512-1295-4272-9138-f99709370657
2005-10-30 22:06:42 +00:00
Dave Chapman
29c7da9e69 Don't copy the data from the audio buffer - request_buffer() guarantees to always return up to GUARD_BUFSIZE bytes, even at the buffer wraparound point. This removes the need for the 32KB static input buffer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7691 a1c6a512-1295-4272-9138-f99709370657
2005-10-30 21:04:32 +00:00
Dave Chapman
15a830bdba Skip ID3v2 tags at the start of a FLAC file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7689 a1c6a512-1295-4272-9138-f99709370657
2005-10-30 15:07:40 +00:00
Miika Pekkarinen
169c935c24 Optimizations to the FLAC-codec buffer requesting to eliminate the
need of extra copying.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7685 a1c6a512-1295-4272-9138-f99709370657
2005-10-30 07:38:52 +00:00
Dave Chapman
6934eaf225 Oops
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7683 a1c6a512-1295-4272-9138-f99709370657
2005-10-29 18:00:04 +00:00
Dave Chapman
45f9e5d7b0 Remove generic M4A parsing code from libalac and create a libm4a - so it can be used by other codecs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7682 a1c6a512-1295-4272-9138-f99709370657
2005-10-29 17:12:52 +00:00
Dave Chapman
dff9352430 Initial seeking support. This only seeks to the nearest point (before the target sample) in the seektable. NOTE: not all FLAC files have seektables - some front-ends have the skill to create FLAC files without them. You can add seek points every 10 seconds to a FLAC file with the command: metaflac --add-seekpoint=10s file.flac
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7680 a1c6a512-1295-4272-9138-f99709370657
2005-10-29 01:39:07 +00:00
Thom Johansen
6ff8463216 Enabled the FLAC EMAC optimisations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7678 a1c6a512-1295-4272-9138-f99709370657
2005-10-28 22:03:52 +00:00
Thom Johansen
c01b987cca Squeezed two very frequently used arrays in IRAM for a very nice performance boost.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7676 a1c6a512-1295-4272-9138-f99709370657
2005-10-28 20:21:58 +00:00
Dave Chapman
e12ab49b73 Add more useful error codes from decoder
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7675 a1c6a512-1295-4272-9138-f99709370657
2005-10-28 20:09:47 +00:00
Dave Chapman
f1844c4166 1) Always enable the DSP. 2) Change codec to output one 32-bit array per channel containing samples left-shifted to 28-bits (instead of 16-bit interleaved samples). 3) Remove the two 16KB internal predicterror_buffer arrays (we use the output arrays instead) 4) Small internal rearrangement of the code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7667 a1c6a512-1295-4272-9138-f99709370657
2005-10-28 00:11:28 +00:00
Dave Chapman
3efa91ed03 Should be referring to libffmpegFLAC, not libalac - how did this work in the past?
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7665 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 17:04:57 +00:00
Dave Chapman
acf9f8455a Prevent compiler warning for LOGF builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7664 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 16:59:23 +00:00
Linus Nielsen Feltzing
dc9e201671 Support for a colon-separated path in APPEXTRA
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7663 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 14:39:00 +00:00
Dave Chapman
d1dc0bd824 Zero the FLACContext during initialisation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7662 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 13:18:05 +00:00
Thom Johansen
5a4423fc23 Didn't mean to commit that...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7661 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 11:44:01 +00:00
Thom Johansen
292e4e90d7 Introduced usage of IBSS_ATTR and ICONST_ATTR in codec libraries.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7660 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 11:39:01 +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
Thom Johansen
c2628f3af9 Replaced jump table with a more efficient one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7658 a1c6a512-1295-4272-9138-f99709370657
2005-10-27 11:00:24 +00:00