9b7ec42403
Sync to commit bb4b6885a139644cf3ac14e7deda9f633ec2d93c This brings in a bunch of optimizations to decode speed and memory usage. Allocations are switched from using the pseudostack to using the real stack. Enabled hacks to reduce stack usage. This should fix crashes on sansa clip, although some files will not play due to failing allocations in the codec buffer. Speeds up decoding of the following test files: H300 (cf) C200 (arm7tdmi) ipod classic (arm9e) 16 kbps (silk) 14.28 MHz 4.00 MHz 2.61 MHz 64 kbps (celt) 4.09 MHz 8.08 MHz 6.24 MHz 128 kbps (celt) 1.93 MHz 8.83 MHz 6.53 MHz Change-Id: I851733a8a5824b61feb363a173091bc7e6629b58 |
||
---|---|---|
.. | ||
celt | ||
ogg | ||
silk | ||
config.h | ||
libopus.make | ||
opus.c | ||
opus.h | ||
opus_custom.h | ||
opus_decoder.c | ||
opus_defines.h | ||
opus_header.c | ||
opus_header.h | ||
opus_private.h | ||
opus_types.h | ||
README.rockbox | ||
SOURCES |
Libraries: Opus (snapshot) / Opus-tools (snapshot) / libogg 1.3 Imported: September 15th, 2012 Steps taken to adapt original opus/opus-tool/ogg source files to rockbox (useful when for example syncing a new snapshot) Opus: * copied .c/.h files from opus/src lib/rbcodec/codecs/libopus * copied .h files from opus/include to lib/rbcodec/codecs/libopus * copied .c/.h files from opus/celt to lib/rbcodec/codecs/libopus/celt * copied .c/.h files from opus/silk to lib/rbcodec/codecs/libopus/silk Opus-tools: * copied src/opus_header.h and src/opus_header.c to lib/rbcodec/codecs/libopus * changed #include <ogg/ogg.h> to #include "ogg/ogg.h" in opus_header.c Ogg: * copied libogg/src/framing.c to lib/rbcodec/codecs/libopus/ogg * copied libogg/include/ogg.h to lib/rbcodec/codecs/libopus/ogg * changed #include "ogg/ogg.h" to #include "ogg.h" in framing.c * added os_config.h to lib/rbcodec/codecs/libopus/ogg