summaryrefslogtreecommitdiff
path: root/apps/codecs/lib/codeclib.h
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2005-10-13 11:32:52 +0000
committerThom Johansen <thomj@rockbox.org>2005-10-13 11:32:52 +0000
commitc91e0bbfc9ea289598d2202404eee3a524c7cde1 (patch)
tree31ac0e5c3e5ec8631dec9695cfc8e5aeb8702a3f /apps/codecs/lib/codeclib.h
parentf9cc638efd655c3ac392fdaf346ebc5c6dbd258b (diff)
Cleaned up the messy codec header and library system by merging codec.h, lib/codeclib.[ch] and lib/xxx2wav.[ch] into just codeclib.[ch]. Deleted much of the unused code in the xxx2wav portion. All codecs should now only include codeclib.h, and whatever codec specific headers are needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7626 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/lib/codeclib.h')
-rw-r--r--apps/codecs/lib/codeclib.h39
1 files changed, 35 insertions, 4 deletions
diff --git a/apps/codecs/lib/codeclib.h b/apps/codecs/lib/codeclib.h
index d6bbfd3888..b46b44bbce 100644
--- a/apps/codecs/lib/codeclib.h
+++ b/apps/codecs/lib/codeclib.h
@@ -19,26 +19,57 @@
#include "config.h"
#include "codecs.h"
+#include "system.h"
+#include <sys/types.h>
-/* Various codec "helper functions" */
+#define MALLOC_BUFSIZE (512*1024)
extern int mem_ptr;
extern int bufsize;
-extern unsigned char* mallocbuf; /* 512K from the start of MP3 buffer */
+extern unsigned char* mp3buf; // The actual MP3 buffer from Rockbox
+extern unsigned char* mallocbuf; // 512K from the start of MP3 buffer
+extern unsigned char* filebuf; // The rest of the MP3 buffer
+
+/* Standard library functions that are used by the codecs follow here */
+
+/* Get these functions 'out of the way' of the standard functions. Not doing
+ * so confuses the cygwin linker, and maybe others. These functions need to
+ * be implemented elsewhere */
+#define malloc(x) codec_malloc(x)
+#define calloc(x,y) codec_calloc(x,y)
+#define realloc(x,y) codec_realloc(x,y)
+#define free(x) codec_free(x)
void* codec_malloc(size_t size);
void* codec_calloc(size_t nmemb, size_t size);
void* codec_realloc(void* ptr, size_t size);
void codec_free(void* ptr);
-#if defined(SIMULATOR)
+#if !defined(SIMULATOR)
+#define alloca __builtin_alloca
+#else
+#define alloca(x) codec_alloca(x)
void* codec_alloca(size_t size);
#endif
void *memcpy(void *dest, const void *src, size_t n);
void *memset(void *s, int c, size_t n);
int memcmp(const void *s1, const void *s2, size_t n);
-void* memmove(const void *s1, const void *s2, size_t n);
+void *memmove(const void *s1, const void *s2, size_t n);
+
+size_t strlen(const char *s);
+char *strcpy(char *dest, const char *src);
+char *strcat(char *dest, const char *src);
+int strcmp(const char *, const char *);
+int strcasecmp(const char *, const char *);
+
+void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *));
+
+#define abs(x) ((x)>0?(x):-(x))
+#define labs(x) abs(x)
+
+/* Various codec helper functions */
int codec_init(struct codec_api* rb);
void codec_set_replaygain(struct mp3entry* id3);
+