summaryrefslogtreecommitdiff
path: root/apps/codecs/libspeex/rockbox.c
diff options
context:
space:
mode:
authorDan Everton <dan@iocaine.org>2007-02-10 11:44:26 +0000
committerDan Everton <dan@iocaine.org>2007-02-10 11:44:26 +0000
commit7bf62e8da66ca8ff0acc2702f92ea4fe06eb94b1 (patch)
treec9db4558a73ae3094839c4655fa0b8ebc2231c56 /apps/codecs/libspeex/rockbox.c
parent51587512635a8b19e6a5f19a20074d0d4d1f17da (diff)
downloadrockbox-7bf62e8da66ca8ff0acc2702f92ea4fe06eb94b1.zip
rockbox-7bf62e8da66ca8ff0acc2702f92ea4fe06eb94b1.tar.gz
rockbox-7bf62e8da66ca8ff0acc2702f92ea4fe06eb94b1.tar.bz2
rockbox-7bf62e8da66ca8ff0acc2702f92ea4fe06eb94b1.tar.xz
* Sync Speex codec with Speex SVN revision 12449 (roughly Speex 1.2beta1).
* Redo the changes required to make Speex compile in Rockbox. Should be a bit easier to keep in sync with Speex SVN now. * Fix name of Speex library in codecs Makefile. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12254 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libspeex/rockbox.c')
-rw-r--r--apps/codecs/libspeex/rockbox.c121
1 files changed, 121 insertions, 0 deletions
diff --git a/apps/codecs/libspeex/rockbox.c b/apps/codecs/libspeex/rockbox.c
new file mode 100644
index 0000000..231a6b8
--- /dev/null
+++ b/apps/codecs/libspeex/rockbox.c
@@ -0,0 +1,121 @@
+/**************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ *
+ * Copyright (C) 2007 Dan Everton
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "../codec.h"
+#include "../lib/codeclib.h"
+
+extern struct codec_api* ci;
+
+#if defined(DEBUG) || defined(SIMULATOR)
+#undef DEBUGF
+#define DEBUGF ci->debugf
+#else
+#define DEBUGF(...)
+#endif
+
+#ifdef ROCKBOX_HAS_LOGF
+#undef LOGF
+#define LOGF ci->logf
+#else
+#define LOGF(...)
+#endif
+
+void *speex_alloc (int size)
+{
+ return codec_calloc(size, 1);
+}
+
+void *speex_alloc_scratch (int size)
+{
+ return codec_calloc(size,1);
+}
+
+void *speex_realloc (void *ptr, int size)
+{
+ return codec_realloc(ptr, size);
+}
+
+void speex_free (void *ptr)
+{
+ codec_free(ptr);
+}
+
+void speex_free_scratch (void *ptr)
+{
+ codec_free(ptr);
+}
+
+void *speex_move (void *dest, void *src, int n)
+{
+ return memmove(dest,src,n);
+}
+
+void speex_error(const char *str)
+{
+ DEBUGF("Fatal error: %s\n", str);
+ //exit(1);
+}
+
+void speex_warning(const char *str)
+{
+ DEBUGF("warning: %s\n", str);
+}
+
+void speex_warning_int(const char *str, int val)
+{
+ DEBUGF("warning: %s %d\n", str, val);
+}
+
+void _speex_putc(int ch, void *file)
+{
+ //FILE *f = (FILE *)file;
+ //printf("%c", ch);
+}
+
+float floor(float x) {
+ return ((float)(((int)x)));
+}
+
+//Placeholders (not fixed point, only used when encoding):
+float pow(float a, float b) {
+ return 0;
+}
+
+float log(float l) {
+ return 0;
+}
+
+float fabs(float a) {
+ return 0;
+}
+
+float sin(float a) {
+ return 0;
+}
+
+float cos(float a) {
+ return 0;
+}
+
+float sqrt(float a) {
+ return 0;
+}
+
+float exp(float a) {
+ return 0;
+}