diff options
author | Jens Arnold <amiconn@rockbox.org> | 2008-10-03 21:40:32 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2008-10-03 21:40:32 +0000 |
commit | d1b19be423ab5fc62a7d16b26813b9624bf57709 (patch) | |
tree | 01ad3fe534efbb614b82712ecf419f99edfc349b /apps/codecs/demac/libdemac/entropy.c | |
parent | 66fe9a462c5093003a0b65239b54b44f6395b342 (diff) | |
download | rockbox-d1b19be423ab5fc62a7d16b26813b9624bf57709.tar.gz rockbox-d1b19be423ab5fc62a7d16b26813b9624bf57709.zip |
Various speedups: (1) Put actual decoding functions into IRAM on PP5002. (2) Put the insane filter buffer into IRAM on coldfire and PP502x (just for completeness, as long as there's no better use). (3) Use the ARMv6 'ssat' instruction for saturation on Gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18701 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/demac/libdemac/entropy.c')
-rw-r--r-- | apps/codecs/demac/libdemac/entropy.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/apps/codecs/demac/libdemac/entropy.c b/apps/codecs/demac/libdemac/entropy.c index 76d977da82..1ef5bc4dc1 100644 --- a/apps/codecs/demac/libdemac/entropy.c +++ b/apps/codecs/demac/libdemac/entropy.c | |||
@@ -28,6 +28,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA | |||
28 | #include "parser.h" | 28 | #include "parser.h" |
29 | #include "entropy.h" | 29 | #include "entropy.h" |
30 | #include "rangecoding.h" /* Range-coding (static inline) functions */ | 30 | #include "rangecoding.h" /* Range-coding (static inline) functions */ |
31 | #include "demac_iram.h" | ||
31 | 32 | ||
32 | #define MODEL_ELEMENTS 64 | 33 | #define MODEL_ELEMENTS 64 |
33 | 34 | ||
@@ -270,11 +271,11 @@ void init_entropy_decoder(struct ape_ctx_t* ape_ctx, | |||
270 | *firstbyte = bytebufferoffset; | 271 | *firstbyte = bytebufferoffset; |
271 | } | 272 | } |
272 | 273 | ||
273 | int entropy_decode(struct ape_ctx_t* ape_ctx, | 274 | int ICODE_ATTR_DEMAC entropy_decode(struct ape_ctx_t* ape_ctx, |
274 | unsigned char* inbuffer, int* firstbyte, | 275 | unsigned char* inbuffer, int* firstbyte, |
275 | int* bytesconsumed, | 276 | int* bytesconsumed, |
276 | int32_t* decoded0, int32_t* decoded1, | 277 | int32_t* decoded0, int32_t* decoded1, |
277 | int blockstodecode) | 278 | int blockstodecode) |
278 | { | 279 | { |
279 | bytebuffer = inbuffer; | 280 | bytebuffer = inbuffer; |
280 | bytebufferoffset = *firstbyte; | 281 | bytebufferoffset = *firstbyte; |