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
Andree Buschmann
c18e80e127
Implement resume for alac codec.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25169 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 16:05:12 +00:00
Magnus Holmgren
a0692a40b2
Make resume handling in the AAC codec less confusing. No functional change.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25165 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 13:37:41 +00:00
Andree Buschmann
1f725ebe34
Fix FS#11103. Resuming musepack files was handled wrong since ages. This change converts the decoders exact sample position to an estimated byte position within the file. The resume position in samples is calculated the reverse way,
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25164 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 13:32:16 +00:00
Yoshihisa Uchida
0996bbd278
corrects the smaf parser the following.
...
- It is normally retrieved even if the position of wave data is not in given position from the head.
- The problem that artist/title/composer cannot be given normally when the character code != iso8859-1, utf-8.
- The problem that the position of chunk does not given correctly some mmf files.
- artist/title/composer stored in not id3v1buf but id3v2buf.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25141 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 05:53:54 +00:00
Yoshihisa Uchida
4446d1bc85
reduce firmware and sun audio codec.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25140 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 05:19:40 +00:00
Andree Buschmann
24c0474472
Fix comment on interpolation macro.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25136 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 20:09:55 +00:00
Andree Buschmann
76e8701626
Fix playback of atrac3 joint stereo encoded files. Define the interpolation macro in the right way.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25135 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 20:07:28 +00:00
Andree Buschmann
2ac401f486
Make atrac3 streams in wav containers work again (error was introduced with r24782). Add additional info to atrac3 debug information.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25134 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 18:47:13 +00:00
Andree Buschmann
c82cac4c3d
Restore musepack's IRAM configuration to pre r25127 for non PP5022/24.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25133 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 18:36:01 +00:00
Yoshihisa Uchida
2a9c42d1ed
libpcm: output depth corrects for the sign 1bit. linear pcm corrects bits shift.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25131 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 11:34:09 +00:00
Andree Buschmann
263e4d5cbf
Minor optimization for musepack codec through moving functions to IRAM on PP processors. Speed ups codec by 0.25 MHzon PP5022.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25127 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 20:58:38 +00:00
Andree Buschmann
398ec52817
Refacturate IRAM configuration for musepack codec. No functional change.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25126 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 20:19:31 +00:00
Jens Arnold
029e74866a
Move (small) data into DRAM on PP5020, it's ~4.5% faster that way. Closes about half of the performance gap towards PP5022. The (relatively large) buffers for decoded data stay in IRAM, as does the reciprocal table. Clarify some comments.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25108 a1c6a512-1295-4272-9138-f99709370657
2010-03-10 21:39:12 +00:00
Nils Wallménius
c7f4773cf6
Simplify makefile
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25084 a1c6a512-1295-4272-9138-f99709370657
2010-03-09 03:20:14 +00:00
Rafaël Carré
d2c1765800
Use bx lr unconditionally in setjmp_arm.S
...
Rockbox doesn't support ARMv4 non T CPUs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25083 a1c6a512-1295-4272-9138-f99709370657
2010-03-09 00:22:23 +00:00
Andree Buschmann
4ad89fdf6d
Use more IRAM for musepack on S5L870X CPUs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25064 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 21:38:42 +00:00
Andree Buschmann
fb70ec6ff9
Use larger IRAM for M5/X5 in vorbis.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25061 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 21:02:55 +00:00
Andree Buschmann
e0b5ed8f01
Fix red.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25059 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 20:44:50 +00:00
Andree Buschmann
3200c77df5
Move WMA decoder array to IRAM on M5/X5 for better performance.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25058 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 20:35:21 +00:00
Andree Buschmann
b3d9578c27
Major change to musepack decoder: Import v1.3.0 (r458 from svn.musepack.net) to rockbox. Several adaptions in the musepack decoder were made to get the library work and perform fast under rockbox on several targets. With this change mpc sv8 is supported, including seek, replay gain and metadata support. The decoding speed is a 1-4% lower than the last implementation. Reason for this is main restructuring in the bitstream demuxer.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25056 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 19:34:44 +00:00
Yoshihisa Uchida
1e9789879f
ima adpcm/swf adpcm: corrects the problem the noise occurs after the play ends.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25052 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 07:27:45 +00:00
Yoshihisa Uchida
f640b89a12
wave codec
...
- does not get dwAvgBytesPerSec
wave/aiff/smaf/wave64 codec
- corrects the problem that codec_main() returns invalid value.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25051 a1c6a512-1295-4272-9138-f99709370657
2010-03-07 07:15:21 +00:00
Yoshihisa Uchida
8050d47a4e
When seek action failed, play time is invalid.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25041 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 08:13:56 +00:00
Yoshihisa Uchida
ff733b5f89
libpcm: decoded pcm depth corrects.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25040 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 05:51:24 +00:00
Michael Giacomelli
43ed678b46
strip trailing space
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25037 a1c6a512-1295-4272-9138-f99709370657
2010-03-05 22:03:34 +00:00
Michael Giacomelli
6fc422e940
Fix red by moving fsincos back to libwma
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25036 a1c6a512-1295-4272-9138-f99709370657
2010-03-05 21:49:40 +00:00
Michael Giacomelli
4e797175f1
Remove unused GPL code from ffmpeg mdct library in order to restore it to LGPL.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25035 a1c6a512-1295-4272-9138-f99709370657
2010-03-05 21:37:46 +00:00
Nils Wallménius
b382d8334b
Fix broken whitespace after r24862
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25031 a1c6a512-1295-4272-9138-f99709370657
2010-03-05 09:48:07 +00:00
Nils Wallménius
a4c3913afd
Remove leftover unused buffer from the mdctexp branch
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25022 a1c6a512-1295-4272-9138-f99709370657
2010-03-04 06:31:34 +00:00
Jens Arnold
5c80a838e4
libdemac: Separate filtering calls per channel in preparation for the dual-core split on PP. This also means less inlining, and hence speeds up decoding on single core slightly, due to better caching behaviour.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25005 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 21:20:13 +00:00
Jens Arnold
0030ae28b5
Get rid of .rept in inline asm() blocks where possible. Using .rept causes gcc to wrongly estimate the size of the asm(), leading to (potential) compilation problems. This is necessary for the upcoming restructuring, and should fix ARMv6+ sim builds as well. No functional change.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25004 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 20:52:02 +00:00
Yoshihisa Uchida
942d7c6bcc
fix yellow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24962 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 10:54:09 +00:00
Dave Chapman
9367aa3648
Fix 64-bit sim warning introduced in r24955
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24960 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 09:55:33 +00:00
Yoshihisa Uchida
561cb2c401
Add wave64(.w64) codec (FS#11022)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24959 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 08:48:07 +00:00
Yoshihisa Uchida
8c5eaa35ec
Add vox (Dialogic telephony formats) codec add. (FS#11021)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24956 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 08:13:30 +00:00
Yoshihisa Uchida
4e3c807466
Add Sun Audio codec. (FS#10433)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24955 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 07:22:20 +00:00
Bertrik Sikken
9502021590
Add missing #include in libpcm codecs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24887 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 19:02:14 +00:00
Yoshihisa Uchida
78aced2831
fix yellow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24881 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 13:08:31 +00:00
Yoshihisa Uchida
45e009a364
add SMAF codec (.mmf extension)(FS#10432)
...
This codec supports only wave data (ADPCM and PCM).
It does not support MIDI, picture, and movie.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24878 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 11:46:29 +00:00
Yoshihisa Uchida
aa58715a54
libpcm: deletes PCM_CHUNK_SIZE.
...
aiif.c/wav.c: deletes #include <inttypes.h>.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24877 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 11:30:16 +00:00
Andree Buschmann
3f5f3524d4
Change liba52 and libmad to the original 8-spaced tabbing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24863 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 21:02:57 +00:00
Andree Buschmann
398b37124e
Remove all tabs within codec path.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24862 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 19:44:05 +00:00
Andree Buschmann
28bc321dbb
Remove CLIP_TO_15 from codeclib. Remove tabs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24834 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:05:48 +00:00
Andree Buschmann
02ab23e92f
Make mdct compilable again for non-ARM targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24822 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 21:39:38 +00:00
Andree Buschmann
d67e25d3b9
Further work on cook codec. Rounding is not needed when using a large fract part in the internal sample representation. Move quantization array to iram. Beautification of mdct post processing. Speed up of 0.2 MHz on PP5022.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24821 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 21:18:05 +00:00
Dave Hooper
0b5338a6e9
Eep, didn't mean to commit those other files
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24820 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 21:17:53 +00:00
Dave Hooper
3c52395b57
Get a few more % speedup on ARM (measured on ipod video) - improve imdct full final symmetries using ldm/stm and simple register swapping. Also, add more comments (and improve/update some of the existing ones) regarding the layout of the imdct_half and the imdct_full
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24819 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 21:14:40 +00:00
Andree Buschmann
3d6faa08bf
Optimization for cook codec. Rework sample output to be able to use highly optimized dsp routines. Moved some functions to iram. Speeds up codec by 1.3 MHz on PP5022.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24815 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 19:47:05 +00:00
Dave Hooper
a3068ca863
Unroll and optimise channel coupling for arm gives 0.6Mhz speed for vorbis on pp(ipod video)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24808 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 15:36:35 +00:00
Dave Hooper
e4217d4845
Reinstate ICONST_ATTR for matrixCoeffs_fix ; remove (silly) gain_tab1 and replace with a simple bitshift in the code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24788 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 12:55:35 +00:00
Dave Hooper
e90deded40
Remove ICONST_ATTR from some tables, to fit into PP5020 iram (now that mdct is in iram it's a bit of a squeeze). (per Buschel on irc)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24787 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 12:44:52 +00:00
Dave Hooper
730a618fae
Adding ICODE for imdct (and its constituent ifft bits) gives 0.5MHz boost on arm (ipod video) and about 5MHz boost on coldfire (H120)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24786 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 11:00:16 +00:00
Yoshihisa Uchida
9f63f4f2fc
libpcm: linear pcm decode logic separates according to each bitspersample, endian, and signess.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24785 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 10:15:36 +00:00
Andrew Mahone
950b2dfa2c
Clarify comments in ARMv6 divider regarding special-case handling of large (high bit set) numerators.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24783 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 06:29:23 +00:00
Yoshihisa Uchida
3716abba92
commit FS#10424 and FS#10425
...
- wav(RIFF) supports Microsoft ADPCM, Dialogic OKI ADPCM, YAMAHA ADPCM, Adobe SWF ADPCM.
- AIFF supports QuickTime IMA ADPCM.
- DVI ADPCM(IMA ADPCM) reworks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24782 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 02:04:56 +00:00
Michael Giacomelli
93caf52db5
Use new MDCT library for libfaad. Speeds up AAC-LC by 2.5MHz.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24781 a1c6a512-1295-4272-9138-f99709370657
2010-02-20 00:29:31 +00:00
Dave Hooper
3a9852be1c
I don't yet fully understand why this is required, but without it the output is signed-inverted (compared to e.g. the output of oggdec). ac3 confirmed to be ok so the problem must be in the imdct not the ifft. but the algo seems correct (in that seems same as original ffmpeg version)..
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24739 a1c6a512-1295-4272-9138-f99709370657
2010-02-18 00:14:13 +00:00
Dave Hooper
eb943e9495
split_radix_permutation also unused (since now a hardcoded table) - but left intact so we can/could regenerate the table
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24716 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 01:09:45 +00:00
Dave Hooper
7f01b7479a
FIx typo in coldfire asm which caused yellow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24715 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 01:00:45 +00:00
Dave Hooper
6552412027
Fix yellow (bad function declaration)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24714 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 00:58:54 +00:00
Dave Hooper
a5ca79edb5
Fix yellow (ff_fft_permute_c an unused function in codeclib)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24713 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 00:56:57 +00:00
Dave Hooper
42774d3128
Merge from branches/mdctexp - faster ifft+imdct in codec lib
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24712 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 00:49:53 +00:00
Mohamed Tarek
2c25fa88a5
Add the Rockbox GNU header to some files in libatrac.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24692 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 10:35:22 +00:00
Mohamed Tarek
82f05895af
Initial support for ATRAC3 streams in wav containers.
...
Current state :
- Playback and seeking are possible.
- We now support ATRAC3 in any of its possible containers (wav/at3, oma/aa3, and rm/ra).
TODO :
- Fix joint-stereo decoding for ATRAC3 - the decoder currently produces lots of glitches.
- Rename atrac3_oma.c since it works for both oma and wav containers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24689 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 03:34:39 +00:00
Mohamed Tarek
6e5dcaed29
Fix yellow.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24684 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 02:00:28 +00:00
Mohamed Tarek
2e314093c8
"Detach" ATRAC3 from RM. Since ATRAC3 isn't really specific to RM, it must not be obligatory to initialize the decoder through RMContext.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24682 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 01:47:22 +00:00
Andree Buschmann
800e3d9a97
Major optimization of atrac3 codec for Coldfire targets. Moving several number cruncher arrays to IRAM. Decoder is sped up by +50% on h300, decoder now finally is realtime on Coldfire targets as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24677 a1c6a512-1295-4272-9138-f99709370657
2010-02-15 22:38:01 +00:00
Andree Buschmann
86fc47c33a
Minor atrac3 codec optimization. Refacturate requantization of spectral lines, unroll loops.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24672 a1c6a512-1295-4272-9138-f99709370657
2010-02-15 20:20:52 +00:00
Andree Buschmann
51a8be1a0f
Further optimization of atrac3 codec. Refacturate gainCompensateAndOverlap(), avoid multiplication if not needed, unroll loops. Speeds up codec by 1.1 MHz (+2%) on ARM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24668 a1c6a512-1295-4272-9138-f99709370657
2010-02-15 16:11:49 +00:00
Andree Buschmann
ad1ba429b9
Minor speed up of atrac3 codec. Applying 2 bits fract part to scalefactors instead of brute force adding it to the full spectrum. Move decodeSpectrum() to IRAM. Speeds up codec by 1.2 MHz (+2%) on ARM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24667 a1c6a512-1295-4272-9138-f99709370657
2010-02-15 13:14:43 +00:00
Andree Buschmann
57461d7c4f
Work on atrac Joint Stereo mode. Correct calculation in getChannelWeights(), introduce lookup table and remove obsolete code. Optimize interpolation macro.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24665 a1c6a512-1295-4272-9138-f99709370657
2010-02-15 13:00:02 +00:00
Jens Arnold
b8eb272e48
libdemac: Add x86/x86_64 MMX asm for the filters. Not relevant for target but speeds up decoding on x86/x86_64 sims. Average speedup ranges from 25% for -c2000 to 3 times for -c5000; on Intel Atom it's even 45% for -c2000 to 6 times for -c5000.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24663 a1c6a512-1295-4272-9138-f99709370657
2010-02-15 01:27:04 +00:00
Mohamed Tarek
1bef4c6650
revert last commit (r24660). There was a mistake in the location of the
...
shifts leading to a deteriorated sound quality for some samples.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24662 a1c6a512-1295-4272-9138-f99709370657
2010-02-15 00:04:33 +00:00
Mohamed Tarek
b540be8f4b
Fold a 2-bit shift into decodeSpectrum(), saves 1MHz on ARM, +2%
...
speedup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24660 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 23:41:32 +00:00
Andree Buschmann
f5a0d61a1b
Further optimization and minor clean up of atrac codec: Unroll iqmf_dewindowing for non-ARM speeds up decoder by +10% on H300. Removed some non-used arrays. Codec is still not fully realtime on Coldfire targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24648 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 14:38:18 +00:00
Mohamed Tarek
8722c6f2bb
Make deceodeSpectrum() store the spectral coefficients of odd bands in reverse order, rather than having to reverse them in IMLT(). Also saves 0.11MHz, ~0.16% speedup on PP5024.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24641 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 01:59:14 +00:00
Andree Buschmann
35024bd54e
Speed up atrac codec for ARM through simple loop unrolling. Saves 9 MHz on PP5022 (14% speed up).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24637 a1c6a512-1295-4272-9138-f99709370657
2010-02-13 22:01:24 +00:00
Mohamed Tarek
23ac6ffaa1
Add support for Sony OMA file format. Currently only supports ATRAC3 (without DRM), and seeks. Tested on sansa
...
e200.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24615 a1c6a512-1295-4272-9138-f99709370657
2010-02-12 03:21:37 +00:00
Jens Arnold
6edf71e9b9
Remove leftover from before make system rework.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24602 a1c6a512-1295-4272-9138-f99709370657
2010-02-11 20:33:34 +00:00
Jens Arnold
0a291fff12
APE: Fused vector math for the filters on ARMv5te. Speedup on Cowon D2 is ~4% for -c2000..-c4000 (less for -c5000). Thanks to Frank Gevaerts for testing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24590 a1c6a512-1295-4272-9138-f99709370657
2010-02-10 23:23:17 +00:00
Jens Arnold
1cc4bd8f86
APE: Fused vector math for the filters on ARMv6. Speedup is ~2.5% for -c2000, ~7% for -c3000 and higher.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24569 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 21:59:24 +00:00
Dominik Wenger
ba45adbafc
correctly set playback time in the asap codec. (metadata parser might not do it for all fileformats).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24567 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 16:48:56 +00:00
Andree Buschmann
4d5e88245a
Remove more tabs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24550 a1c6a512-1295-4272-9138-f99709370657
2010-02-07 18:38:47 +00:00
Andree Buschmann
cc572378fc
Submit FS#10974: Speed up mpc-codec through changing the dct32-algorithm. +5% on PP5020, +12% on M5.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24544 a1c6a512-1295-4272-9138-f99709370657
2010-02-07 14:04:46 +00:00
Jens Arnold
69fe1ad830
Put back the insane buffer where it belongs on non-ARM, and simplify the selection.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24512 a1c6a512-1295-4272-9138-f99709370657
2010-02-04 20:20:10 +00:00
Dominik Wenger
35472fe7f1
sync asap codec to ASAP 2.1
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24511 a1c6a512-1295-4272-9138-f99709370657
2010-02-04 17:31:10 +00:00
Andrew Mahone
723d5c6da6
Fix yellow: add newline at EOF in udiv32_arm-pre.S
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24508 a1c6a512-1295-4272-9138-f99709370657
2010-02-04 08:55:36 +00:00
Andrew Mahone
b1caf4a07d
Use all available codec iram for reciprocal table in APE codec on ARMv4. Done by linking first with the table empty to determine free space, then sizing table to fill it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24507 a1c6a512-1295-4272-9138-f99709370657
2010-02-04 08:45:38 +00:00
Andrew Mahone
8ed7bda64c
Move udiv32_arm.S into libdemac, as this divider is specialized for the APE codec and an optimized divider is already provided for general use in codeclib.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24506 a1c6a512-1295-4272-9138-f99709370657
2010-02-04 05:49:37 +00:00
Tom Ross
db64bf9ea4
FS #10690 : Add support for 24 bit ALAC files based on libalac 0.2.0
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24475 a1c6a512-1295-4272-9138-f99709370657
2010-02-03 00:37:24 +00:00
Jens Arnold
b2ffb3e08f
Reduce reciprocal table size a bit on Nano 2nd Gen as well (fix red).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24474 a1c6a512-1295-4272-9138-f99709370657
2010-02-02 23:06:28 +00:00
Jens Arnold
9f6586698a
APE codec: Speed up decoding of -c2000 and higher on ARMv4 and coldfire by fusing vector math for the filters. Speedup is roughly 3.5% for -c2000, 8% for -c3000 and 12% for -c4000. To be extended to other architectures.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24473 a1c6a512-1295-4272-9138-f99709370657
2010-02-02 22:50:21 +00:00
Andrew Mahone
bff5a35c3c
FS#10943, optimized division and clz routines to replace libgcc routines for ARM. Replaces libgcc support functions for unsigned and signed 32-bit division on ARMv4 and up, and leading-zero count on ARMv4.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24432 a1c6a512-1295-4272-9138-f99709370657
2010-02-01 01:36:46 +00:00
Andree Buschmann
db4d7a313e
1st part of fix for FS#10637. Correction of mpc header parsing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24408 a1c6a512-1295-4272-9138-f99709370657
2010-01-31 11:43:42 +00:00
Andrew Mahone
436f4d3a20
Improve libdemac SATURATE slightly on ARMv4/5, move filter buffers and code out of IRAM for sizes that aren't near realtime and extend udiv32_arm reciprocal table.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24376 a1c6a512-1295-4272-9138-f99709370657
2010-01-30 02:20:54 +00:00
Bertrik Sikken
e3e436e2b5
libpcm: add missing #include and set svn:keywords
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24365 a1c6a512-1295-4272-9138-f99709370657
2010-01-28 17:28:27 +00:00
Andrew Mahone
2347a7dc65
Small fix for ARMv5e/v6 APE divider, correct large-divisor path and remove specialized version of it for small dividend, as the test and branch can't be fit into delay slots on that path.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24360 a1c6a512-1295-4272-9138-f99709370657
2010-01-28 09:04:38 +00:00
Andrew Mahone
a6bd83a315
Fix red: smlal operand ordering in udiv32_arm.S
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24355 a1c6a512-1295-4272-9138-f99709370657
2010-01-28 02:40:33 +00:00
Andrew Mahone
e76f30a57c
Improvements to specialized dividers for APE codec:
...
* Use Newton-Raphson divider on ARMv5e and ARMv6, about 7% speedup on Gigabeat S.
* On ARMv4 targets using IRAM, remove insane filter buffer from IRAM, fill available IRAM with LUT of reciprocals for small divisors - speedup varies according to target and available IRAM, APE normal sample is approx. 109% RT on e200.
* Rename apps/codecs/lib/udiv32_armv4.S to apps/codecs/lib/udiv32_arm.S, which includes dividers for all ARM targets specialized for APE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24354 a1c6a512-1295-4272-9138-f99709370657
2010-01-28 02:28:52 +00:00
Michael Giacomelli
32265959c8
Try one more time to fix bitness warnings in WAV.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24349 a1c6a512-1295-4272-9138-f99709370657
2010-01-27 18:12:42 +00:00
Michael Giacomelli
e04e2938e7
Commit FS#10423 by Yoshihisa Uchida. Adds support for floating point PCM to libpcm.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24348 a1c6a512-1295-4272-9138-f99709370657
2010-01-27 18:10:08 +00:00
Michael Giacomelli
4de4a3fa1c
Fix warnings on 32 bit sim.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24347 a1c6a512-1295-4272-9138-f99709370657
2010-01-27 18:05:28 +00:00
Michael Giacomelli
c9183bf15e
Commit FS#10422 by Yoshihisa Uchida. Seperates WAV and AIFF parsing from PCM decoding by introducing libpcm, a library for decoding linear and non-uniform PCM independently of the container format.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24346 a1c6a512-1295-4272-9138-f99709370657
2010-01-27 17:25:10 +00:00
Rafaël Carré
a9e2a7148f
*.link: depends on config file where plugin buffer size is set
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24322 a1c6a512-1295-4272-9138-f99709370657
2010-01-24 15:32:23 +00:00
Nils Wallménius
135d983433
This should fix FS#10917, and also fix channel swapping i introduced in r23784. Lets hope the third time's the charm
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24271 a1c6a512-1295-4272-9138-f99709370657
2010-01-18 04:32:47 +00:00
Nils Wallménius
cf39c86d3d
This should fix FS#10917, unfortunately i have no target evailable to test on
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24270 a1c6a512-1295-4272-9138-f99709370657
2010-01-18 03:08:17 +00:00
Nils Wallménius
f9b05db006
Fix typo causing l+r mono encoding to use only one channel
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24269 a1c6a512-1295-4272-9138-f99709370657
2010-01-18 03:00:59 +00:00
Andrew Mahone
5313bf52b5
Invert divisor earlier in udiv32_arm, allowing the div0 test to be done before entering the 32-bit divide portion of the code, and making the handling of div0 simpler.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24166 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 15:57:03 +00:00
Bertrik Sikken
6fef14bd16
Set svn:keywords property on .c and .h files that didn't already have it. Correct svn:executable property on some files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24165 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 14:28:09 +00:00
Andree Buschmann
5cebdcd06b
More tabs removed
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24157 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 11:12:31 +00:00
Andrew Mahone
686c4e53ce
Use long jump to reach __div0 from udiv32_arm if building with IRAM and without EABI.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24152 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 04:48:19 +00:00
Andrew Mahone
c1f4d4037a
More comments for udiv32_armv4.S, reduce zero divisor test to one cycle for the skipped branch by setting flags when inverting divisor, 32-bit numerators are handled by calling the 31-bit divider and fixing the results.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24151 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 04:30:13 +00:00
Michael Giacomelli
ce8640d7b8
Second part of FS#10832 by Juliusz Chroboczek. Ignore empty mdat chunks in mp4 files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24148 a1c6a512-1295-4272-9138-f99709370657
2010-01-02 21:02:13 +00:00
Michael Giacomelli
008c368c87
Commit first part of FS#10832 by Juliusz Chroboczek. Allows playback of unstreamable AAC/ALAC files by stepping through the file to find the index, potientially rebuffering. This is likely to impose a battery life hit on files which are unstreamable and not much smaller then the buffer, but should not impact streamable files at all.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24147 a1c6a512-1295-4272-9138-f99709370657
2010-01-02 20:54:55 +00:00
Andrew Mahone
d03768bc14
Add missing EOF newline.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24143 a1c6a512-1295-4272-9138-f99709370657
2010-01-02 15:25:34 +00:00
Andrew Mahone
934514558b
Remove special cases from udiv32_armv4.S, except for zero divisor and large numerator. Improvement of 1.23MHz on e200 with ape normal.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24142 a1c6a512-1295-4272-9138-f99709370657
2010-01-02 15:15:21 +00:00
Bertrik Sikken
5c4ef78cc9
Simplify some expressions using the ? operator
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24136 a1c6a512-1295-4272-9138-f99709370657
2010-01-01 22:47:25 +00:00
Andrew Mahone
822abc1236
Add 31/31-bit unsigned division in apps/codecs/lib/udiv_arm.S, with 2 cycles / iteration, falling back to previous 32-bit, 3 cycle / iteration code when needed (well under 1% of divisions in sample file). APE normal sample is now 96.90% realtime, approx 1.3% improved vs svn. TODO: unify divisor normalization for both trial subtraction routines, possibly use divisor bits to select 31- vs 32-bit division.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24130 a1c6a512-1295-4272-9138-f99709370657
2009-12-31 08:32:15 +00:00
Jens Arnold
9e45b27e08
Assembler optimised bitreverse for ARM, again a little bit faster and smaller. * Separated 'x' and 'ret' gives gcc a bit more freedom regarding register allocation (except on coldfire where it doesn't matter).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24107 a1c6a512-1295-4272-9138-f99709370657
2009-12-23 23:44:56 +00:00
Nils Wallménius
87ecc7020e
Improved bitrev with approach suggested by Jens Arnold, gives 0.5%-1% speedup for tremor decoding on sansa c200 (PP) and a tiny speedup on coldfire as well
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24102 a1c6a512-1295-4272-9138-f99709370657
2009-12-23 18:05:11 +00:00
Nils Wallménius
7b24423180
Use optimised byteswap function in bitrev for a tiny speedup on coldfire and pp and about 1-2% speedup on gigabeat s (due to the armv6 rev instruction)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24095 a1c6a512-1295-4272-9138-f99709370657
2009-12-21 19:52:01 +00:00
Michael Giacomelli
d6ae8edc13
Commit both patches in FS#10833 - Protect against division by zero in AAC (mp4) codec by Juliusz Chroboczek. Adds some return value checking so that faad errors don't crash rockbox when decoding broken or unsupported files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23983 a1c6a512-1295-4272-9138-f99709370657
2009-12-14 01:09:01 +00:00
Nils Wallménius
b2a27b4280
Improved bitrev12, using a larger LUT to save one lookup, speeds up vorbis about 2% on beast, about 0.5% on h300
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23973 a1c6a512-1295-4272-9138-f99709370657
2009-12-13 15:00:20 +00:00
Andrew Mahone
5783bef32c
Fix red, DESCALE_SHIFT macro was missing a right-parenthesis.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23968 a1c6a512-1295-4272-9138-f99709370657
2009-12-13 04:06:45 +00:00
Andrew Mahone
af5bad46d8
Libfaad pow2/log2 improvements:
...
Correct pow2_* to calculate correct output for input < 0.0 or between 0.0 and 1.0 instead of returning 0. This will change output, but the float version of this codec uses pow(2.0,x) in place of these functions, so this behavior was probably a bug
Replace 64-bit multiply in pow2_* with left or right shift by whole part of input, rounding if shifting right. An ARM-specific optimized version is provided as a C inline function, other targets use a C macro.
Increase constant size of table for pow2 to improve accuracy, also avoid early truncation in linear interpolation of result.
Move constant tables for pow2 and log2 to iram.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23967 a1c6a512-1295-4272-9138-f99709370657
2009-12-13 03:45:40 +00:00
Nils Wallménius
de159ceb3d
Comment var only used by already commented out debug code, delete #if 0'ed block move a comment and fix some broken indentation
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23945 a1c6a512-1295-4272-9138-f99709370657
2009-12-12 16:37:44 +00:00
Nils Wallménius
c0dc3c7a74
Remove inline asm that hasn't been useful for years, no speed difference
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23928 a1c6a512-1295-4272-9138-f99709370657
2009-12-10 21:43:59 +00:00
Andrew Mahone
bafe14db55
Remove some sample functions from codeclib - these were for verifying the generated asm for bs_generic and never intended for use.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23911 a1c6a512-1295-4272-9138-f99709370657
2009-12-09 17:13:06 +00:00
Andrew Mahone
85aad9b397
Extend av_log2 in codeclib into a generic for scanning for set bits, which can provide either log2 or leading-zero-count output, and can force mapping 0 input to 0 output if needed (otherwise 0 input produces undefined result). Replace av_log2 in lib/codeclib.h, floor_log2 and wl_min_lzc in libfaad/common.c and common.h, and count_leading_zeros in libalac/alac.c with macros using bs_generic.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23903 a1c6a512-1295-4272-9138-f99709370657
2009-12-09 02:24:45 +00:00
Andrew Mahone
50512cdeac
Fix red: av_log2 undefined for ARM_ARCH <= 4, missing codeclib.h includes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23869 a1c6a512-1295-4272-9138-f99709370657
2009-12-06 04:43:23 +00:00
Nils Wallménius
cd22b32450
slightly faster asm av_log2 for armv6 (currently only Gigabeat S)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23868 a1c6a512-1295-4272-9138-f99709370657
2009-12-06 02:03:03 +00:00
Andrew Mahone
491e0978ec
Fix yellow: mixed signed/unsigned in conditional.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23867 a1c6a512-1295-4272-9138-f99709370657
2009-12-05 21:53:49 +00:00
Andrew Mahone
2aeb6c781d
Slightly improve av_log2 in codeclib on ARMv6.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23866 a1c6a512-1295-4272-9138-f99709370657
2009-12-05 21:32:23 +00:00
Nils Wallménius
b9d7f98f8c
Move av_log2 function and asociated table to the codec lib, remove 3 identical implementations, always have LUT in iram (gives a *tiny* speedup on coldfire), make the clz based function return the same value as the non clz based function for 0 input to be safe (slows down flac ~2% on the gigabeat S)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23858 a1c6a512-1295-4272-9138-f99709370657
2009-12-05 16:47:43 +00:00
Nils Wallménius
5750daa2ac
Oops, correct typo that made the previous commit useless
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23794 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 21:41:58 +00:00
Nils Wallménius
3cc0796a37
Disable strict aliasing for speex for now to get rid of warnings, some very nasty casting in here
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23793 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 21:37:57 +00:00
Nils Wallménius
d502086e7f
Fix yellow by making the ifdef hell slightly worse
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23790 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 21:22:23 +00:00
Nils Wallménius
13f08d70fd
Enable strict aliasing optimizations for codecs on gcc versions >= 4.0, fix alising violations that this uncovered, gives small speedups for most codecs, FS#10801
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23784 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 18:11:49 +00:00
Nils Wallménius
685ca2672e
Use clz instruction to calculate integer logarithms, speeds up decoding of one flac 8 sample by 12%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23783 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 15:21:00 +00:00
Nils Wallménius
07fe3562a1
#if 0 out unused stuff
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23782 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 14:29:18 +00:00
Nils Wallménius
727984b4ff
Use clz instruction to count leading zeroes on armv5+, gives about 2% speedup with one sample on the Gigabeat S
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23781 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 10:57:21 +00:00
Nils Wallménius
3c1cffae70
These macros have been replaced by (UN)LIKELY macros and were not used anywhere.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23780 a1c6a512-1295-4272-9138-f99709370657
2009-11-29 09:44:15 +00:00
Magnus Holmgren
6b6463c8b7
Add support for the MP4 file type 'isom'. Based on FS#10790 with an additional fix, making the sample file play. Also updated some debug prints.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23708 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 16:37:36 +00:00
Andrew Mahone
36deb0a315
Fix warning on new gcc for checking value or truth of undefined _WIN32 and MIPS.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23670 a1c6a512-1295-4272-9138-f99709370657
2009-11-20 02:51:10 +00:00
Nils Wallménius
ad9f554eb2
Avoid possible memory corruption
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23666 a1c6a512-1295-4272-9138-f99709370657
2009-11-19 17:12:58 +00:00
Mohamed Tarek
a67deef2b6
Set svn:keywords property.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23660 a1c6a512-1295-4272-9138-f99709370657
2009-11-18 01:00:43 +00:00
Mohamed Tarek
9669bbc135
Handle mid-track resumes in RM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23659 a1c6a512-1295-4272-9138-f99709370657
2009-11-18 00:41:46 +00:00
Michael Sparmann
099df2fb71
Make the codecs use more IRAM on S5L870x, as we have plenty of it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23594 a1c6a512-1295-4272-9138-f99709370657
2009-11-09 20:01:07 +00:00
Michael Giacomelli
b92e778fd7
Reenable -O2 for Wavpack, which appears to have been lost during makefile clean up. Improves wavpack decoding performance by several MHz on ARM and Coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23566 a1c6a512-1295-4272-9138-f99709370657
2009-11-08 07:04:14 +00:00
Dave Chapman
9546e4093d
Add STATICIRAM_NOT_MDCT as a workaround for the gcc bug where static functions are not long called. This is currently only an issue on the Nano2G (S5L8701 CPU) which is the only ARM target with enough IRAM for these functions. Also add multiple-inclusion protection for config-tremor.h. All plugins and codecs now compile cleanly for the Nano2G.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22914 a1c6a512-1295-4272-9138-f99709370657
2009-10-04 08:49:23 +00:00
Mohamed Tarek
f0c6c88f6d
Smarter check for failed packet parsing in RM. Also fixes a bug in playback where sometimes "codec failure" is splashed at the end of playback.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22880 a1c6a512-1295-4272-9138-f99709370657
2009-10-03 00:18:42 +00:00
Michael Giacomelli
e4fb3dc14c
Commit unrolled version of WMA's exponent decode taken from latest ffmpeg. Gives a 1% speedup @ 192kbps.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22871 a1c6a512-1295-4272-9138-f99709370657
2009-10-02 00:47:15 +00:00
Jens Arnold
5f3fbd1bb9
Actually qualify the tables put into .irodata in r22849 as 'const'. Also mark fftorder[] as 'const'.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22860 a1c6a512-1295-4272-9138-f99709370657
2009-09-30 19:36:06 +00:00
Tomer Shalev
a0eadade30
FS#10122 - Fix wrong format type of logf functions in speex.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22857 a1c6a512-1295-4272-9138-f99709370657
2009-09-30 12:56:33 +00:00
Michael Giacomelli
065e8e082a
Change IDATA to ICONST for lookup tables since they're actually constant.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22849 a1c6a512-1295-4272-9138-f99709370657
2009-09-29 01:34:11 +00:00
Magnus Holmgren
f733ec194f
Fix for FS#10492, by Aoyumi: Data abort errors when playing some Vorbis files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22653 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 19:39:51 +00:00
Andree Buschmann
2dbb424eb9
Further performance optimization of the atrac3 decoder. Rework the internal sample representation and usage of dsp routines. For now a quick and dirty solution is used to add a fract part of 2 bits. Through this several buffers and functions as well as copy loops could be removed. Furthermore add some ASM for coldfire and place some additional data in IRAM on PP5022/24 and X5/M5. Speedup on ARM: +3%, speedup on Coldfire: +639%. Both ARM and Coldfire can decode in realtime now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22561 a1c6a512-1295-4272-9138-f99709370657
2009-08-30 14:14:22 +00:00
Andree Buschmann
f62125bb72
fix red
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22549 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 19:57:21 +00:00
Andree Buschmann
f4774bf5bf
Submit interim version of FS#10565. Performance optimization of atrac3 decoder for ARM. Introduce ASM routines for multiplications and two synthesis loops, refactured parts of synthesis and windowing. Speeds up decoding by a factor of 2.4 on PP502x.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22548 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 19:44:27 +00:00
Dave Hooper
d43bcb7dc4
C code is NOT faster on S3C2440 - tested by AlexP on r22529
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22530 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 13:03:40 +00:00
Magnus Holmgren
0dad8d5ae9
Don't know why svn decided to delete tlsf/src... Maybe due to some aborted tests I did to see where it would be best to place TLSF.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22529 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 12:42:47 +00:00
Magnus Holmgren
3fad1523c7
FS#10466: Introduce a real malloc for tremor.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22528 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 12:23:40 +00:00
Dave Hooper
260ed99139
Removed remaining MB usage
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22527 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 12:20:04 +00:00
Dave Hooper
e9dcb0f145
Fix condition code clobbers (and one TAB) for inline arm code in lib and libtremor
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22526 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 12:07:32 +00:00
Dave Hooper
59cdbf5efc
Rerrange some registers in butterfly_generic to combine some 2-word stores into 4-word stores and remove some redundant mov instructions. Shave off some additional instructions (stacking and additions) in butterfly_32 by getting butterfly_8 and butterfly_16 to do the address incrementing for us. Add a few comments.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22525 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 11:50:15 +00:00
Michael Giacomelli
873d266199
Add stdint.h to the codeclib when compiled outside of rockbox so that int32_t is typedef'ed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22502 a1c6a512-1295-4272-9138-f99709370657
2009-08-24 18:14:56 +00:00
Mohamed Tarek
950534b13c
Put ATRAC3Context in IRAM, 2.5% speedup on PP502x, 20% on ColdFire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22374 a1c6a512-1295-4272-9138-f99709370657
2009-08-17 10:16:59 +00:00
Mohamed Tarek
042bbad6d6
revert r22337 for libwma for now since it broke wma playback on ARM due to alignment issues.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22347 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 15:36:32 +00:00
Mohamed Tarek
6c5714a6ee
Put the lookup tables into iram ; 2% speedup on ColdFire 1% on ARM
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22345 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 12:51:17 +00:00
Jens Arnold
3d6f86eb2f
Make those functions actually inline. Around 20% speedup on coldfire, 10% speedup on arm.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22344 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 12:41:04 +00:00
Dominik Riebeling
6e5e625596
Remove svn:executable on source file and set keywords.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22342 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 12:24:50 +00:00
Jens Arnold
aa24b677e0
Revert r22339 as it causes immediate stack overflow on target, at least on coldfire.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22341 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 11:32:41 +00:00
Michael Giacomelli
3b81dd4749
Put QMF coefficients into IRAM. Update test program to still compile with IBSS_ATTR defined.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22340 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 04:05:40 +00:00
Michael Giacomelli
415546921b
Make the IMDCT temporary working buffer a local variable instead of keeping one for each channel. Saves 4KB of RAM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22339 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 02:24:09 +00:00
Mohamed Tarek
c74319b2f4
Fix red.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22338 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 22:20:25 +00:00
Mohamed Tarek
adf3f09251
Move bitstream.[ch] to codecs/lib/ffmpeg_bitstream.[ch] to avoid duplicate copies across codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22337 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 22:06:42 +00:00
Mohamed Tarek
2402aecbb5
remove duplicates of bswap.h from libwma, libcook and libatrac. Create codecs/lib/ffmpeg_bswap.h and use it instead.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22328 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 16:50:52 +00:00
Mohamed Tarek
bd4fc82b3b
Fix handling of unaligned input buffers in libatrac.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22322 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 14:52:28 +00:00
Mohamed Tarek
2ae585273e
Correct the ffmpeg revision of libatrac and write more import details.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22316 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 09:44:39 +00:00
Mohamed Tarek
1b87b45e40
Fix yellow.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22312 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 17:43:19 +00:00