Commit graph

1182 commits

Author SHA1 Message Date
Andree Buschmann
45ab395c2f Some asm code beautification in the mpc decoder.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26592 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 17:52:31 +00:00
Michael Sevakis
06a98b15bc SPC codec: The inline asm 'memory' clobbers should be unneeded since the ASM either does not modify memory (only loads values), or it modifies things only other ASM blocks deal with and the operand constraints mark them as in/out/both.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26538 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 02:20:19 +00:00
Yoshihisa Uchida
6ebe76c147 tta codec: optimize for arm target. pp502x: ~1% speed up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26478 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 10:54:11 +00:00
Rafaël Carré
0ea7905395 ARM: use BX when branch to an address in register
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26432 a1c6a512-1295-4272-9138-f99709370657
2010-05-31 15:14:26 +00:00
Andree Buschmann
6805448195 Correction to clobber lists of several codec's inline assembly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26376 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 15:00:10 +00:00
Andree Buschmann
9ab57e510e Small changes to asm for better readability.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26375 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 14:56:25 +00:00
Mohamed Tarek
76aeb6028e Rename seek() to asf_seek()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26237 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 16:05:28 +00:00
Mohamed Tarek
546edf3621 Move seek() from wma.c to libasf since it's really ASF-specific.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26235 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 15:51:22 +00:00
Nils Wallménius
04bd1a045f fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26085 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 12:34:43 +00:00
Nils Wallménius
4f22052b5a Since we no longer use -fno-strict-aliasing in CFLAGS we don't need to strip it out for the codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26084 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 11:57:47 +00:00
Jeffrey Goode
6083f3dff5 Fix logf lines in codecs (type mismatches)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26038 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 01:57:32 +00:00
Andree Buschmann
db42781ca8 Fix FS#11261 (slow seek forward in mpc files). Since the introduction of the sv8 library mpc did not use efficient buffering when seeking forward. With this change the implementation will not flush the buffer on each frame but will keep the already buffered data as long as possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26032 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 22:06:28 +00:00
Yoshihisa Uchida
9fedf45814 updates the README document.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26017 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 11:24:36 +00:00
Nils Wallménius
800e710258 Set up EMAC mode in cook, fixing whitenois when transitioning from a codec using different emac mode.'
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26016 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 11:08:59 +00:00
Yoshihisa Uchida
32794a9eef fix: The second playback time is not correct in playing TTA musics continuously.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26015 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 11:08:56 +00:00
Nils Wallménius
abd6b147cc Restor setting of EMAC mode on coldfire lost in r25056 fixes whitenoise when transitioning from a codec using a different EMAC mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26013 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 10:48:26 +00:00
Michael Giacomelli
8cb4183839 Put decoder array into IRAM. Improves Coldfire (h300) performance 218MHz ->102.84 MHz. Should be realtime on all CF targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25998 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 18:37:06 +00:00
Yoshihisa Uchida
0f5c6d47d4 add True Audio (TTA) codec
decoding speed iPod video ~153%
But in some players, the decoding speed is not enough.
(e.g., H180 52.4% (thanks amiconn), H300 55.09% (thanks n1s))

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25994 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 12:40:09 +00:00
Nils Wallménius
889b4a8ce8 Two tiny tweaks to some arm asm
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25993 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 09:44:05 +00:00
Nils Wallménius
88bd8e74c4 Some asm for mdct on coldfire, speeds up vorbis decoding by about 0.3MHz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25984 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 08:03:42 +00:00
Nils Wallménius
85f0873682 Simplify special case function, speedup of about 0.2MHz on both coldfire and pp decoding the files in the test set
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25977 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 22:41:17 +00:00
Jens Arnold
08d3c0be37 Revert r25929. Test have shown that the assembler code is more than 50% faster than the C code both on ARM7TDMI (tested on PP5002 and PP5022) and on ARM1136JF-S (tested on Gigabeat S). If it is slower on ARM9*, it should be disabled for ARM9 only.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25937 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 19:05:25 +00:00
Rafaël Carré
aee2dcf958 flac: remove ARM assembly
Using current gcc it only makes decoding a tiny bit slower
Using eabi gcc it makes no speed difference
Tested on fuzev1

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25929 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 13:01:40 +00:00
Rafaël Carré
b24fac4ca6 wmafixed.h: remove double declaration
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25925 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 10:20:55 +00:00
Mohamed Tarek
270f136fd2 Fix ffmpeg revision number in libwmapro/README.rockbox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25923 a1c6a512-1295-4272-9138-f99709370657
2010-05-09 21:52:35 +00:00
Mohamed Tarek
cd4d80aeba nomsg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25922 a1c6a512-1295-4272-9138-f99709370657
2010-05-09 21:42:09 +00:00
Andree Buschmann
452c5b2197 Unroll mpc's requantization loops for some (minor) speed up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25891 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 21:36:55 +00:00
Andree Buschmann
f2b1f8d768 Refactor mpc's requantization to use identical macros for each subframe.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25887 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 19:58:34 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Thomas Martitz
0a1d7c28b7 Make open() posix compliant api-wise. A few calls (those with O_CREAT) need the additional optional mode parameter so add it. Impact for the core is almost zero, as open() is a wrapper macro for the real open function which doesn't take the variable parameter.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25844 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 17:35:13 +00:00
Mohamed Tarek
7f9d30ba3e missed a comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25789 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 20:13:27 +00:00
Mohamed Tarek
2fa864b9e6 Remove unnecessary parameter (struct codec_api* ci) passed to libasf functions, and consequently remove the no-longer needed #ifdef in apps/codecs/libasf/asf.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25788 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 20:07:11 +00:00
Andree Buschmann
5768f2b145 Remove residual tabs in codec directory.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25785 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 19:16:47 +00:00
Andree Buschmann
b95326da29 Change naming of arm asm routines in libmad's synthesis to match their functionality.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25784 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 19:01:37 +00:00
Mohamed Tarek
7aaae54afc - Modify metadata/asf.c to use libasf.
- Modify the files in libwma to use libasf.
- Remove apps/codecs/libwma/asf.h since it's not used now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25783 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 18:27:01 +00:00
Mohamed Tarek
80b9bb4f17 Add the Rockbox GPL header to apps/codecs/libasf/asf.c and fix the one in apps/codecs/wma.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25781 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 17:30:41 +00:00
Mohamed Tarek
792ae6b1bd - Factor out container specific code from apps/codecs/wma.c.
- Create an independent asf packet-parsing library in apps/codecs/libasf.
- Modify wma.c to use the newly created libasf.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25780 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 17:19:42 +00:00
Andree Buschmann
13075dea87 Fix a bug introduced with r25777.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25779 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 16:32:05 +00:00
Mohamed Tarek
703608d8c5 Fix intdentation apps/codecs/libwma/asf.h, no functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25778 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 15:56:35 +00:00
Andree Buschmann
eec5eb9ecc Refacturate arm version of libmad's synthesis filter. Only two asm macros left, renamed asm-implementation for better clarity. No change in speed or precision.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25777 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 15:45:43 +00:00
Michael Sevakis
9f157ad584 Do some SPC codec optimizing for ARMv6 (as a training exercise), tweak realtime BRR for all CPU that use it, add Gaussian ASM optimization for all ARM that can use it. Add some LIKELY/UNLIKELY branch hints. On Gigabeat-S gives +22% speedup. For Gigabeat F, about +5% speedup. For less-powerful players, no real change aside possibly from branch hints.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25771 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 02:44:45 +00:00
Mohamed Tarek
fe147cec65 Modify the ffmpeg source files in apps/codecs/libwmapro in order to compile the codec standalone.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25764 a1c6a512-1295-4272-9138-f99709370657
2010-04-30 12:20:25 +00:00
Mohamed Tarek
cf43e5083b Add libwmapro to apps/codecs. These files comprise a set of unmodified files needed from ffmpeg's libavcodec and libavutil to compile and use the wma pro decoder standalone. The files were taken from ffmpeg's svn r22886 dated 15 April 2010.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25763 a1c6a512-1295-4272-9138-f99709370657
2010-04-30 11:11:56 +00:00
Mohamed Tarek
67f7ecf731 Revert r25739 which added libwmapro to apps/codecs, in preparation to commit the unmodified ffmpeg files first, for the sake of a consistent/complete svn history.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25758 a1c6a512-1295-4272-9138-f99709370657
2010-04-29 15:14:43 +00:00
Mohamed Tarek
dda7fab1d6 Add libwmapro to trunk.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25739 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 18:04:34 +00:00
Bertrik Sikken
1cd1e66ed3 Clean up libmusepack: move declarations to internal.h and set svn properties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25676 a1c6a512-1295-4272-9138-f99709370657
2010-04-18 18:12:32 +00:00
Yoshihisa Uchida
94fb09316a fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25291 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 10:47:09 +00:00
Yoshihisa Uchida
7a3822c8b0 fix bug: WAV file playback does not resume (FS#11077)
Not only WAV but also Sun audio, SMAF, vox and WAV64 can resume.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25289 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 10:02:05 +00:00
Andree Buschmann
cfe51fb0e8 Fix FS#11127. r25165 introduced a bug to the aac codec, which lead to not resetting the time position.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25249 a1c6a512-1295-4272-9138-f99709370657
2010-03-19 15:27:10 +00:00
Michael Giacomelli
70ac57b95b Change various CPU_ARM defines to _ARM_ASSEM_ to be more consistent with the rest of Tremor.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25214 a1c6a512-1295-4272-9138-f99709370657
2010-03-16 04:47:24 +00:00