summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libopus/opus_private.h
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2014-01-19 16:31:59 +0100
committerNils Wallménius <nils@rockbox.org>2014-07-13 11:12:40 +0200
commit9b7ec42403073ee887efc531c153e6b1b6c15bab (patch)
tree07e72fe9d817c65a6fede22955344a870842d5e6 /lib/rbcodec/codecs/libopus/opus_private.h
parente557951c94c1efa769900257e466900f0ffeb53b (diff)
downloadrockbox-9b7ec42403073ee887efc531c153e6b1b6c15bab.tar.gz
rockbox-9b7ec42403073ee887efc531c153e6b1b6c15bab.zip
Sync to upstream libopus
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
Diffstat (limited to 'lib/rbcodec/codecs/libopus/opus_private.h')
-rw-r--r--lib/rbcodec/codecs/libopus/opus_private.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/rbcodec/codecs/libopus/opus_private.h b/lib/rbcodec/codecs/libopus/opus_private.h
index 83225f2b6c..3177f52442 100644
--- a/lib/rbcodec/codecs/libopus/opus_private.h
+++ b/lib/rbcodec/codecs/libopus/opus_private.h
@@ -86,10 +86,6 @@ typedef void (*downmix_func)(const void *, opus_val32 *, int, int, int, int, int
86void downmix_float(const void *_x, opus_val32 *sub, int subframe, int offset, int c1, int c2, int C); 86void downmix_float(const void *_x, opus_val32 *sub, int subframe, int offset, int c1, int c2, int C);
87void downmix_int(const void *_x, opus_val32 *sub, int subframe, int offset, int c1, int c2, int C); 87void downmix_int(const void *_x, opus_val32 *sub, int subframe, int offset, int c1, int c2, int C);
88 88
89int optimize_framesize(const opus_val16 *x, int len, int C, opus_int32 Fs,
90 int bitrate, opus_val16 tonality, float *mem, int buffering,
91 downmix_func downmix);
92
93int encode_size(int size, unsigned char *data); 89int encode_size(int size, unsigned char *data);
94 90
95opus_int32 frame_size_select(opus_int32 frame_size, int variable_duration, opus_int32 Fs); 91opus_int32 frame_size_select(opus_int32 frame_size, int variable_duration, opus_int32 Fs);
@@ -104,7 +100,8 @@ opus_int32 compute_frame_size(const void *analysis_pcm, int frame_size,
104 100
105opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_size, 101opus_int32 opus_encode_native(OpusEncoder *st, const opus_val16 *pcm, int frame_size,
106 unsigned char *data, opus_int32 out_data_bytes, int lsb_depth, 102 unsigned char *data, opus_int32 out_data_bytes, int lsb_depth,
107 const void *analysis_pcm, opus_int32 analysis_size, int c1, int c2, int analysis_channels, downmix_func downmix); 103 const void *analysis_pcm, opus_int32 analysis_size, int c1, int c2,
104 int analysis_channels, downmix_func downmix, int float_api);
108 105
109int opus_decode_native(OpusDecoder *st, const unsigned char *data, opus_int32 len, 106int opus_decode_native(OpusDecoder *st, const unsigned char *data, opus_int32 len,
110 opus_val16 *pcm, int frame_size, int decode_fec, int self_delimited, 107 opus_val16 *pcm, int frame_size, int decode_fec, int self_delimited,