summaryrefslogtreecommitdiff
path: root/apps/codecs/demac/libdemac/entropy.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-10-03 21:40:32 +0000
committerJens Arnold <amiconn@rockbox.org>2008-10-03 21:40:32 +0000
commitd1b19be423ab5fc62a7d16b26813b9624bf57709 (patch)
tree01ad3fe534efbb614b82712ecf419f99edfc349b /apps/codecs/demac/libdemac/entropy.c
parent66fe9a462c5093003a0b65239b54b44f6395b342 (diff)
downloadrockbox-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.c11
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
273int entropy_decode(struct ape_ctx_t* ape_ctx, 274int 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;