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 |
|