Andree Buschmann
10a1e8a609
Fix musepack resume for resume positions > 7:30m.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30202 a1c6a512-1295-4272-9138-f99709370657
2011-07-23 20:56:53 +00:00
Magnus Holmgren
6f392693b8
AAC: Another gapless fix, this one for the end of the file. The real size of the last frame was lost in r29727, as indicated by Yusaku Inui in FS#12185, so bring it back. Now the decoded length of test1_nero.m4a (in FS#12185) only differs by one sample compared to Foobar2000 (Rockbox has one more leading sample, for some reason). Also moved a few lines to a better place.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30149 a1c6a512-1295-4272-9138-f99709370657
2011-07-17 13:00:53 +00:00
Andree Buschmann
f27028dbb6
Do not use double/float calculations but predefined tables in mod codec. Reduces codesize by several kilobytes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30107 a1c6a512-1295-4272-9138-f99709370657
2011-06-30 21:53:02 +00:00
Andree Buschmann
96af117e21
Submit FS#12142 by Sean Bartell with minor chnages by myself. Removes unused code and irrelevant files from libmad.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30065 a1c6a512-1295-4272-9138-f99709370657
2011-06-24 14:48:25 +00:00
Michael Sevakis
fcae888e81
SPC Codec: Restore correct FIR buffer alignment when an address mask is used. It must be FIR_BUF_ALIGN. Fix Coldfire assembly constraint where an input parameter was also being written.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30063 a1c6a512-1295-4272-9138-f99709370657
2011-06-24 10:52:43 +00:00
Andree Buschmann
4b0e09c1ac
Submit FS#12164 by Sean Bartell with minor changes by myself. Fixes possible decoding corruption of RealAudio files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30060 a1c6a512-1295-4272-9138-f99709370657
2011-06-24 08:51:22 +00:00
Magnus Holmgren
6c8ef19dfd
FS#12161: Correct the gapless processing for AAC, so that it doesn't remove too much from the start of a track. Also simplify the logic a bit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30012 a1c6a512-1295-4272-9138-f99709370657
2011-06-18 15:11:30 +00:00
Nils Wallménius
f2e7c05c22
libtremor: comment out unused struct member.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29987 a1c6a512-1295-4272-9138-f99709370657
2011-06-09 06:46:44 +00:00
Nils Wallménius
d5ceb4ce2b
codeclib: make selective inclusion of macros and inline functions from the codeclib_misc.h header easier and clean out some old libtremor stuff.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29985 a1c6a512-1295-4272-9138-f99709370657
2011-06-08 10:35:27 +00:00
Nils Wallménius
331b23d15b
FS#12144, Use -fPIC -fvisibility=hidden only for plugins on sim and app builds and enable it for 32 bit too. Fixes linking errors on simbuilds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29983 a1c6a512-1295-4272-9138-f99709370657
2011-06-07 11:56:23 +00:00
Nils Wallménius
e62b9a9aae
libtremor: Implement a memory configuration for targets that don't use separate iram for codecs.
...
Such targets would previously default to using the configuration for targets with small iram which uses an extra memcpy per block.
This saves 2MHz decoding a 128kbps vorbis file on the Gigabeat S and saves a bit of codec buffer.
Patch from FS#11268, also replaces patch from FS#12147.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29976 a1c6a512-1295-4272-9138-f99709370657
2011-06-06 13:27:12 +00:00
Nils Wallménius
684b74147f
Safe part of FS#11268, saving some codec buffer space for targets that don't use separate iram.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29975 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 20:18:31 +00:00
Nils Wallménius
965113ed50
FS#12146: Fix libcook bugs introduced in r22055 by Sean Bartell.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29973 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 13:12:51 +00:00
Andree Buschmann
9f65f2b6ad
Accept FS#12143 (NSF codec clean up): Declare local stuff static, comment unused variables and functions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29972 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 13:05:09 +00:00
Nils Wallménius
03c12a7906
Delete old unused macro.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29962 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 09:27:58 +00:00
Nils Wallménius
73d0e14f44
Disable some unused code in speex to save binsize.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29949 a1c6a512-1295-4272-9138-f99709370657
2011-06-02 20:52:54 +00:00
Nils Wallménius
d860c87800
Build the voice codec speex with core -O switch to save size on targets using -Os.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29948 a1c6a512-1295-4272-9138-f99709370657
2011-06-02 16:11:22 +00:00
Nils Wallménius
927361b4ae
Fix define name.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29947 a1c6a512-1295-4272-9138-f99709370657
2011-06-02 15:25:50 +00:00
Nils Wallménius
4909e09267
FS#12141 by Sean Bartell
...
Some of these were found with http://www.samba.org/junkcode/#findstatic . Changes of note:
* The old MDCT has been removed.
* Makefile.test files that create test programs for libatrac, libcook, and libffmpegFLAC have been removed, as they don't work. My project will have a replacement that works with all codecs.
* I've tried not to remove anything useful. CLIP_TO_15 was removed from libtremor because there's another copy (also commented) in codeclib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29945 a1c6a512-1295-4272-9138-f99709370657
2011-06-02 14:59:15 +00:00
Nils Wallménius
7c6056b352
FS#12140 by Sean Bartell, Make various codec stuff static.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29942 a1c6a512-1295-4272-9138-f99709370657
2011-06-01 10:28:26 +00:00
Michael Giacomelli
0497adffcf
Commit FS#12130 - Fix ADX decoding on 64-bit systems by Sean Bartell. Fixes an incorrect assumption in the ADX decoder that sizeof(int) == 32 when performing fixed point math. Update comments in the fixed point library to correct this.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29927 a1c6a512-1295-4272-9138-f99709370657
2011-05-26 21:22:29 +00:00
Andree Buschmann
8767ba9a85
Remove residual float operations from sid codec.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29919 a1c6a512-1295-4272-9138-f99709370657
2011-05-23 18:28:08 +00:00
Andree Buschmann
3071b2bde1
Fix yellow.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29917 a1c6a512-1295-4272-9138-f99709370657
2011-05-23 06:19:30 +00:00
Andree Buschmann
de1529c4eb
Save a large static buffer in sid codec.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29915 a1c6a512-1295-4272-9138-f99709370657
2011-05-22 21:00:32 +00:00
Andree Buschmann
d038f89f3f
S5L870x is fast enough to play spc with gaussian interpolation and echo processing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29914 a1c6a512-1295-4272-9138-f99709370657
2011-05-22 20:01:07 +00:00
Andree Buschmann
6117ffdde5
Submit FS#12115: Use more IRAM in cook codec for several targets. Speeds up PP5022 and MCF5250 by ~3% and S5L87.0x by ~4%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29913 a1c6a512-1295-4272-9138-f99709370657
2011-05-22 19:03:58 +00:00
Andree Buschmann
609c526d56
Use more IRAM on S5L870x to speed up wmapro by ~2%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29906 a1c6a512-1295-4272-9138-f99709370657
2011-05-20 23:28:09 +00:00
Andree Buschmann
99494140da
Use more IRAM on S5L870x to speed up wma by ~3%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29905 a1c6a512-1295-4272-9138-f99709370657
2011-05-20 22:53:22 +00:00
Andree Buschmann
7b054efa0b
FS#12117: Use more IRAM for atrac3. Speeds up decoding from 1-2% (PP5022, PP5024, S5L870x) to 11% (MCF5250).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29892 a1c6a512-1295-4272-9138-f99709370657
2011-05-16 21:47:13 +00:00
Andree Buschmann
22c9b6ef8e
Use more IRAM for mpc on S5L870x. Speed up decoding by ~2%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29891 a1c6a512-1295-4272-9138-f99709370657
2011-05-16 21:31:59 +00:00
Andree Buschmann
46507d29b4
FS#12113: Optimize IRAM configuration for SPC. Performance increases by 5-6% on PP5022, PP5024 and S5L870x. No change of performance on Coldfire, PP5002 and PP5020.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29887 a1c6a512-1295-4272-9138-f99709370657
2011-05-15 16:08:50 +00:00
Andree Buschmann
41723bc14b
FS#12113: Optimize IRAM configuration for NES Sound Format. Performance is stable on Coldfire and shows performance gains from about 50-100% (PP5020, S5L870x, PP5022) up to 168% (PP5002).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29886 a1c6a512-1295-4272-9138-f99709370657
2011-05-15 15:00:41 +00:00
Andree Buschmann
bf46e634b4
FS#12113: Optimize IRAM configuration for Atari SAP format. Performance gains range from 5% (PP5020), over 13-16% (PP5002, PP5022, PP5024, S5L870x) to 115% (MCF5249, MCF5250).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29883 a1c6a512-1295-4272-9138-f99709370657
2011-05-15 13:40:02 +00:00
Andree Buschmann
fffc6c4a80
Trapped into ifdef-hell. Configure libfaad's IRAM/DRAM usage like it is meant to be.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29864 a1c6a512-1295-4272-9138-f99709370657
2011-05-12 22:24:09 +00:00
Andree Buschmann
281666a066
The last submit had one define too much. Nevertheless fix the IRAM configuration for static allocation method.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29863 a1c6a512-1295-4272-9138-f99709370657
2011-05-12 18:06:03 +00:00
Andree Buschmann
2263cf35ab
libfaad: AAC including HE-profile needs ~470 KB for playback (measured on ARM). Therefor it does not make sense to enable HE on devices with CODEC_SIZE < 512 KB. This will allow to load and play larger AAC-LC files on such devices.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29862 a1c6a512-1295-4272-9138-f99709370657
2011-05-12 17:41:45 +00:00
Andree Buschmann
72fba7a9d7
Make libfaad compilable again without PS_DEC.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29861 a1c6a512-1295-4272-9138-f99709370657
2011-05-12 17:35:06 +00:00
Andree Buschmann
0e7c04e57d
libfaad: Move PS related variables to sbr_info struct. This allows dynamic allocation including error handling.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29857 a1c6a512-1295-4272-9138-f99709370657
2011-05-11 18:52:05 +00:00
Andree Buschmann
03e23d1113
Implement error handling for libfaad's memory allocation. Do not allocate PS related types dynamically anymore to minimize code changes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29854 a1c6a512-1295-4272-9138-f99709370657
2011-05-10 19:04:24 +00:00
Andree Buschmann
78b0f94c76
Proper initialization of static variables in codeclib.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29853 a1c6a512-1295-4272-9138-f99709370657
2011-05-10 18:20:56 +00:00
Andree Buschmann
b452fa061d
Use CACHEALIGN_SIZE in codec_malloc for optimal alignment.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29838 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 19:50:39 +00:00
Andree Buschmann
f79769c541
Minor loop optimization in libfaad's is/ms decoding.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29837 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 19:36:08 +00:00
Andree Buschmann
e720724b95
Use MEM_ALIGN_ATTR and CACHEALIGN_SIZE in oggmalloc to ensure optimal alignment.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29833 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 16:41:23 +00:00
Andree Buschmann
897fd92827
codeclib: Declare several variables static and remove unused variables.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29831 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 10:34:05 +00:00
Andree Buschmann
f19d6a5e1d
Fix even more 'variable set but not used' warnings reported from GCC 4.6.0.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29819 a1c6a512-1295-4272-9138-f99709370657
2011-05-03 20:28:56 +00:00
Nils Wallménius
4a62bc40c2
Work around another 'set but not used' warning.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29811 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 16:53:20 +00:00
Andree Buschmann
27d153db93
Fix nearly all residual 'variable set but not used' warnings reported from GCC 4.6.0.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29810 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 14:44:20 +00:00
Andree Buschmann
f7c4594134
Fix further 'variable set but not used' warnings reported from GCC 4.6.0.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29809 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 13:48:28 +00:00
Andree Buschmann
e75018ad66
Fix several 'variable set but not used' warnings reported from GCC 4.6.0.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29805 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 11:42:41 +00:00
Michael Sevakis
5e57edf263
Clean up speex a bit after the playback changes in r29785. Haven't found any idiosyncracies not present before then. Fix it always returning CODEC_ERROR even when exiting codec_run normally.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29804 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 04:23:30 +00:00
Andree Buschmann
d0d1a3f2f7
Remove unneeded update of ci->id3->frequency in aac and raac codec.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29794 a1c6a512-1295-4272-9138-f99709370657
2011-04-28 21:07:28 +00:00
Michael Sevakis
ac724cca19
Get the NSF internal playlists working again. Fix a few wrongdoings in the metadata parser. Use the larger of track or playlist count to determine 'duration' so that the repeat-one switching to access the raw tracks works.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29793 a1c6a512-1295-4272-9138-f99709370657
2011-04-28 02:56:28 +00:00
Andree Buschmann
fa65362a42
Fix compiler warnings ('variable set ut not used') with GCC 4.6.0.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29792 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 17:59:49 +00:00
Michael Sevakis
3d9c062822
Get NSF fixed up a bit and parse metadata in the core.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29790 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 16:46:27 +00:00
Michael Sevakis
08bedf8305
Having a default weak codec_main symbol doesn't seem to be working out for compiling the sim under cygwin in at least some cases. Just implement it explicitly in all cases.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29789 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 12:52:11 +00:00
Michael Sevakis
c537d5958e
Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 03:08:23 +00:00
Andree Buschmann
dcf0f8de4a
Submit FS#12081. Check validity of channel configuration, comment unneeded code that is too inflexible to work with MAX_CHANNELS = 2. Fixes compiler warnings with GCC 4.6.0.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29784 a1c6a512-1295-4272-9138-f99709370657
2011-04-26 21:30:51 +00:00
Andree Buschmann
a602f46d69
Rework of libfaad in several areas. Allow removal of malloc with a new define FAAD_STATIC_ALLOC (in common.h). For now malloc is not fully removed but used by a few arrays needed for AAC-HE SBR+PS only. Reason to keep malloc is to have this amount of memory available for AAC-LC files which might require large m4a tables. The changes make the allocation routines much smaller, better centralized and allow to move duplicated code from aac.c/raa.c to libfaad. The rework includes removal of (now and former) unused code as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29778 a1c6a512-1295-4272-9138-f99709370657
2011-04-24 20:19:05 +00:00
Andree Buschmann
69580a96eb
Fix yellow.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29777 a1c6a512-1295-4272-9138-f99709370657
2011-04-24 19:13:08 +00:00
Andree Buschmann
2f215da9c3
Use dedicated function to internally reset aac decoder synthesis after seek.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29775 a1c6a512-1295-4272-9138-f99709370657
2011-04-24 18:56:23 +00:00
Andree Buschmann
2f04e6cca2
Ensure proper termination of m4a lookup table.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29774 a1c6a512-1295-4272-9138-f99709370657
2011-04-24 18:33:39 +00:00
Andree Buschmann
15e9053afb
Clean up array sizes in the SBR + PS part of libfaad. Add MAX_NTSRPS (=38), use MAX_NTSR and MAX_NTSRHFG at the right places. RAM (IRAM) usage is reduced by 2 KB.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29773 a1c6a512-1295-4272-9138-f99709370657
2011-04-24 13:54:02 +00:00
Andree Buschmann
6bab4e8dc0
get_sample_info() has been removed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29771 a1c6a512-1295-4272-9138-f99709370657
2011-04-23 22:28:47 +00:00
Andree Buschmann
7d1de584fe
Minor speed optimization to m4a lookup table build up.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29770 a1c6a512-1295-4272-9138-f99709370657
2011-04-23 20:43:47 +00:00
Andree Buschmann
2358fabb70
Optimization to latest aac decoder changes. Significantly reduce loop count in m4a_check_sample_offset() during standard playback. Before this change the loop count increased with each decoded chunk and for each frame.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29750 a1c6a512-1295-4272-9138-f99709370657
2011-04-19 05:55:54 +00:00
Andree Buschmann
68199cc195
Major rework of the m4a parser for aac/alac playback, seek and resume support. As a result the memory consumption was drastically reduced. This allows to play several files with long duration -- especially on low memory targets. The change builds a lookup table from m4a's sample_to_chunk[] and chunk_offset[] and completely removes the allocation of the large tables chunk_offset[] and sample_byte_size[]. To be able to remove reading and allocating sample_byte_offset[] the aac and alac decoder now buffer a fixed amount of bytes for each frame. The generated lookup table is used for seek/resume and skipping bytes in empty chunks (aac decoder only). The precision for seek/resume is somewhat lower but still equals 0.5 sec for the worst case. Fixes FS#8923.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29745 a1c6a512-1295-4272-9138-f99709370657
2011-04-18 19:12:51 +00:00
Andree Buschmann
5775159462
Refactor aac decoder as preparation for upcoming m4a changes. The aac decoder does not need to use get_sample_info() to gather frame size or the number of consumed bytes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29727 a1c6a512-1295-4272-9138-f99709370657
2011-04-16 19:39:01 +00:00
Andree Buschmann
8055b48b46
Fix yellow.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29725 a1c6a512-1295-4272-9138-f99709370657
2011-04-16 19:26:07 +00:00
Andree Buschmann
19f9fd0f5f
Refactor alac decoder as preparation for upcoming m4a changes. The alac decoder does not need to use get_sample_info() to gather frame size or the number of consumed bytes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29724 a1c6a512-1295-4272-9138-f99709370657
2011-04-16 19:08:50 +00:00
Andree Buschmann
e9c5190de7
Headroom in AAC SBR HF-generator's fixed point implementation of autocorrelation was too small. Fixes FS#12019.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29622 a1c6a512-1295-4272-9138-f99709370657
2011-03-20 15:57:38 +00:00
Nils Wallménius
5aaabbfd12
FS#12014 by Huan Zhang fixing some link errors with a recent mips toolchain.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29615 a1c6a512-1295-4272-9138-f99709370657
2011-03-19 10:14:12 +00:00
Michael Sevakis
56dd75d204
Purge buffer and codec APIs existing exclusively in support of mpa.codec and fix that to not require them: buf_get_offset and ci.advance_buffer_loc. Sort APIs; everything must become incompatible. :(
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29595 a1c6a512-1295-4272-9138-f99709370657
2011-03-16 05:38:37 +00:00
Michael Sevakis
12375d1d3a
Merge functionality of wakeups and semaphores-- fewer APIs and object types. semaphore_wait takes a timeout now so codecs and plugins have to be made incompatible. Don't make semaphores for targets not using them.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29492 a1c6a512-1295-4272-9138-f99709370657
2011-03-02 08:49:38 +00:00
Michael Sevakis
b3bfc09852
r29348 changes can cause certain codecs to jump to code on early track change that assumes initializations have been done. Make sure that track change cleanups are only called if the state is sane to do so. Stops my vorbis data abort issue. Correctness for speex is a guess based on the library calls' source. It appears only speex/vorbis should have been bothered by said revision.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29489 a1c6a512-1295-4272-9138-f99709370657
2011-03-02 03:47:42 +00:00
Michael Sevakis
6510973223
Give playback engine better control over the codec. Codec simply follows commands and doesn't concern itself with audio state. Get track change notification in on the actual last buffer insert of the track because now audio simply waits for a track change notify from PCM on the last track and it must be sent reliably. This is still at an intermediate stage but works. Codecs and plugins become incompatible.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29387 a1c6a512-1295-4272-9138-f99709370657
2011-02-23 14:31:13 +00:00
Michael Sevakis
85e40257dc
Enforce that codecs wait for their metadata in a proper-ish and consistent manner. Sort of a halfway patch; best would be to give them an internal copy of the current track information which lasts unaltered by playback until a track switch or unload.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29348 a1c6a512-1295-4272-9138-f99709370657
2011-02-20 15:27:10 +00:00
Jens Arnold
8c38983b22
Fix standalone demac tool build.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29239 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 23:18:30 +00:00
Andree Buschmann
ae019419ff
Use the very large IRAM of S5L870x to speed up AAC-HE by ~1-5%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29212 a1c6a512-1295-4272-9138-f99709370657
2011-02-05 20:22:12 +00:00
Andree Buschmann
8033cb6250
Use MEM_ALIGN_ATTR in libfaad. Remove global array and re-use existing one.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29211 a1c6a512-1295-4272-9138-f99709370657
2011-02-05 19:50:16 +00:00
Andree Buschmann
8b540fa9d9
Speed up AAC-HE SBR by 2% on S5L8701. Use MEM_ALIGN on critical arrays and avoid stalls in asm code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29209 a1c6a512-1295-4272-9138-f99709370657
2011-02-05 14:29:47 +00:00
Michael Sevakis
62fb090ac4
Fix #11897 - Multiple 'divide by zero' while playing particular APE on Clip+. Problem and solution observed and checked on Gigabeat S by myself. Fix submitted by Mikhail Titov resolves it. range_decode_short was declared as returing 'int short' rather than 'unsigned short' resulting in unwanted sign extension.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29208 a1c6a512-1295-4272-9138-f99709370657
2011-02-05 09:59:36 +00:00
Andree Buschmann
7e63bfd2ab
Correctly re-initialize wma decoder on next track. This fixes strange observed issues (noise, crashes) which only could be solved through re-entering the wma codec.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29202 a1c6a512-1295-4272-9138-f99709370657
2011-02-03 11:05:33 +00:00
Andree Buschmann
7345ac124e
Submit FS#11918: Add 2 more codec types to be able to differentiate between AAC / AAC-HE and MPC SV7 / SV8. Additionally handle ATARI soundfiles in get_codec_base_type() as intended.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29199 a1c6a512-1295-4272-9138-f99709370657
2011-02-03 08:28:23 +00:00
Andree Buschmann
35bcdef144
Find a more consistent and resilient way to handle SBR upsampled files. The detection is only done in one place (the metadata parser) and takes into account that the m4a header might already report corrected frame/sample sizes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29188 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 15:12:55 +00:00
Andree Buschmann
4343399473
Recognize AAC-HE SBR with upsampling and correct duration, bitrate, seek and resume behaviour for such files. When SBR upsampling is used the decoder outputs the double amount of samples per frame. As the seek and resume functions do not know about this fact a special handling is introduced. Fixes issues reported in FS#11916.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29186 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 09:38:24 +00:00
Magnus Holmgren
11b7a4fb26
Add a safety check in the resume seek code, just in case.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29181 a1c6a512-1295-4272-9138-f99709370657
2011-02-01 20:17:42 +00:00
Andree Buschmann
ee6a74e7e3
We seeked one chunk too far when resuming m4a files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29180 a1c6a512-1295-4272-9138-f99709370657
2011-02-01 19:55:54 +00:00
Andree Buschmann
411023c6be
Rework m4a seek/resume code. Seek/resume does now also work properly with files having sample_to_chunk of 1 or 2.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29178 a1c6a512-1295-4272-9138-f99709370657
2011-01-31 21:54:50 +00:00
Andree Buschmann
ad6c3bc8c5
Fix resume for m4a files. Solves FS#9306.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29175 a1c6a512-1295-4272-9138-f99709370657
2011-01-31 15:18:26 +00:00
Michael Sevakis
18770dac2e
Use __builtin_constant_p() to select the best byteswapping method: constant or target optimized. Same macro can then be used for constant values and inits as well as non-constant.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29171 a1c6a512-1295-4272-9138-f99709370657
2011-01-30 00:58:45 +00:00
Michael Sevakis
d1ff237798
SPC Codec: AS3525 targets should be fast enough for realtime BRR decode and echo.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29089 a1c6a512-1295-4272-9138-f99709370657
2011-01-19 10:05:01 +00:00
Nils Wallménius
c8535f27d1
Switch coldfire builds over to new toolchain using gcc 4.5.2 and binutils 2.20.1
...
Retune codec compiler optimizations with new compiler. Overall speedup with aac and flac getting big speedups.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29042 a1c6a512-1295-4272-9138-f99709370657
2011-01-12 22:28:43 +00:00
Thomas Martitz
0bf1bd1d51
Redo r28026 so that all .S files get the __ASSEMBLER__ define.
...
Patch by Thomas Jarosch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28913 a1c6a512-1295-4272-9138-f99709370657
2010-12-27 17:27:59 +00:00
Nils Wallménius
479414facc
Fix profiling on coldfire with newer Gcc.
...
In switch_thread, make the call to profile_thread_stopped from an inline asm block to make sure the sp is pointing to the right place before storing the context. This apparently worked by luck with the old Gcc.
The workaround used for coldfire in the codeclib's __cyg_profile_func_enter does not work with newer gcc, however the workaround isn't needed for those so enable it only for coldfire gcc version < 4.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28908 a1c6a512-1295-4272-9138-f99709370657
2010-12-27 09:49:33 +00:00
Thomas Martitz
6a9a8197b3
Add stdio.h include for SEEK_SET define to various files.
...
Patch by Thomas Jarosch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28892 a1c6a512-1295-4272-9138-f99709370657
2010-12-25 18:43:34 +00:00
Michael Sevakis
6e4e5ea757
SPC Codec: Was broken on ARMv6 since EABI switch and somehow I failed to notice in the first place (and so did eveyone else it seems :). Some early-clobber constraints were needed on inline assemebly operands. In some places, they aren't necessary where they were used, so remove those.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28880 a1c6a512-1295-4272-9138-f99709370657
2010-12-23 07:36:21 +00:00
Nils Wallménius
d5c082598d
libwavpack: put some lookup tables in iram, speedup of 8-10% on coldfire (h300).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28873 a1c6a512-1295-4272-9138-f99709370657
2010-12-21 14:08:41 +00:00
Nils Wallménius
74cc5c77e3
aac: put two local structs on the stack as they are small and the codec uses little stack anyway ( < 20% on h300)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28872 a1c6a512-1295-4272-9138-f99709370657
2010-12-21 13:35:02 +00:00
Nils Wallménius
984e1a860c
Add a newline to a debugf printing an error.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28838 a1c6a512-1295-4272-9138-f99709370657
2010-12-15 21:28:52 +00:00
Nils Wallménius
a47c04f0c8
Revert tab police as it makes merging upstream changes more annoying and messed up indentation in some places.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28818 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 17:59:05 +00:00
Andree Buschmann
b655f58406
Tab police.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28817 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 17:18:19 +00:00
Nils Wallménius
2aa511f6bd
libtremor: merge upstream revisions 17541, 17542, 17543, 17544, 17545, 17546, 17547, 17555, 17572, bringing in various fixes and finally bringing our libtremor up to date, for now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28773 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 17:28:17 +00:00
Nils Wallménius
f6297c1f3e
libtremor: merge upstream revision 17539 and 17540 'Additional codebook validity checks.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28771 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 16:48:17 +00:00
Nils Wallménius
7484fd3b18
libtremor: merge upstream revision 17538 'Fix decoder handling of floor0 when the LSP order is 1.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28770 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 16:44:08 +00:00
Nils Wallménius
199b2a84e2
libtremor: merge upstream revision 17534 and 17536, fixing a possible 64 bit math overflow and correct types for some comparisons.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28769 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 16:34:25 +00:00
Nils Wallménius
c0e3e16285
libtremor: merge upstream revision 17528-17530, more error checking and bug fixes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28768 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 16:07:46 +00:00
Nils Wallménius
a5897697f9
libtremor: merge upstream revision 17527, 'Eliminate possibility of booklist overflow in res0/1/2 unpacking.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28767 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 15:47:56 +00:00
Nils Wallménius
715749a7f4
libtremor: merge upstream revision 17526 and 17531, adding some more error checking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28766 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 15:42:40 +00:00
Nils Wallménius
1930e9f4ba
libtremor: merge upstream revision 17525 'Commit additional hardening to setup packet decode.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28762 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 16:55:36 +00:00
Nils Wallménius
02f836b1b2
libtremor: merge upstream revision 17524 more sanity checking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28761 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 16:27:41 +00:00
Nils Wallménius
0bfa899544
libtremor: merge upstream revision 17522 and 17523 adding more sanity checking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28760 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 16:22:51 +00:00
Nils Wallménius
13eac3bd2f
libtremor: merge upstream revision 17520 and 17521 tweaking some of the recently introduced chaecks to not reject files made with buggy beta encoders.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28759 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 16:12:32 +00:00
Nils Wallménius
d44fb16feb
libtremor: merge upstream revision 17519 'Correct an accidental dereference-before-check in error cleanup in comments.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28758 a1c6a512-1295-4272-9138-f99709370657
2010-12-07 16:08:26 +00:00
Nils Wallménius
23321dca5e
libtremor: merge upstream revision 17518 actually returning failure code from vorbis_synthesis_init
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28750 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 17:35:36 +00:00
Nils Wallménius
2aa76d7a18
libtremor: export a libogg function that is now needed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28749 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 17:16:45 +00:00
Nils Wallménius
c28778fb5a
libtremor: merge part of upstream revision 17514 adding some limit checking for allocations when unpacking comments.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28748 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 17:15:00 +00:00
Nils Wallménius
bdf8a243fa
libtremor: merge upstream revision 17513 'Add code to prevent heap attacks by exploiting dim==bignum and partition_codewords==partion_values^dim.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28747 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 16:48:57 +00:00
Nils Wallménius
0d43bf6a88
libtremor: merge upstream revision 17512 'Correctly handle the nonsensical codebook.dim==0 case.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28746 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 16:44:40 +00:00
Nils Wallménius
8a239cf4f7
libtremor: merge upstream revision 17511 'Add checks/rejection for absurdly huge codebooks.'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28745 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 16:40:05 +00:00
Nils Wallménius
4487107d25
libtremor: merge upstream revision 17510.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28744 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 16:34:21 +00:00
Nils Wallménius
67efbc1387
libtremor:
...
Merge in upstream revision 17375.
This removes tremor's internal ogg code and now uses libogg instead so a bunch of changes are just adjusting to the new api. Also brings in improvements to vorbisfile which fixes FS#10484.
Disabled a lot of unused code in the libogg files and moved some small functions into the ogg.h header so they can be inlined. Some small tweaks to fix warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28742 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 14:36:52 +00:00
Dave Bryant
516693fcc9
make WavPack library check the extent of the block that it is parsing so that it cannot run into the next block; also enhance the metadata code to handle the case of files with non-audio blocks at the beginning (which can happen if the source WAV file has lots of RIFF data)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28736 a1c6a512-1295-4272-9138-f99709370657
2010-12-05 19:25:32 +00:00
Nils Wallménius
911f2a7dac
libtremor: merge upstream revision 17374 and some inline/icode tweaks to maintain speed.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28732 a1c6a512-1295-4272-9138-f99709370657
2010-12-04 12:59:37 +00:00
Andree Buschmann
1b093cf297
Remove tabs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28719 a1c6a512-1295-4272-9138-f99709370657
2010-12-01 18:35:01 +00:00
Nils Wallménius
71ad3679dc
codeclib: inline assembler for fft4 and fft8 on coldfire, small 0.2-0.3MHz speedup with gcc 3.4, larger 0.6-0.8MHz speedup with gcc 4.4/4.5
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28716 a1c6a512-1295-4272-9138-f99709370657
2010-12-01 11:27:30 +00:00
Michael Giacomelli
9929512682
ARM9 optimized synth_full for libmad. Speeds up mp3 decoding by an even 2 MHz on all ARM9 and later devices. Note this is only optimized for arm9 (non-E), although it is faster on later devices. An arm9E/11 version will be needed for optimal performance on newer devices.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28710 a1c6a512-1295-4272-9138-f99709370657
2010-11-29 22:34:51 +00:00
Nils Wallménius
b397fe5ae3
libtremor: small tweak to coldfire inline asm function MULT31_SHIFT15, saving one instruction, *tiny* speedup, output unchanged
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28666 a1c6a512-1295-4272-9138-f99709370657
2010-11-26 10:45:33 +00:00
Nils Wallménius
ff9e1861b3
codeclib: there is no need to limit the outputs of the coldfire X(N)PROD_R macros to data registers, no significant speed diff
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28656 a1c6a512-1295-4272-9138-f99709370657
2010-11-24 12:01:08 +00:00
Nils Wallménius
8802c5de9d
codeclib: don't mark the outputs for the coldfire X(N)PROD_R asm macros as earlyclobbers as they are not, lets gcc produce better code. Speedup of 0.2-0.3MHz for codecs using the mdct, (larger speedup when building with gcc 4.4).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28650 a1c6a512-1295-4272-9138-f99709370657
2010-11-23 11:58:00 +00:00
Andree Buschmann
5e6b9f7ed4
Use MEM_ALIGN_ATTR in libatrac3.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28643 a1c6a512-1295-4272-9138-f99709370657
2010-11-22 23:41:57 +00:00
Andree Buschmann
dedffd3f40
Fix bug in libatrac which lead to playback errors and/or distortions with some atrac3 files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28642 a1c6a512-1295-4272-9138-f99709370657
2010-11-22 23:26:39 +00:00
Michael Giacomelli
e5361590e7
Align various libwma buffers. Saves about 1 MHz on the Gigabeat S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28640 a1c6a512-1295-4272-9138-f99709370657
2010-11-22 07:04:32 +00:00
Michael Giacomelli
0e53651062
Force alignment of various data structures in libmad. Speeds up Gigabeat S decoding by about 1MHz.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28639 a1c6a512-1295-4272-9138-f99709370657
2010-11-22 02:51:13 +00:00
Andree Buschmann
f99b896017
Remove tabs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28635 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 21:54:46 +00:00
Andree Buschmann
1aac58553c
Comment unused function.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28634 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 18:59:24 +00:00
Andree Buschmann
3c83cea151
Remove unused define.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28633 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 18:48:45 +00:00
Andree Buschmann
6cff0e72de
Use MEM_ALIGN_ATTR in libdemac instead of fixed alignment. Speeds up arm11 by ~6%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28632 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 17:58:42 +00:00
Andree Buschmann
0dbc4a6cae
Use MEM_ALIGN_ATTR in mpc codec. Speed up by 22-24% was measured on ARM11.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28627 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 14:03:55 +00:00
Michael Giacomelli
f54cbfa164
Commit first part of FS#11235 by Buschel and I. Improves scheduling on arm9 for two filter macros in libmad that are almost never called. A larger speed up will be possible when the remaining ASM code is improved.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28624 a1c6a512-1295-4272-9138-f99709370657
2010-11-20 19:06:05 +00:00
Nils Wallménius
8a2c480af7
libtremor: Use larger cachesize for codebook decoding on targets with 1MB codec buffer.
...
speedups as follows:
~3%/2MHz on high bitrate files (500kbps) on Gigabeat S
~1%/0.5MHz on high bitrate files (500kbps) on Fuze v1
~3%/1MHz (128kbps) - 12%/7MHz (500kbps) on H300
~2%/0.5MHz (128kbps) - 10%/3.5MHz (500kbps) on C200 v1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28615 a1c6a512-1295-4272-9138-f99709370657
2010-11-18 15:51:59 +00:00
Michael Giacomelli
b965c24c0b
ffmpeg flac does actually support up to 192k sample rates, and my test file seems to decode fine, so lets enable it. Note that using 192khz is over 6 times slower then 44.1khz on my test file, so I recommend sticking to more reasonable bitrates.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28609 a1c6a512-1295-4272-9138-f99709370657
2010-11-17 00:49:09 +00:00
Nils Wallménius
76027b5951
libtremor: correct constraint for coldfire asm, swap can only be used on data registers.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28604 a1c6a512-1295-4272-9138-f99709370657
2010-11-15 16:02:17 +00:00
Andree Buschmann
bb56bc4ba0
Minor speed up of mpc requantization.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28563 a1c6a512-1295-4272-9138-f99709370657
2010-11-12 07:09:09 +00:00
Andree Buschmann
ee610d47c7
Re-submit ARM asm optimizations in mpc synthesis as the performance regressions on S5L870x have been solved with r28561.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28562 a1c6a512-1295-4272-9138-f99709370657
2010-11-12 07:07:57 +00:00
Andree Buschmann
3f4e0cf25b
Set alignment for major data arrays in the mpc codec. This avoids performance regressions on S5L870x CPUs when changing code and allows further improvements.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28561 a1c6a512-1295-4272-9138-f99709370657
2010-11-12 07:04:07 +00:00
Michael Giacomelli
c38378eff1
Remove some benchmarking code accidentally included in the previous commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28550 a1c6a512-1295-4272-9138-f99709370657
2010-11-10 18:34:27 +00:00
Michael Giacomelli
f51189fa4d
Commit FS#11709 by me. Introduces ARMv5E optimized iQMF for atrac3 based on packed multiply instructions. Additionally, improves scheduling on arm9 and arm11 and forces cache alignment of buffers on all targets. Accuracy is slightly reduced, but still greater then 16 bit. Clip+ CPU clock required for LP2 files decreases by 13MHz and ARM11 by 18MHz. No performance or accuracy changes on armv4 or non-arm.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28549 a1c6a512-1295-4272-9138-f99709370657
2010-11-10 18:29:29 +00:00
Andree Buschmann
de0fcc3500
Introduce macros to ARM asm atrac3 filterbank for better readability.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28546 a1c6a512-1295-4272-9138-f99709370657
2010-11-10 07:16:04 +00:00
Andree Buschmann
92c38a728e
Roll back r28488 as it slows down mpc by 2% on S5L8701.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28545 a1c6a512-1295-4272-9138-f99709370657
2010-11-09 22:19:07 +00:00
Andree Buschmann
ebcfb13a86
Correct comment.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28540 a1c6a512-1295-4272-9138-f99709370657
2010-11-09 21:48:33 +00:00