diff options
author | Thom Johansen <thomj@rockbox.org> | 2005-10-13 11:32:52 +0000 |
---|---|---|
committer | Thom Johansen <thomj@rockbox.org> | 2005-10-13 11:32:52 +0000 |
commit | c91e0bbfc9ea289598d2202404eee3a524c7cde1 (patch) | |
tree | 31ac0e5c3e5ec8631dec9695cfc8e5aeb8702a3f /apps/codecs/lib/codeclib.h | |
parent | f9cc638efd655c3ac392fdaf346ebc5c6dbd258b (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.h | 39 |
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); + |