summaryrefslogtreecommitdiff
path: root/apps/codecs
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs')
-rw-r--r--apps/codecs/Makefile256
-rw-r--r--apps/codecs/ape.c1
-rw-r--r--apps/codecs/codec.h49
-rw-r--r--apps/codecs/codecs.make103
-rw-r--r--apps/codecs/demac/libdemac.make24
-rw-r--r--apps/codecs/demac/libdemac/demac_config.h2
-rw-r--r--apps/codecs/lib/Makefile50
-rw-r--r--apps/codecs/lib/codeclib.c4
-rw-r--r--apps/codecs/lib/codeclib.h13
-rw-r--r--apps/codecs/lib/libcodec.make23
-rw-r--r--apps/codecs/liba52/Makefile43
-rw-r--r--apps/codecs/liba52/config-a52.h2
-rw-r--r--apps/codecs/liba52/liba52.make17
-rw-r--r--apps/codecs/libalac/Makefile43
-rw-r--r--apps/codecs/libalac/alac.c2
-rw-r--r--apps/codecs/libalac/libalac.make24
-rw-r--r--apps/codecs/libasap/Makefile44
-rw-r--r--apps/codecs/libasap/libasap.make24
-rw-r--r--apps/codecs/libfaad/Makefile43
-rw-r--r--apps/codecs/libfaad/common.h3
-rw-r--r--apps/codecs/libfaad/libfaad.make18
-rw-r--r--apps/codecs/libffmpegFLAC/Makefile43
-rw-r--r--apps/codecs/libffmpegFLAC/decoder.c2
-rw-r--r--apps/codecs/libffmpegFLAC/libffmpegFLAC.make17
-rw-r--r--apps/codecs/libffmpegFLAC/tables.c2
-rw-r--r--apps/codecs/libm4a/Makefile43
-rw-r--r--apps/codecs/libm4a/demux.c5
-rw-r--r--apps/codecs/libm4a/libm4a.make24
-rw-r--r--apps/codecs/libm4a/m4a.c7
-rw-r--r--apps/codecs/libmad/Makefile50
-rw-r--r--apps/codecs/libmad/frame.c2
-rw-r--r--apps/codecs/libmad/global.h2
-rw-r--r--apps/codecs/libmad/libmad.make54
-rw-r--r--apps/codecs/libmusepack/Makefile49
-rw-r--r--apps/codecs/libmusepack/huffsv46.c6
-rw-r--r--apps/codecs/libmusepack/huffsv7.c6
-rw-r--r--apps/codecs/libmusepack/libmusepack.make29
-rw-r--r--apps/codecs/libmusepack/musepack.h4
-rw-r--r--apps/codecs/libspc/Makefile44
-rw-r--r--apps/codecs/libspc/libspc.make24
-rw-r--r--apps/codecs/libspc/spc_codec.h2
-rw-r--r--apps/codecs/libspc/spc_cpu.c3
-rw-r--r--apps/codecs/libspc/spc_dsp.c3
-rw-r--r--apps/codecs/libspc/spc_emu.c3
-rw-r--r--apps/codecs/libspc/spc_profiler.c2
-rw-r--r--apps/codecs/libspeex/Makefile57
-rw-r--r--apps/codecs/libspeex/bits.c2
-rw-r--r--apps/codecs/libspeex/cb_search.c6
-rw-r--r--apps/codecs/libspeex/cb_search.h2
-rw-r--r--apps/codecs/libspeex/config-speex.h2
-rw-r--r--apps/codecs/libspeex/filters.c5
-rw-r--r--apps/codecs/libspeex/jitter.c6
-rw-r--r--apps/codecs/libspeex/libspeex.make60
-rw-r--r--apps/codecs/libspeex/lsp.c1
-rw-r--r--apps/codecs/libspeex/ltp.c13
-rw-r--r--apps/codecs/libspeex/ltp.h2
-rw-r--r--apps/codecs/libspeex/ltp_arm4.h1
-rw-r--r--apps/codecs/libspeex/modes.h4
-rw-r--r--apps/codecs/libspeex/nb_celp.c4
-rw-r--r--apps/codecs/libspeex/nb_celp.h4
-rw-r--r--apps/codecs/libspeex/quant_lsp.h2
-rw-r--r--apps/codecs/libspeex/rockbox.h13
-rw-r--r--apps/codecs/libspeex/sb_celp.h2
-rw-r--r--apps/codecs/libspeex/speex/ogg.h2
-rw-r--r--apps/codecs/libspeex/speex_callbacks.c13
-rw-r--r--apps/codecs/libspeex/speex_header.c4
-rw-r--r--apps/codecs/libspeex/stereo.c5
-rw-r--r--apps/codecs/libtremor/Makefile49
-rw-r--r--apps/codecs/libtremor/config-tremor.h2
-rw-r--r--apps/codecs/libtremor/ctype.c2
-rw-r--r--apps/codecs/libtremor/libtremor.make36
-rw-r--r--apps/codecs/libtremor/mapping0.c2
-rw-r--r--apps/codecs/libtremor/oggmalloc.c5
-rw-r--r--apps/codecs/libwavpack/Makefile43
-rw-r--r--apps/codecs/libwavpack/libwavpack.make17
-rw-r--r--apps/codecs/libwavpack/wavpack.h6
-rw-r--r--apps/codecs/libwma/Makefile43
-rw-r--r--apps/codecs/libwma/libwma.make17
-rw-r--r--apps/codecs/wma.c2
79 files changed, 627 insertions, 1021 deletions
diff --git a/apps/codecs/Makefile b/apps/codecs/Makefile
deleted file mode 100644
index 6d3f1f683a..0000000000
--- a/apps/codecs/Makefile
+++ /dev/null
@@ -1,256 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES = -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I$(FIRMDIR)/common \
11 -I$(FIRMDIR)/drivers -I$(APPSDIR) -Ilib -I$(BUILDDIR)
12CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(TARGET) $(EXTRA_DEFINES) \
13 -DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DCODEC
14
15ifdef APPEXTRA
16 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
17endif
18
19ifdef SOFTWARECODECS
20 CODECLIBS = -lspc -lmad -la52 -lffmpegFLAC -ltremor -lwavpack -lmusepack -lalac -lfaad -lm4a -lspeex -ldemac -lwma -lasap
21 OUTPUT = libspc libmad liba52 libffmpegFLAC libwma libtremor libwavpack libmusepack libalac libfaad libm4a libspeex libdemac libasap
22endif
23
24# we "borrow" the plugin LDS file
25LDS := $(APPSDIR)/plugins/plugin.lds
26
27LINKCODEC := $(OBJDIR)/codeclink.lds
28DEPFILE = $(OBJDIR)/dep-codecs
29
30# This sets up 'SRC' based on the files mentioned in SOURCES
31include $(TOOLSDIR)/makesrc.inc
32
33ROCKS := $(SRC:%.c=$(OBJDIR)/%.codec)
34SOURCES = $(SRC)
35ELFS := $(SRC:%.c=$(OBJDIR)/%.elf)
36OBJS := $(SRC:%.c=$(OBJDIR)/%.o)
37# as created by the cross-compiler for win32:
38DEFS := $(SRC:%.c=$(OBJDIR)/%.def)
39DIRS = .
40
41CODECLIB := $(BUILDDIR)/libcodec.a
42CODECDEPS = $(LINKCODEC) $(CODECLIB)
43
44.PHONY: libspc libmad liba52 libffmpegFLAC libtremor libspeex libwavpack libmusepack libalac libfaad libm4a libdemac libwma libasap
45
46all: $(LINKCODEC) $(ROCKS)
47
48ifndef SIMVER
49$(BUILDDIR)/%.a : % $(CODECDEPS)
50
51# special dependencies
52$(OBJDIR)/spc.elf : $(BUILDDIR)/libspc.a
53$(OBJDIR)/mpa.elf : $(BUILDDIR)/libmad.a
54$(OBJDIR)/a52.elf : $(BUILDDIR)/liba52.a
55$(OBJDIR)/flac.elf : $(BUILDDIR)/libffmpegFLAC.a
56$(OBJDIR)/vorbis.elf : $(BUILDDIR)/libtremor.a
57$(OBJDIR)/speex.elf : $(BUILDDIR)/libspeex.a
58$(OBJDIR)/mpc.elf : $(BUILDDIR)/libmusepack.a
59$(OBJDIR)/wavpack.elf : $(BUILDDIR)/libwavpack.a
60$(OBJDIR)/alac.elf : $(BUILDDIR)/libalac.a $(BUILDDIR)/libm4a.a
61$(OBJDIR)/aac.elf : $(BUILDDIR)/libfaad.a $(BUILDDIR)/libm4a.a
62$(OBJDIR)/shorten.elf : $(BUILDDIR)/libffmpegFLAC.a
63$(OBJDIR)/ape.elf : $(BUILDDIR)/libdemac.a
64$(OBJDIR)/wma.elf : $(BUILDDIR)/libwma.a
65$(OBJDIR)/wavpack_enc.elf: $(BUILDDIR)/libwavpack.a
66$(OBJDIR)/asap.elf : $(BUILDDIR)/libasap.a
67
68# standard dependencies
69$(OBJDIR)/%.elf: $(OBJDIR)/%.o $(OBJDIR)/codec_crt0.o $(CODECLIB)
70 $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) -o $@ $^ \
71 -L$(BUILDDIR) -lcodec -lgcc -T$(LINKCODEC) \
72 -Wl,--gc-sections,-Map,$(OBJDIR)/$*.map
73
74$(OBJDIR)/%.codec : $(OBJDIR)/%.elf
75 $(call PRINTS,OBJCOPY $(@F))$(OC) -O binary $< $@
76else
77
78ifeq ($(SIMVER), x11)
79###################################################
80# This is the X11 simulator version
81
82$(OBJDIR)/%.codec : $(OBJDIR)/%.o $(OBJDIR)/codec_crt0.o $(BUILDDIR)/libcodec.a $(OUTPUT)
83 $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $< $(OBJDIR)/codec_crt0.o -L$(BUILDDIR) $(CODECLIBS) -lcodec -o $@
84ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
85# 'x' must be kept or you'll have "Win32 error 5"
86# $ fgrep 5 /usr/include/w32api/winerror.h | head -1
87# #define ERROR_ACCESS_DENIED 5L
88else
89 $(SILENT)chmod -x $@
90endif
91
92else # end of x11-simulator
93ifeq ($(SIMVER), sdl)
94###################################################
95# This is the SDL simulator version
96
97$(OBJDIR)/%.codec : $(OBJDIR)/%.o $(OBJDIR)/codec_crt0.o $(BUILDDIR)/libcodec.a $(OUTPUT)
98 $(call PRINTS,LD $(@F))$(CC) $(CFLAGS) $(SHARED_FLAG) $< $(OBJDIR)/codec_crt0.o -L$(BUILDDIR) $(CODECLIBS) -lcodec -o $@
99ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
100# 'x' must be kept or you'll have "Win32 error 5"
101# $ fgrep 5 /usr/include/w32api/winerror.h | head -1
102# #define ERROR_ACCESS_DENIED 5L
103else
104 $(SILENT)chmod -x $@
105endif
106
107else # end of sdl-simulator
108###################################################
109# This is the win32 simulator version
110DLLTOOLFLAGS = --export-all
111DLLWRAPFLAGS = -s --entry _DllMain@12 --target=i386-mingw32 -mno-cygwin
112
113$(OBJDIR)/%.codec : $(OBJDIR)/%.o $(OBJDIR)/codec_crt0.o $(BUILDDIR)/libcodec.a $(OUTPUT)
114 $(call PRINTS,DLL $(@F))$(DLLTOOL) $(DLLTOOLFLAGS) -z $(OBJDIR)/$*.def $< $(OBJDIR)/codec_crt0.o
115 $(SILENT)$(DLLWRAP) $(DLLWRAPFLAGS) --def $(OBJDIR)/$*.def $< $(OBJDIR)/codec_crt0.o\
116 $(BUILDDIR)/libcodec.a $(patsubst -l%,$(BUILDDIR)/lib%.a,$(CODECLIBS)) \
117 -o $@
118ifeq ($(findstring CYGWIN,$(UNAME)),CYGWIN)
119# 'x' must be kept or you'll have "Win32 error 5"
120# $ fgrep 5 /usr/include/w32api/winerror.h | head -1
121# #define ERROR_ACCESS_DENIED 5L
122else
123 $(SILENT)chmod -x $@
124endif
125endif # end of win32-simulator
126endif
127
128endif # end of simulator section
129
130include $(TOOLSDIR)/make.inc
131
132$(BUILDDIR)/libcodec.a:
133 $(SILENT)mkdir -p $(OBJDIR)/lib
134 $(call PRINTS,MAKE in codecs/lib)$(MAKE) -C lib OBJDIR=$(OBJDIR)/lib
135
136$(LINKCODEC): $(LDS)
137 $(call PRINTS,build $(@F))cat $< | $(CC) -DMEMORYSIZE=$(MEMORYSIZE) -DCODEC $(INCLUDES) $(TARGET) $(DEFINES) -E -P - >$@
138
139$(BUILDDIR)/libspc.a: libspc
140
141libspc:
142 $(SILENT)mkdir -p $(OBJDIR)/libspc
143 $(call PRINTS,MAKE in libspc)$(MAKE) -C libspc OBJDIR=$(OBJDIR)/libspc OUTPUT=$(BUILDDIR)/libspc.a
144
145$(BUILDDIR)/libmad.a: libmad
146
147libmad:
148 $(SILENT)mkdir -p $(OBJDIR)/libmad
149 $(call PRINTS,MAKE in libmad)$(MAKE) -C libmad OBJDIR=$(OBJDIR)/libmad OUTPUT=$(BUILDDIR)/libmad.a
150
151$(BUILDDIR)/liba52.a: liba52
152
153liba52:
154 $(SILENT)mkdir -p $(OBJDIR)/liba52
155 $(call PRINTS,MAKE in liba52)$(MAKE) -C liba52 OBJDIR=$(OBJDIR)/liba52 OUTPUT=$(BUILDDIR)/liba52.a
156
157$(BUILDDIR)/libwma.a: libwma
158
159libwma:
160 $(SILENT)mkdir -p $(OBJDIR)/libwma
161 $(call PRINTS,MAKE in libwma)$(MAKE) -C libwma OBJDIR=$(OBJDIR)/libwma OUTPUT=$(BUILDDIR)/libwma.a
162
163$(BUILDDIR)/libffmpegFLAC.a: libffmpegFLAC
164
165libffmpegFLAC:
166 $(SILENT)mkdir -p $(OBJDIR)/libffmpegFLAC
167 $(call PRINTS,MAKE in libffmpegFLAC)$(MAKE) -C libffmpegFLAC OBJDIR=$(OBJDIR)/libffmpegFLAC OUTPUT=$(BUILDDIR)/libffmpegFLAC.a
168
169$(BUILDDIR)/libtremor.a: libtremor
170
171libtremor:
172 $(SILENT)mkdir -p $(OBJDIR)/libtremor
173 $(call PRINTS,MAKE in libtremor)$(MAKE) -C libtremor OBJDIR=$(OBJDIR)/libtremor OUTPUT=$(BUILDDIR)/libtremor.a
174
175$(BUILDDIR)/libspeex.a: libspeex
176
177libspeex:
178 $(SILENT)mkdir -p $(OBJDIR)/libspeex
179 $(call PRINTS,MAKE in libspeex)$(MAKE) -C libspeex OBJDIR=$(OBJDIR)/libspeex OUTPUT=$(BUILDDIR)/libspeex.a
180
181$(BUILDDIR)/libwavpack.a: libwavpack
182
183libwavpack:
184 $(SILENT)mkdir -p $(OBJDIR)/libwavpack
185 $(call PRINTS,MAKE in libwavpack)$(MAKE) -C libwavpack OBJDIR=$(OBJDIR)/libwavpack OUTPUT=$(BUILDDIR)/libwavpack.a
186
187$(BUILDDIR)/libmusepack.a: libmusepack
188
189libmusepack:
190 $(SILENT)mkdir -p $(OBJDIR)/libmusepack
191 $(call PRINTS,MAKE in libmusepack)$(MAKE) -C libmusepack OBJDIR=$(OBJDIR)/libmusepack OUTPUT=$(BUILDDIR)/libmusepack.a
192
193$(BUILDDIR)/libalac.a: libalac
194
195libalac:
196 $(SILENT)mkdir -p $(OBJDIR)/libalac
197 $(call PRINTS,MAKE in libalac)$(MAKE) -C libalac OBJDIR=$(OBJDIR)/libalac OUTPUT=$(BUILDDIR)/libalac.a
198
199$(BUILDDIR)/libm4a.a: libm4a
200
201libm4a:
202 $(SILENT)mkdir -p $(OBJDIR)/libm4a
203 $(call PRINTS,MAKE in libm4a)$(MAKE) -C libm4a OBJDIR=$(OBJDIR)/libm4a OUTPUT=$(BUILDDIR)/libm4a.a
204
205$(BUILDDIR)/libfaad.a: libfaad
206
207libfaad:
208 $(SILENT)mkdir -p $(OBJDIR)/libfaad
209 $(call PRINTS,MAKE in libfaad)$(MAKE) -C libfaad OBJDIR=$(OBJDIR)/libfaad OUTPUT=$(BUILDDIR)/libfaad.a
210
211$(BUILDDIR)/libdemac.a: libdemac
212
213libdemac:
214 $(SILENT)mkdir -p $(OBJDIR)/libdemac
215 $(call PRINTS,MAKE in libdemac)$(MAKE) -C demac/libdemac OBJDIR=$(OBJDIR)/libdemac OUTPUT=$(BUILDDIR)/libdemac.a
216
217$(BUILDDIR)/libasap.a: libasap
218
219libasap:
220 $(SILENT)mkdir -p $(OBJDIR)/libasap
221 $(call PRINTS,MAKE in libasap)$(MAKE) -C libasap OBJDIR=$(OBJDIR)/libasap OUTPUT=$(BUILDDIR)/libasap.a
222clean:
223 $(call PRINTS,cleaning codecs)rm -fr \
224 $(OBJDIR)/libspc $(BUILDDIR)/libspc.a \
225 $(OBJDIR)/libmad $(BUILDDIR)/libmad.a \
226 $(OBJDIR)/liba52 $(BUILDDIR)/liba52.a \
227 $(OBJDIR)/libffmpegFLAC $(BUILDDIR)/libffmpegFLAC.a \
228 $(OBJDIR)/libtremor $(BUILDDIR)/libtremor.a \
229 $(OBJDIR)/libspeex $(BUILDDIR)/libSpeex.a \
230 $(OBJDIR)/libwavpack $(BUILDDIR)/libwavpack.a \
231 $(OBJDIR)/libmusepack $(BUILDDIR)/libmusepack.a \
232 $(OBJDIR)/libalac $(BUILDDIR)/libalac.a \
233 $(OBJDIR)/libfaad $(BUILDDIR)/libfaad.a \
234 $(OBJDIR)/libm4a $(BUILDDIR)/libm4a.a \
235 $(OBJDIR)/libdemac $(BUILDDIR)/libdemac.a \
236 $(OBJDIR)/libwma $(BUILDDIR)/libwma.a
237 $(OBJDIR)/libasap $(BUILDDIR)/libasap.a
238 $(SILENT)$(MAKE) -C libspc clean OBJDIR=$(OBJDIR)/libspc
239 $(SILENT)$(MAKE) -C libmad clean OBJDIR=$(OBJDIR)/libmad
240 $(SILENT)$(MAKE) -C liba52 clean OBJDIR=$(OBJDIR)/liba52
241 $(SILENT)$(MAKE) -C libffmpegFLAC clean OBJDIR=$(OBJDIR)/libffmpegFLAC
242 $(SILENT)$(MAKE) -C libtremor clean OBJDIR=$(OBJDIR)/libtremor
243 $(SILENT)$(MAKE) -C libspeex clean OBJDIR=$(OBJDIR)/libspeex
244 $(SILENT)$(MAKE) -C libwavpack clean OBJDIR=$(OBJDIR)/libwavpack
245 $(SILENT)$(MAKE) -C libmusepack clean OBJDIR=$(OBJDIR)/libmusepack
246 $(SILENT)$(MAKE) -C libalac clean OBJDIR=$(OBJDIR)/libalac
247 $(SILENT)$(MAKE) -C libfaad clean OBJDIR=$(OBJDIR)/libfaad
248 $(SILENT)$(MAKE) -C libm4a clean OBJDIR=$(OBJDIR)/libm4a
249 $(SILENT)$(MAKE) -C demac/libdemac clean OBJDIR=$(OBJDIR)/libdemac
250 $(SILENT)$(MAKE) -C libwma clean OBJDIR=$(OBJDIR)/libwma
251 $(SILENT)$(MAKE) -C libasap clean OBJDIR=$(OBJDIR)/libasap
252 $(SILENT)$(MAKE) -C lib clean OBJDIR=$(OBJDIR)/lib
253
254ifneq ($(MAKECMDGOALS),clean)
255-include $(DEPFILE)
256endif
diff --git a/apps/codecs/ape.c b/apps/codecs/ape.c
index f0d15ee67b..97f9ee6639 100644
--- a/apps/codecs/ape.c
+++ b/apps/codecs/ape.c
@@ -20,7 +20,6 @@
20 ****************************************************************************/ 20 ****************************************************************************/
21 21
22#include "codeclib.h" 22#include "codeclib.h"
23#define ROCKBOX
24#include <codecs/demac/libdemac/demac.h> 23#include <codecs/demac/libdemac/demac.h>
25 24
26CODEC_HEADER 25CODEC_HEADER
diff --git a/apps/codecs/codec.h b/apps/codecs/codec.h
deleted file mode 100644
index 2ee4e471b2..0000000000
--- a/apps/codecs/codec.h
+++ /dev/null
@@ -1,49 +0,0 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2005 Jens Arnold
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22/* Global declarations to be used in rockbox software codecs */
23
24#include "config.h"
25#include "system.h"
26
27#include <sys/types.h>
28
29extern struct codec_api *ci;
30
31/* Get these functions 'out of the way' of the standard functions. Not doing
32 * so confuses the cygwin linker, and maybe others. These functions need to
33 * be implemented elsewhere */
34#define malloc(x) codec_malloc(x)
35#define calloc(x,y) codec_calloc(x,y)
36#define realloc(x,y) codec_realloc(x,y)
37#define free(x) codec_free(x)
38#define alloca(x) __builtin_alloca(x)
39
40void* codec_malloc(size_t size);
41void* codec_calloc(size_t nmemb, size_t size);
42void* codec_realloc(void* ptr, size_t size);
43void codec_free(void* ptr);
44
45#define abs(x) ((x)>0?(x):-(x))
46#define labs(x) abs(x)
47
48void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *));
49
diff --git a/apps/codecs/codecs.make b/apps/codecs/codecs.make
new file mode 100644
index 0000000000..a65dc4f67e
--- /dev/null
+++ b/apps/codecs/codecs.make
@@ -0,0 +1,103 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10CODECDIR = $(BUILDDIR)/apps/codecs
11CODECS_SRC := $(call preprocess, $(APPSDIR)/codecs/SOURCES)
12OTHER_SRC += $(CODECS_SRC)
13
14CODECS := $(CODECS_SRC:.c=.codec)
15CODECS := $(subst $(ROOTDIR),$(BUILDDIR),$(CODECS))
16
17# the codec helper library
18include $(APPSDIR)/codecs/lib/libcodec.make
19
20# the codec libraries
21include $(APPSDIR)/codecs/demac/libdemac.make
22include $(APPSDIR)/codecs/liba52/liba52.make
23include $(APPSDIR)/codecs/libalac/libalac.make
24include $(APPSDIR)/codecs/libasap/libasap.make
25include $(APPSDIR)/codecs/libfaad/libfaad.make
26include $(APPSDIR)/codecs/libffmpegFLAC/libffmpegFLAC.make
27include $(APPSDIR)/codecs/libm4a/libm4a.make
28include $(APPSDIR)/codecs/libmad/libmad.make
29include $(APPSDIR)/codecs/libmusepack/libmusepack.make
30include $(APPSDIR)/codecs/libspc/libspc.make
31include $(APPSDIR)/codecs/libspeex/libspeex.make
32include $(APPSDIR)/codecs/libtremor/libtremor.make
33include $(APPSDIR)/codecs/libwavpack/libwavpack.make
34include $(APPSDIR)/codecs/libwma/libwma.make
35
36# compile flags for codecs
37CODECFLAGS = $(CFLAGS) -I$(APPSDIR)/codecs -I$(APPSDIR)/codecs/lib \
38 -DCODEC
39
40CODEC_LDS := $(APPSDIR)/plugins/plugin.lds # codecs and plugins use same file
41CODECLINK_LDS := $(CODECDIR)/codec.link
42CODEC_CRT0 := $(CODECDIR)/codec_crt0.o
43
44CODECLIBS := $(DEMACLIB) $(A52LIB) $(ALACLIB) $(ASAPLIB) \
45 $(FAADLIB) $(FFMPEGFLACLIB) $(M4ALIB) $(MADLIB) $(MUSEPACKLIB) \
46 $(SPCLIB) $(SPEEXLIB) $(TREMORLIB) $(WAVPACKLIB) $(WMALIB) \
47 $(CODECLIB)
48
49$(CODECS): $(CODEC_CRT0) $(CODECLINK_LDS)
50
51$(CODECLINK_LDS): $(CODEC_LDS)
52 $(call PRINTS,PP $(@F))
53 $(call preprocess2file, $<, $@)
54
55# codec/library dependencies
56$(CODECDIR)/spc.codec : $(CODECDIR)/libspc.a
57$(CODECDIR)/mpa.codec : $(CODECDIR)/libmad.a
58$(CODECDIR)/a52.codec : $(CODECDIR)/liba52.a
59$(CODECDIR)/flac.codec : $(CODECDIR)/libffmpegFLAC.a
60$(CODECDIR)/vorbis.codec : $(CODECDIR)/libtremor.a
61$(CODECDIR)/speex.codec : $(CODECDIR)/libspeex.a
62$(CODECDIR)/mpc.codec : $(CODECDIR)/libmusepack.a
63$(CODECDIR)/wavpack.codec : $(CODECDIR)/libwavpack.a
64$(CODECDIR)/alac.codec : $(CODECDIR)/libalac.a $(CODECDIR)/libm4a.a
65$(CODECDIR)/aac.codec : $(CODECDIR)/libfaad.a $(CODECDIR)/libm4a.a
66$(CODECDIR)/shorten.codec : $(CODECDIR)/libffmpegFLAC.a
67$(CODECDIR)/ape.codec : $(CODECDIR)/libdemac.a
68$(CODECDIR)/wma.codec : $(CODECDIR)/libwma.a
69$(CODECDIR)/wavpack_enc.codec: $(CODECDIR)/libwavpack.a
70$(CODECDIR)/asap.codec : $(CODECDIR)/libasap.a
71
72$(CODECS): $(CODECLIB) # this must be last in codec dependency list
73
74# libfaad and libmusepack both contain a huffman.h file, with different
75# content. So we compile them with special command lines:
76
77# pattern rule for compiling codecs
78$(CODECDIR)/%.o: $(ROOTDIR)/apps/codecs/%.c
79 $(SILENT)mkdir -p $(dir $@)
80 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) \
81 -I$(dir $<) $(CODECFLAGS) -c $< -o $@
82
83# pattern rule for compiling codecs
84$(CODECDIR)/%.o: $(ROOTDIR)/apps/codecs/%.S
85 $(SILENT)mkdir -p $(dir $@)
86 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) \
87 -I$(dir $<) $(CODECFLAGS) -c $< -o $@
88
89ifdef SIMVER
90 CODECLDFLAGS = $(SHARED_FLAG) # <-- from Makefile
91else
92 CODECLDFLAGS = -T$(CODECLINK_LDS) -Wl,--gc-sections -Wl,-Map,$(CODECDIR)/$*.map
93 CODECFLAGS += -UDEBUG -DNDEBUG
94endif
95
96$(CODECDIR)/%.codec: $(CODECDIR)/%.o
97 $(call PRINTS,LD $(@F))$(CC) $(CODECFLAGS) -o $(CODECDIR)/$*.elf \
98 $(filter %.o, $^) \
99 $(filter %.a, $^) \
100 -lgcc $(CODECLDFLAGS)
101 $(call PRINTS,OC $(@F))$(OC) -O binary $(CODECDIR)/$*.elf $@
102
103
diff --git a/apps/codecs/demac/libdemac.make b/apps/codecs/demac/libdemac.make
new file mode 100644
index 0000000000..ba764f897e
--- /dev/null
+++ b/apps/codecs/demac/libdemac.make
@@ -0,0 +1,24 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libdemac
11DEMACLIB := $(CODECDIR)/libdemac.a
12DEMACLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/demac/libdemac/SOURCES)
13DEMACLIB_OBJ := $(call c2obj, $(DEMACLIB_SRC))
14OTHER_SRC += $(DEMACLIB_SRC)
15
16$(DEMACLIB): $(DEMACLIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
18
19DEMACFLAGS = $(filter-out -O%,$(CODECFLAGS))
20DEMACFLAGS += -O3
21
22$(CODECDIR)/demac/%.o: $(ROOTDIR)/apps/codecs/demac/%.c
23 $(SILENT)mkdir -p $(dir $@)
24 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(DEMACFLAGS) -c $< -o $@
diff --git a/apps/codecs/demac/libdemac/demac_config.h b/apps/codecs/demac/libdemac/demac_config.h
index 86c2d24919..dd3aaa3f9c 100644
--- a/apps/codecs/demac/libdemac/demac_config.h
+++ b/apps/codecs/demac/libdemac/demac_config.h
@@ -33,7 +33,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
33#include "config.h" 33#include "config.h"
34 34
35#ifndef __ASSEMBLER__ 35#ifndef __ASSEMBLER__
36#include "../lib/codeclib.h" 36#include "codeclib.h"
37#include <codecs.h> 37#include <codecs.h>
38#endif 38#endif
39 39
diff --git a/apps/codecs/lib/Makefile b/apps/codecs/lib/Makefile
deleted file mode 100644
index 4a33a58f27..0000000000
--- a/apps/codecs/lib/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10# ../.. for the codec.h in the apps dir
11# .. for stuff in the codecs dir
12# . for stuff in the codeclib dir
13INCLUDES=-I$(APPSDIR) -I.. -I. $(TARGET_INC) -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
14 -I$(FIRMDIR)/common -I$(BUILDDIR)
15
16ifdef APPEXTRA
17 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
18endif
19
20CFLAGS = $(INCLUDES) $(GCCOPTS) \
21$(TARGET) $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} -DCODEC
22
23# Sectioned compilation for target
24ifndef SIMVER
25 CFLAGS += -ffunction-sections -fdata-sections
26endif
27
28# This sets up 'SRC' based on the files mentioned in SOURCES
29include $(TOOLSDIR)/makesrc.inc
30
31SOURCES = $(SRC)
32OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
33OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
34DEPFILE = $(OBJDIR)/dep-codeclib
35DIRS = .
36
37OUTPUT = $(BUILDDIR)/libcodec.a
38
39all: $(OUTPUT)
40
41$(OUTPUT): $(OBJS)
42 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
43 $(SILENT)$(RANLIB) $@
44
45include $(TOOLSDIR)/make.inc
46
47clean:
48 $(call PRINTS,cleaning codecs/lib)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
49
50-include $(DEPFILE)
diff --git a/apps/codecs/lib/codeclib.c b/apps/codecs/lib/codeclib.c
index 6e11eb1aa1..8cc40894e3 100644
--- a/apps/codecs/lib/codeclib.c
+++ b/apps/codecs/lib/codeclib.c
@@ -27,8 +27,8 @@
27#include "codeclib.h" 27#include "codeclib.h"
28#include "metadata.h" 28#include "metadata.h"
29 29
30long mem_ptr; 30size_t mem_ptr;
31long bufsize; 31size_t bufsize;
32unsigned char* mp3buf; // The actual MP3 buffer from Rockbox 32unsigned char* mp3buf; // The actual MP3 buffer from Rockbox
33unsigned char* mallocbuf; // 512K from the start of MP3 buffer 33unsigned char* mallocbuf; // 512K from the start of MP3 buffer
34unsigned char* filebuf; // The rest of the MP3 buffer 34unsigned char* filebuf; // The rest of the MP3 buffer
diff --git a/apps/codecs/lib/codeclib.h b/apps/codecs/lib/codeclib.h
index 6e92e29417..1df85d6bee 100644
--- a/apps/codecs/lib/codeclib.h
+++ b/apps/codecs/lib/codeclib.h
@@ -25,14 +25,23 @@
25#include <sys/types.h> 25#include <sys/types.h>
26 26
27extern struct codec_api *ci; 27extern struct codec_api *ci;
28extern long mem_ptr; 28extern size_t mem_ptr;
29extern long bufsize; 29extern size_t bufsize;
30extern unsigned char* mp3buf; /* The actual MP3 buffer from Rockbox */ 30extern unsigned char* mp3buf; /* The actual MP3 buffer from Rockbox */
31extern unsigned char* mallocbuf; /* The free space after the codec in the codec buffer */ 31extern unsigned char* mallocbuf; /* The free space after the codec in the codec buffer */
32extern unsigned char* filebuf; /* The rest of the MP3 buffer */ 32extern unsigned char* filebuf; /* The rest of the MP3 buffer */
33 33
34/* Standard library functions that are used by the codecs follow here */ 34/* Standard library functions that are used by the codecs follow here */
35 35
36/* Get these functions 'out of the way' of the standard functions. Not doing
37 * so confuses the cygwin linker, and maybe others. These functions need to
38 * be implemented elsewhere */
39#define malloc(x) codec_malloc(x)
40#define calloc(x,y) codec_calloc(x,y)
41#define realloc(x,y) codec_realloc(x,y)
42#define free(x) codec_free(x)
43#define alloca(x) __builtin_alloca(x)
44
36void* codec_malloc(size_t size); 45void* codec_malloc(size_t size);
37void* codec_calloc(size_t nmemb, size_t size); 46void* codec_calloc(size_t nmemb, size_t size);
38void* codec_realloc(void* ptr, size_t size); 47void* codec_realloc(void* ptr, size_t size);
diff --git a/apps/codecs/lib/libcodec.make b/apps/codecs/lib/libcodec.make
new file mode 100644
index 0000000000..5e96f75794
--- /dev/null
+++ b/apps/codecs/lib/libcodec.make
@@ -0,0 +1,23 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10CODECLIB := $(CODECDIR)/libcodec.a
11CODECLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/lib/SOURCES)
12CODECLIB_OBJ := $(call c2obj, $(CODECLIB_SRC))
13OTHER_SRC += $(CODECLIB_SRC)
14
15$(CODECLIB): $(CODECLIB_OBJ)
16 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
17
18CODECLIBFLAGS = $(CODECFLAGS) -ffunction-sections
19
20$(CODECDIR)/lib/%.o: $(ROOTDIR)/apps/codecs/lib/%.c
21 $(SILENT)mkdir -p $(dir $@)
22 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) \
23 -I$(dir $<) $(CODECLIBFLAGS) -c $< -o $@
diff --git a/apps/codecs/liba52/Makefile b/apps/codecs/liba52/Makefile
deleted file mode 100644
index 798ebc3434..0000000000
--- a/apps/codecs/liba52/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17A52OPTS = -O2
18CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(A52OPTS) $(TARGET) \
19$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS)
20
21# This sets up 'SRC' based on the files mentioned in SOURCES
22include $(TOOLSDIR)/makesrc.inc
23
24SOURCES = $(SRC)
25OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
26OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
27DEPFILE = $(OBJDIR)/dep-liba52
28DIRS =
29
30all: $(OUTPUT)
31
32$(OUTPUT): $(OBJS)
33 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
34 $(SILENT)$(RANLIB) $@
35
36include $(TOOLSDIR)/make.inc
37
38clean:
39 $(call PRINTS,cleaning liba52)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
40
41ifneq ($(MAKECMDGOALS),clean)
42-include $(DEPFILE)
43endif
diff --git a/apps/codecs/liba52/config-a52.h b/apps/codecs/liba52/config-a52.h
index 9e38034783..ade7ecf9b8 100644
--- a/apps/codecs/liba52/config-a52.h
+++ b/apps/codecs/liba52/config-a52.h
@@ -1,4 +1,4 @@
1#include "../codec.h" 1#include "codeclib.h"
2 2
3/* a52dec profiling */ 3/* a52dec profiling */
4/* #undef A52DEC_GPROF */ 4/* #undef A52DEC_GPROF */
diff --git a/apps/codecs/liba52/liba52.make b/apps/codecs/liba52/liba52.make
new file mode 100644
index 0000000000..4e0353d56d
--- /dev/null
+++ b/apps/codecs/liba52/liba52.make
@@ -0,0 +1,17 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# liba52
11A52LIB := $(CODECDIR)/liba52.a
12A52LIB_SRC := $(call preprocess, $(APPSDIR)/codecs/liba52/SOURCES)
13A52LIB_OBJ := $(call c2obj, $(A52LIB_SRC))
14OTHER_SRC += $(A52LIB_SRC)
15
16$(A52LIB): $(A52LIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
diff --git a/apps/codecs/libalac/Makefile b/apps/codecs/libalac/Makefile
deleted file mode 100644
index 1c526871f3..0000000000
--- a/apps/codecs/libalac/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17ALACOPTS = -O3
18CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(ALACOPTS) $(TARGET) \
19$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS)
20
21# This sets up 'SRC' based on the files mentioned in SOURCES
22include $(TOOLSDIR)/makesrc.inc
23
24SOURCES = $(SRC)
25OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
26OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
27DEPFILE = $(OBJDIR)/dep-libalac
28DIRS =
29
30all: $(OUTPUT)
31
32$(OUTPUT): $(OBJS)
33 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
34 $(SILENT)$(RANLIB) $@
35
36include $(TOOLSDIR)/make.inc
37
38clean:
39 $(call PRINTS,cleaning libalac)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
40
41ifneq ($(MAKECMDGOALS),clean)
42-include $(DEPFILE)
43endif
diff --git a/apps/codecs/libalac/alac.c b/apps/codecs/libalac/alac.c
index d5d9be17f7..d747caeea7 100644
--- a/apps/codecs/libalac/alac.c
+++ b/apps/codecs/libalac/alac.c
@@ -35,7 +35,7 @@
35#include <string.h> 35#include <string.h>
36#include <inttypes.h> 36#include <inttypes.h>
37 37
38#include "../codec.h" 38#include "codeclib.h"
39#include "decomp.h" 39#include "decomp.h"
40 40
41int16_t predictor_coef_table[32] IBSS_ATTR; 41int16_t predictor_coef_table[32] IBSS_ATTR;
diff --git a/apps/codecs/libalac/libalac.make b/apps/codecs/libalac/libalac.make
new file mode 100644
index 0000000000..b6b22d17e1
--- /dev/null
+++ b/apps/codecs/libalac/libalac.make
@@ -0,0 +1,24 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libalac
11ALACLIB := $(CODECDIR)/libalac.a
12ALACLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libalac/SOURCES)
13ALACLIB_OBJ := $(call c2obj, $(ALACLIB_SRC))
14OTHER_SRC += $(ALACLIB_SRC)
15
16$(ALACLIB): $(ALACLIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
18
19ALACFLAGS = $(filter-out -O%,$(CODECFLAGS))
20ALACFLAGS += -O3
21
22$(CODECDIR)/libalac/%.o: $(ROOTDIR)/apps/codecs/libalac/%.c
23 $(SILENT)mkdir -p $(dir $@)
24 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(ALACFLAGS) -c $< -o $@
diff --git a/apps/codecs/libasap/Makefile b/apps/codecs/libasap/Makefile
deleted file mode 100644
index d20f2393e4..0000000000
--- a/apps/codecs/libasap/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 13920 2007-07-16 21:16:52Z jethead71 $
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I../lib -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17SPCOPTS = -O -DROCKBOX
18
19CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(SPCOPTS) $(TARGET) \
20$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS) -DCODEC=1
21
22# This sets up 'SRC' based on the files mentioned in SOURCES
23include $(TOOLSDIR)/makesrc.inc
24
25SOURCES = $(SRC)
26OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
27OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
28DEPFILE = $(OBJDIR)/dep-spc
29DIRS =
30
31all: $(OUTPUT)
32
33$(OUTPUT): $(OBJS)
34 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
35 $(SILENT)$(RANLIB) $@
36
37include $(TOOLSDIR)/make.inc
38
39clean:
40 $(call PRINTS,cleaning spc)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
41
42ifneq ($(MAKECMDGOALS),clean)
43-include $(DEPFILE)
44endif
diff --git a/apps/codecs/libasap/libasap.make b/apps/codecs/libasap/libasap.make
new file mode 100644
index 0000000000..443dfbe7bc
--- /dev/null
+++ b/apps/codecs/libasap/libasap.make
@@ -0,0 +1,24 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libasap
11ASAPLIB := $(CODECDIR)/libasap.a
12ASAPLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libasap/SOURCES)
13ASAPLIB_OBJ := $(call c2obj, $(ASAPLIB_SRC))
14OTHER_SRC += $(ASAPLIB_SRC)
15
16$(ASAPLIB): $(ASAPLIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
18
19ASAPFLAGS = $(filter-out -O%,$(CODECFLAGS))
20ASAPFLAGS += -O1
21
22$(CODECDIR)/libasap/%.o: $(ROOTDIR)/apps/codecs/libasap/%.c
23 $(SILENT)mkdir -p $(dir $@)
24 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(ASAPFLAGS) -c $< -o $@
diff --git a/apps/codecs/libfaad/Makefile b/apps/codecs/libfaad/Makefile
deleted file mode 100644
index 8288b4ce79..0000000000
--- a/apps/codecs/libfaad/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17FAADOPTS = -O2 -Wno-char-subscripts
18CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(FAADOPTS) $(TARGET) \
19 $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS)
20
21# This sets up 'SRC' based on the files mentioned in SOURCES
22include $(TOOLSDIR)/makesrc.inc
23
24SOURCES = $(SRC)
25OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
26OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
27DEPFILE = $(OBJDIR)/dep-libfaad
28DIRS =
29
30all: $(OUTPUT)
31
32$(OUTPUT): $(OBJS)
33 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
34 $(SILENT)$(RANLIB) $@
35
36include $(TOOLSDIR)/make.inc
37
38clean:
39 $(call PRINTS,cleaning libfaad)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
40
41ifneq ($(MAKECMDGOALS),clean)
42-include $(DEPFILE)
43endif
diff --git a/apps/codecs/libfaad/common.h b/apps/codecs/libfaad/common.h
index 59d96252e5..a9c67a5459 100644
--- a/apps/codecs/libfaad/common.h
+++ b/apps/codecs/libfaad/common.h
@@ -33,8 +33,7 @@ extern "C" {
33#endif 33#endif
34 34
35#include "faad_config.h" 35#include "faad_config.h"
36#include "../codec.h" 36#include "codeclib.h"
37#include "../lib/codeclib.h"
38 37
39extern struct codec_api* ci; 38extern struct codec_api* ci;
40 39
diff --git a/apps/codecs/libfaad/libfaad.make b/apps/codecs/libfaad/libfaad.make
new file mode 100644
index 0000000000..0af2cfb1f5
--- /dev/null
+++ b/apps/codecs/libfaad/libfaad.make
@@ -0,0 +1,18 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libfaad
11FAADLIB := $(CODECDIR)/libfaad.a
12FAADLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libfaad/SOURCES)
13FAADLIB_OBJ := $(call c2obj, $(FAADLIB_SRC))
14OTHER_SRC += $(FAADLIB_SRC)
15OTHER_INC += -I$(APPSDIR)/codecs/libfaad
16
17$(FAADLIB): $(FAADLIB_OBJ)
18 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
diff --git a/apps/codecs/libffmpegFLAC/Makefile b/apps/codecs/libffmpegFLAC/Makefile
deleted file mode 100644
index 02e91d673c..0000000000
--- a/apps/codecs/libffmpegFLAC/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17FLACOPTS = -O2
18CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(FLACOPTS) $(TARGET) \
19$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS)
20
21# This sets up 'SRC' based on the files mentioned in SOURCES
22include $(TOOLSDIR)/makesrc.inc
23
24SOURCES = $(SRC)
25OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
26OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
27DEPFILE = $(OBJDIR)/dep-libffmpegFLAC
28DIRS =
29
30all: $(OUTPUT)
31
32$(OUTPUT): $(OBJS)
33 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
34 $(SILENT)$(RANLIB) $@
35
36include $(TOOLSDIR)/make.inc
37
38clean:
39 $(call PRINTS,cleaning libffmpegFLAC)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
40
41ifneq ($(MAKECMDGOALS),clean)
42-include $(DEPFILE)
43endif
diff --git a/apps/codecs/libffmpegFLAC/decoder.c b/apps/codecs/libffmpegFLAC/decoder.c
index aa3ce30b62..ed175548f2 100644
--- a/apps/codecs/libffmpegFLAC/decoder.c
+++ b/apps/codecs/libffmpegFLAC/decoder.c
@@ -34,7 +34,7 @@
34#include <inttypes.h> 34#include <inttypes.h>
35#include <stdbool.h> 35#include <stdbool.h>
36#ifndef BUILD_STANDALONE 36#ifndef BUILD_STANDALONE
37#include "../codec.h" 37#include "codeclib.h"
38#endif 38#endif
39 39
40#include "bitstream.h" 40#include "bitstream.h"
diff --git a/apps/codecs/libffmpegFLAC/libffmpegFLAC.make b/apps/codecs/libffmpegFLAC/libffmpegFLAC.make
new file mode 100644
index 0000000000..41addbe2b8
--- /dev/null
+++ b/apps/codecs/libffmpegFLAC/libffmpegFLAC.make
@@ -0,0 +1,17 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libffmpegFLAC
11FFMPEGFLACLIB := $(CODECDIR)/libffmpegFLAC.a
12FFMPEGFLACLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libffmpegFLAC/SOURCES)
13FFMPEGFLACLIB_OBJ := $(call c2obj, $(FFMPEGFLACLIB_SRC))
14OTHER_SRC += $(FFMPEGFLACLIB_SRC)
15
16$(FFMPEGFLACLIB): $(FFMPEGFLACLIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
diff --git a/apps/codecs/libffmpegFLAC/tables.c b/apps/codecs/libffmpegFLAC/tables.c
index 5dbb54e11e..58b1bb68d7 100644
--- a/apps/codecs/libffmpegFLAC/tables.c
+++ b/apps/codecs/libffmpegFLAC/tables.c
@@ -1,7 +1,7 @@
1#ifdef BUILD_STANDALONE 1#ifdef BUILD_STANDALONE
2#define ICONST_ATTR 2#define ICONST_ATTR
3#else 3#else
4#include "../codec.h" 4#include "codeclib.h"
5#endif 5#endif
6#include <inttypes.h> 6#include <inttypes.h>
7 7
diff --git a/apps/codecs/libm4a/Makefile b/apps/codecs/libm4a/Makefile
deleted file mode 100644
index 1bc71e50b7..0000000000
--- a/apps/codecs/libm4a/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17M4AOPTS = -O3
18CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(M4AOPTS) $(TARGET) \
19 $(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS)
20
21# This sets up 'SRC' based on the files mentioned in SOURCES
22include $(TOOLSDIR)/makesrc.inc
23
24SOURCES = $(SRC)
25OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
26OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
27DEPFILE = $(OBJDIR)/dep-libm4a
28DIRS =
29
30all: $(OUTPUT)
31
32$(OUTPUT): $(OBJS)
33 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
34 $(SILENT)$(RANLIB) $@
35
36include $(TOOLSDIR)/make.inc
37
38clean:
39 $(call PRINTS,cleaning libm4a)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
40
41ifneq ($(MAKECMDGOALS),clean)
42-include $(DEPFILE)
43endif
diff --git a/apps/codecs/libm4a/demux.c b/apps/codecs/libm4a/demux.c
index 912e7327e7..e9b5c2c482 100644
--- a/apps/codecs/libm4a/demux.c
+++ b/apps/codecs/libm4a/demux.c
@@ -33,11 +33,14 @@
33#include <inttypes.h> 33#include <inttypes.h>
34#include <stdlib.h> 34#include <stdlib.h>
35 35
36#include "../codec.h" 36#include "codeclib.h"
37 37
38#include "m4a.h" 38#include "m4a.h"
39 39
40#if defined(DEBUG) || defined(SIMULATOR) 40#if defined(DEBUG) || defined(SIMULATOR)
41#ifdef DEBUGF
42#undef DEBUGF
43#endif
41#define DEBUGF qtmovie->stream->ci->debugf 44#define DEBUGF qtmovie->stream->ci->debugf
42#else 45#else
43#define DEBUGF(...) 46#define DEBUGF(...)
diff --git a/apps/codecs/libm4a/libm4a.make b/apps/codecs/libm4a/libm4a.make
new file mode 100644
index 0000000000..6c092bad5e
--- /dev/null
+++ b/apps/codecs/libm4a/libm4a.make
@@ -0,0 +1,24 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libm4a
11M4ALIB := $(CODECDIR)/libm4a.a
12M4ALIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libm4a/SOURCES)
13M4ALIB_OBJ := $(call c2obj, $(M4ALIB_SRC))
14OTHER_SRC += $(M4ALIB_SRC)
15
16$(M4ALIB): $(M4ALIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
18
19M4AFLAGS = $(filter-out -O%,$(CODECFLAGS))
20M4AFLAGS += -O3
21
22$(CODECDIR)/libm4a/%.o: $(ROOTDIR)/apps/codecs/libm4a/%.c
23 $(SILENT)mkdir -p $(dir $@)
24 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(M4AFLAGS) -c $< -o $@
diff --git a/apps/codecs/libm4a/m4a.c b/apps/codecs/libm4a/m4a.c
index da3e912b8a..f0666403ed 100644
--- a/apps/codecs/libm4a/m4a.c
+++ b/apps/codecs/libm4a/m4a.c
@@ -23,13 +23,6 @@
23#include <inttypes.h> 23#include <inttypes.h>
24#include "m4a.h" 24#include "m4a.h"
25 25
26#if defined(DEBUG) || defined(SIMULATOR)
27extern struct codec_api* rb;
28#define DEBUGF rb->debugf
29#else
30#define DEBUGF(...)
31#endif
32
33/* Implementation of the stream.h functions used by libalac */ 26/* Implementation of the stream.h functions used by libalac */
34 27
35#define _Swap32(v) do { \ 28#define _Swap32(v) do { \
diff --git a/apps/codecs/libmad/Makefile b/apps/codecs/libmad/Makefile
deleted file mode 100644
index 4d838db74f..0000000000
--- a/apps/codecs/libmad/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17# NOTE: FPM_ define has been moved to global.h
18MADOPTS = -UDEBUG -DNDEBUG -O2
19
20# We build libmad separately for mpegplayer
21ifdef MPEGPLAYER
22EXTRA_DEFINES += -DMPEGPLAYER
23endif
24
25CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(MADOPTS) $(TARGET) \
26$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS)
27
28# This sets up 'SRC' based on the files mentioned in SOURCES
29include $(TOOLSDIR)/makesrc.inc
30
31SOURCES = $(SRC)
32OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
33OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
34DEPFILE = $(OBJDIR)/dep-libmad
35DIRS =
36
37all: $(OUTPUT)
38
39$(OUTPUT): $(OBJS)
40 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
41 $(SILENT)$(RANLIB) $@
42
43include $(TOOLSDIR)/make.inc
44
45clean:
46 $(call PRINTS,cleaning libmad)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
47
48ifneq ($(MAKECMDGOALS),clean)
49-include $(DEPFILE)
50endif
diff --git a/apps/codecs/libmad/frame.c b/apps/codecs/libmad/frame.c
index 2c7fdca199..3fb971d3e1 100644
--- a/apps/codecs/libmad/frame.c
+++ b/apps/codecs/libmad/frame.c
@@ -31,7 +31,7 @@
31# include "timer.h" 31# include "timer.h"
32# include "layer12.h" 32# include "layer12.h"
33# include "layer3.h" 33# include "layer3.h"
34# include "../lib/codeclib.h" 34# include "codeclib.h"
35 35
36static 36static
37unsigned long const bitrate_table[5][15] = { 37unsigned long const bitrate_table[5][15] = {
diff --git a/apps/codecs/libmad/global.h b/apps/codecs/libmad/global.h
index 1dad4d5583..93dfd0a13f 100644
--- a/apps/codecs/libmad/global.h
+++ b/apps/codecs/libmad/global.h
@@ -19,7 +19,7 @@
19 * $Id$ 19 * $Id$
20 */ 20 */
21 21
22#include "../codec.h" 22#include "codeclib.h"
23 23
24# ifndef LIBMAD_GLOBAL_H 24# ifndef LIBMAD_GLOBAL_H
25# define LIBMAD_GLOBAL_H 25# define LIBMAD_GLOBAL_H
diff --git a/apps/codecs/libmad/libmad.make b/apps/codecs/libmad/libmad.make
new file mode 100644
index 0000000000..f0334956c1
--- /dev/null
+++ b/apps/codecs/libmad/libmad.make
@@ -0,0 +1,54 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# we need to build two different mad libraries
11# (one for codec, one for mpegplayer)
12# so a little trickery is necessary
13
14MADFLAGS = $(CODECFLAGS) -UDEBUG -DNDEBUG -I$(APPSDIR)/codecs/libmad
15MPEGMADFLAGS = $(MADFLAGS) -DMPEGPLAYER
16
17# libmad
18MADLIB := $(CODECDIR)/libmad.a
19MADLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libmad/SOURCES)
20MADLIB_OBJ := $(call c2obj, $(MADLIB_SRC))
21OTHER_SRC += $(MADLIB_SRC)
22
23$(MADLIB): $(MADLIB_OBJ)
24 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
25
26# libmad-mpeg
27MPEGMADLIB := $(CODECDIR)/libmad-mpeg.a
28MPEGMADLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libmad/SOURCES)
29MPEGMADLIB_OBJ := $(subst .c,.o,$(subst .S,.o,$(subst $(ROOTDIR)/apps/codecs/libmad,$(BUILDDIR)/apps/codecs/libmad-mpeg,$(MPEGMADLIB_SRC))))
30
31$(MPEGMADLIB): $(MPEGMADLIB_OBJ)
32 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
33
34# pattern rules
35
36$(CODECDIR)/libmad-mpeg/%.o : $(ROOTDIR)/apps/codecs/libmad/%.c
37 $(SILENT)mkdir -p $(dir $@)
38 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
39 $(CC) $(MPEGMADFLAGS) -c $< -o $@
40
41$(CODECDIR)/libmad-mpeg/%.o : $(ROOTDIR)/apps/codecs/libmad/%.S
42 $(SILENT)mkdir -p $(dir $@)
43 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
44 $(CC) $(MPEGMADFLAGS) -c $< -o $@
45
46$(CODECDIR)/libmad/%.o: $(ROOTDIR)/apps/codecs/libmad/%.c
47 $(SILENT)mkdir -p $(dir $@)
48 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
49 $(CC) $(MADFLAGS) -c $< -o $@
50
51$(CODECDIR)/libmad/%.o: $(ROOTDIR)/apps/codecs/libmad/%.S
52 $(SILENT)mkdir -p $(dir $@)
53 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<)) \
54 $(CC) $(MADFLAGS) -c $< -o $@
diff --git a/apps/codecs/libmusepack/Makefile b/apps/codecs/libmusepack/Makefile
deleted file mode 100644
index a70d33644a..0000000000
--- a/apps/codecs/libmusepack/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17# libmusepack is faster on ARM-targets with -O1 instead of -O2
18ifeq ($(CPU),arm)
19 MUSEPACKOPTS += -O1
20else
21 MUSEPACKOPTS += -O2
22endif
23
24CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(MUSEPACKOPTS) $(TARGET) \
25$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS)
26
27# This sets up 'SRC' based on the files mentioned in SOURCES
28include $(TOOLSDIR)/makesrc.inc
29
30SOURCES = $(SRC)
31OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
32OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
33DEPFILE = $(OBJDIR)/dep-libmusepack
34DIRS =
35
36all: $(OUTPUT)
37
38$(OUTPUT): $(OBJS)
39 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
40 $(SILENT)$(RANLIB) $@
41
42include $(TOOLSDIR)/make.inc
43
44clean:
45 $(call PRINTS,cleaning libmusepack)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
46
47ifneq ($(MAKECMDGOALS),clean)
48-include $(DEPFILE)
49endif
diff --git a/apps/codecs/libmusepack/huffsv46.c b/apps/codecs/libmusepack/huffsv46.c
index 833b64b454..20d754c7bb 100644
--- a/apps/codecs/libmusepack/huffsv46.c
+++ b/apps/codecs/libmusepack/huffsv46.c
@@ -35,9 +35,9 @@
35/// \file huffsv46.c 35/// \file huffsv46.c
36/// Implementations of huffman decoding for streamversions < 7. 36/// Implementations of huffman decoding for streamversions < 7.
37 37
38#include <musepack.h> 38#include "musepack.h"
39#include <requant.h> 39#include "requant.h"
40#include <huffman.h> 40#include "huffman.h"
41 41
42#ifdef MPC_SUPPORT_SV456 42#ifdef MPC_SUPPORT_SV456
43 43
diff --git a/apps/codecs/libmusepack/huffsv7.c b/apps/codecs/libmusepack/huffsv7.c
index ae2b902ea7..9ca77ceaa5 100644
--- a/apps/codecs/libmusepack/huffsv7.c
+++ b/apps/codecs/libmusepack/huffsv7.c
@@ -35,9 +35,9 @@
35/// \file huffsv7.c 35/// \file huffsv7.c
36/// Implementations of sv7 huffman decoding functions. 36/// Implementations of sv7 huffman decoding functions.
37 37
38#include <musepack.h> 38#include "musepack.h"
39#include <huffman.h> 39#include "huffman.h"
40#include <requant.h> 40#include "requant.h"
41 41
42const HuffmanTyp mpc_table_HuffHdr [10] ICONST_ATTR = 42const HuffmanTyp mpc_table_HuffHdr [10] ICONST_ATTR =
43{{2147483648u,1,0},{1610612736u,3,1},{1577058304u,7,-4},{1568669696u,9,3},{1560281088u,9,4},{1543503872u,8,-5},{1476395008u,6,2},{1342177280u,5,-3},{1073741824u,4,-2},{0u,2,-1},}; 43{{2147483648u,1,0},{1610612736u,3,1},{1577058304u,7,-4},{1568669696u,9,3},{1560281088u,9,4},{1543503872u,8,-5},{1476395008u,6,2},{1342177280u,5,-3},{1073741824u,4,-2},{0u,2,-1},};
diff --git a/apps/codecs/libmusepack/libmusepack.make b/apps/codecs/libmusepack/libmusepack.make
new file mode 100644
index 0000000000..736f58bc72
--- /dev/null
+++ b/apps/codecs/libmusepack/libmusepack.make
@@ -0,0 +1,29 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libmusepack
11MUSEPACKLIB := $(CODECDIR)/libmusepack.a
12MUSEPACKLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libmusepack/SOURCES)
13MUSEPACKLIB_OBJ := $(call c2obj, $(MUSEPACKLIB_SRC))
14OTHER_SRC += $(MUSEPACKLIB_SRC)
15
16$(MUSEPACKLIB): $(MUSEPACKLIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
18
19# libmusepack is faster on ARM-targets with -O1 than -O2
20MUSEPACKFLAGS = $(filter-out -O%,$(CODECFLAGS)) -I$(APPSDIR)/codecs/libmusepack
21ifeq ($(CPU),arm)
22 MUSEPACKFLAGS += -O1
23else
24 MUSEPACKFLAGS += -O2
25endif
26
27$(CODECDIR)/libmusepack/%.o: $(ROOTDIR)/apps/codecs/libmusepack/%.c
28 $(SILENT)mkdir -p $(dir $@)
29 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(MUSEPACKFLAGS) -c $< -o $@
diff --git a/apps/codecs/libmusepack/musepack.h b/apps/codecs/libmusepack/musepack.h
index b9aff48427..1c98de654b 100644
--- a/apps/codecs/libmusepack/musepack.h
+++ b/apps/codecs/libmusepack/musepack.h
@@ -45,7 +45,9 @@ extern "C" {
45//#include <stdlib.h> 45//#include <stdlib.h>
46#include <string.h> 46#include <string.h>
47 47
48#include "../codec.h" 48#ifndef SIMULATOR
49#include "codecs.h"
50#endif
49#include "config_types.h" 51#include "config_types.h"
50#include "decoder.h" 52#include "decoder.h"
51#include "math.h" 53#include "math.h"
diff --git a/apps/codecs/libspc/Makefile b/apps/codecs/libspc/Makefile
deleted file mode 100644
index 8929149ce2..0000000000
--- a/apps/codecs/libspc/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17SPCOPTS = -O -DROCKBOX
18
19CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(SPCOPTS) $(TARGET) \
20$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS) -DCODEC=1
21
22# This sets up 'SRC' based on the files mentioned in SOURCES
23include $(TOOLSDIR)/makesrc.inc
24
25SOURCES = $(SRC)
26OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
27OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
28DEPFILE = $(OBJDIR)/dep-spc
29DIRS =
30
31all: $(OUTPUT)
32
33$(OUTPUT): $(OBJS)
34 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
35 $(SILENT)$(RANLIB) $@
36
37include $(TOOLSDIR)/make.inc
38
39clean:
40 $(call PRINTS,cleaning spc)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
41
42ifneq ($(MAKECMDGOALS),clean)
43-include $(DEPFILE)
44endif
diff --git a/apps/codecs/libspc/libspc.make b/apps/codecs/libspc/libspc.make
new file mode 100644
index 0000000000..62f788be02
--- /dev/null
+++ b/apps/codecs/libspc/libspc.make
@@ -0,0 +1,24 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libspc
11SPCLIB := $(CODECDIR)/libspc.a
12SPCLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libspc/SOURCES)
13SPCLIB_OBJ := $(call c2obj, $(SPCLIB_SRC))
14OTHER_SRC += $(SPCLIB_SRC)
15
16$(SPCLIB): $(SPCLIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
18
19SPCFLAGS = $(filter-out -O%,$(CODECFLAGS))
20SPCFLAGS += -O1
21
22$(CODECDIR)/libspc/%.o: $(ROOTDIR)/apps/codecs/libspc/%.c
23 $(SILENT)mkdir -p $(dir $@)
24 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(SPCFLAGS) -c $< -o $@
diff --git a/apps/codecs/libspc/spc_codec.h b/apps/codecs/libspc/spc_codec.h
index 33e566aea2..a6dcd0a8bc 100644
--- a/apps/codecs/libspc/spc_codec.h
+++ b/apps/codecs/libspc/spc_codec.h
@@ -30,7 +30,9 @@
30#define _SPC_CODEC_H_ 30#define _SPC_CODEC_H_
31 31
32/* rather than comment out asserts, just define NDEBUG */ 32/* rather than comment out asserts, just define NDEBUG */
33#ifndef NDEBUG
33#define NDEBUG 34#define NDEBUG
35#endif
34#include <assert.h> 36#include <assert.h>
35 37
36/** Basic configuration options **/ 38/** Basic configuration options **/
diff --git a/apps/codecs/libspc/spc_cpu.c b/apps/codecs/libspc/spc_cpu.c
index 6aa9499d1e..d308e6e27c 100644
--- a/apps/codecs/libspc/spc_cpu.c
+++ b/apps/codecs/libspc/spc_cpu.c
@@ -22,8 +22,7 @@
22 ****************************************************************************/ 22 ****************************************************************************/
23 23
24/* The CPU portion (shock!) */ 24/* The CPU portion (shock!) */
25#include "codec.h" 25#include "codeclib.h"
26#include "codecs.h"
27#include "spc_codec.h" 26#include "spc_codec.h"
28#include "spc_profiler.h" 27#include "spc_profiler.h"
29 28
diff --git a/apps/codecs/libspc/spc_dsp.c b/apps/codecs/libspc/spc_dsp.c
index 153950ca75..d1facf89a2 100644
--- a/apps/codecs/libspc/spc_dsp.c
+++ b/apps/codecs/libspc/spc_dsp.c
@@ -23,8 +23,7 @@
23 ****************************************************************************/ 23 ****************************************************************************/
24 24
25/* The DSP portion (awe!) */ 25/* The DSP portion (awe!) */
26#include "codec.h" 26#include "codeclib.h"
27#include "codecs.h"
28#include "spc_codec.h" 27#include "spc_codec.h"
29#include "spc_profiler.h" 28#include "spc_profiler.h"
30 29
diff --git a/apps/codecs/libspc/spc_emu.c b/apps/codecs/libspc/spc_emu.c
index e646e08ae6..1bebc86d9a 100644
--- a/apps/codecs/libspc/spc_emu.c
+++ b/apps/codecs/libspc/spc_emu.c
@@ -20,8 +20,7 @@
20 * KIND, either express or implied. 20 * KIND, either express or implied.
21 * 21 *
22 ****************************************************************************/ 22 ****************************************************************************/
23#include "codec.h" 23#include "codeclib.h"
24#include "codecs.h"
25#include "spc_codec.h" 24#include "spc_codec.h"
26#include "spc_profiler.h" 25#include "spc_profiler.h"
27 26
diff --git a/apps/codecs/libspc/spc_profiler.c b/apps/codecs/libspc/spc_profiler.c
index 5dc516258f..3184ad7b52 100644
--- a/apps/codecs/libspc/spc_profiler.c
+++ b/apps/codecs/libspc/spc_profiler.c
@@ -25,7 +25,7 @@
25 25
26#if defined(SPC_PROFILE) && defined(USEC_TIMER) 26#if defined(SPC_PROFILE) && defined(USEC_TIMER)
27 27
28#include "codec.h" 28#include "codeclib.h"
29#include "spc_codec.h" 29#include "spc_codec.h"
30#define SPC_DEFINE_PROFILER_TIMERS 30#define SPC_DEFINE_PROFILER_TIMERS
31#include "spc_profiler.h" 31#include "spc_profiler.h"
diff --git a/apps/codecs/libspeex/Makefile b/apps/codecs/libspeex/Makefile
deleted file mode 100644
index 3bda53dca7..0000000000
--- a/apps/codecs/libspeex/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile,v 1.16 2006-09-02 22:34:13 bagder Exp $
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17SPEEXOPTS = -DHAVE_CONFIG_H -DSPEEX_DISABLE_ENCODER -DROCKBOX
18
19# We're faster on ARM-targets with -O1 instead of -O2
20ifeq ($(CPU),arm)
21 SPEEXOPTS += -O
22else
23 SPEEXOPTS += -O2
24endif
25
26# We build Speex separately for use as a voice codec
27ifdef ROCKBOX_VOICE_CODEC
28EXTRA_DEFINES += -DROCKBOX_VOICE_CODEC
29endif
30
31CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(SPEEXOPTS) $(TARGET) \
32$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} ${PROFILE_OPTS} -Wno-unused-parameter
33
34# This sets up 'SRC' based on the files mentioned in SOURCES
35include $(TOOLSDIR)/makesrc.inc
36
37SOURCES = $(SRC)
38OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
39OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
40DEPFILE = $(OBJDIR)/dep-Speex
41DIRS =
42
43all: $(OUTPUT)
44
45$(OUTPUT): $(OBJS)
46 @echo "AR+RANLIB $(notdir $@)"
47 @$(AR) ruv $@ $+ >/dev/null 2>&1
48
49include $(TOOLSDIR)/make.inc
50
51clean:
52 @echo "cleaning Speex"
53 @rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
54
55ifneq ($(MAKECMDGOALS),clean)
56-include $(DEPFILE)
57endif
diff --git a/apps/codecs/libspeex/bits.c b/apps/codecs/libspeex/bits.c
index 78b38db44e..9d6cad8886 100644
--- a/apps/codecs/libspeex/bits.c
+++ b/apps/codecs/libspeex/bits.c
@@ -36,7 +36,7 @@
36#include "config-speex.h" 36#include "config-speex.h"
37#endif 37#endif
38 38
39#include <speex/speex_bits.h> 39#include "speex/speex_bits.h"
40#include "arch.h" 40#include "arch.h"
41#include "os_support.h" 41#include "os_support.h"
42 42
diff --git a/apps/codecs/libspeex/cb_search.c b/apps/codecs/libspeex/cb_search.c
index d280757e59..8a190e535d 100644
--- a/apps/codecs/libspeex/cb_search.c
+++ b/apps/codecs/libspeex/cb_search.c
@@ -522,6 +522,9 @@ char *stack,
522spx_int32_t *seed 522spx_int32_t *seed
523) 523)
524{ 524{
525 (void)nsf;
526 (void)stack;
527 (void)seed;
525 int i,j; 528 int i,j;
526 VARDECL(int *ind); 529 VARDECL(int *ind);
527 VARDECL(int *signs); 530 VARDECL(int *signs);
@@ -609,6 +612,9 @@ char *stack,
609spx_int32_t *seed 612spx_int32_t *seed
610) 613)
611{ 614{
615 (void)par;
616 (void)bits;
617 (void)stack;
612 int i; 618 int i;
613 /* FIXME: This is bad, but I don't think the function ever gets called anyway */ 619 /* FIXME: This is bad, but I don't think the function ever gets called anyway */
614 for (i=0;i<nsf;i++) 620 for (i=0;i<nsf;i++)
diff --git a/apps/codecs/libspeex/cb_search.h b/apps/codecs/libspeex/cb_search.h
index 7687b453fd..50b530a725 100644
--- a/apps/codecs/libspeex/cb_search.h
+++ b/apps/codecs/libspeex/cb_search.h
@@ -35,7 +35,7 @@
35#ifndef CB_SEARCH_H 35#ifndef CB_SEARCH_H
36#define CB_SEARCH_H 36#define CB_SEARCH_H
37 37
38#include <speex/speex_bits.h> 38#include "speex/speex_bits.h"
39#include "arch.h" 39#include "arch.h"
40 40
41/** Split codebook parameters. */ 41/** Split codebook parameters. */
diff --git a/apps/codecs/libspeex/config-speex.h b/apps/codecs/libspeex/config-speex.h
index 5241b4ecd8..f3b397f541 100644
--- a/apps/codecs/libspeex/config-speex.h
+++ b/apps/codecs/libspeex/config-speex.h
@@ -1,5 +1,5 @@
1#ifndef ROCKBOX_VOICE_ENCODER 1#ifndef ROCKBOX_VOICE_ENCODER
2#include "../codec.h" 2#include "codeclib.h"
3#include "autoconf.h" 3#include "autoconf.h"
4#else 4#else
5#define ICODE_ATTR 5#define ICODE_ATTR
diff --git a/apps/codecs/libspeex/filters.c b/apps/codecs/libspeex/filters.c
index 44addc2406..09f93c2a59 100644
--- a/apps/codecs/libspeex/filters.c
+++ b/apps/codecs/libspeex/filters.c
@@ -353,6 +353,7 @@ void filter_mem16(const spx_word16_t *x, const spx_coef_t *num, const spx_coef_t
353#ifndef OVERRIDE_IIR_MEM16 353#ifndef OVERRIDE_IIR_MEM16
354void iir_mem16(const spx_word16_t *x, const spx_coef_t *den, spx_word16_t *y, int N, int ord, spx_mem_t *mem, char *stack) 354void iir_mem16(const spx_word16_t *x, const spx_coef_t *den, spx_word16_t *y, int N, int ord, spx_mem_t *mem, char *stack)
355{ 355{
356 (void)stack;
356 int i,j; 357 int i,j;
357 spx_word16_t yi,nyi; 358 spx_word16_t yi,nyi;
358 359
@@ -497,6 +498,7 @@ void qmf_synth(const spx_word16_t *x1, const spx_word16_t *x2, const spx_word16_
497 all odd x[i] are zero -- well, actually they are left out of the array now 498 all odd x[i] are zero -- well, actually they are left out of the array now
498 N and M are multiples of 4 */ 499 N and M are multiples of 4 */
499{ 500{
501 (void)stack;
500 int i, j; 502 int i, j;
501 int M2, N2; 503 int M2, N2;
502 VARDECL(spx_word16_t *xx1); 504 VARDECL(spx_word16_t *xx1);
@@ -681,6 +683,9 @@ spx_word16_t comb_gain, /*gain of comb filter*/
681char *stack 683char *stack
682) 684)
683{ 685{
686 (void)ak;
687 (void)p;
688 (void)stack;
684 int i; 689 int i;
685 VARDECL(spx_word16_t *iexc); 690 VARDECL(spx_word16_t *iexc);
686 spx_word16_t old_ener, new_ener; 691 spx_word16_t old_ener, new_ener;
diff --git a/apps/codecs/libspeex/jitter.c b/apps/codecs/libspeex/jitter.c
index 61bca75ce8..d9f6c67b86 100644
--- a/apps/codecs/libspeex/jitter.c
+++ b/apps/codecs/libspeex/jitter.c
@@ -55,9 +55,9 @@ TODO:
55 55
56 56
57#include "arch.h" 57#include "arch.h"
58#include <speex/speex.h> 58#include "speex/speex.h"
59#include <speex/speex_bits.h> 59#include "speex/speex_bits.h"
60#include <speex/speex_jitter.h> 60#include "speex/speex_jitter.h"
61#include "os_support.h" 61#include "os_support.h"
62 62
63#ifndef NULL 63#ifndef NULL
diff --git a/apps/codecs/libspeex/libspeex.make b/apps/codecs/libspeex/libspeex.make
new file mode 100644
index 0000000000..a27d559a06
--- /dev/null
+++ b/apps/codecs/libspeex/libspeex.make
@@ -0,0 +1,60 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# we need to build two different speex libraries
11# (one for codec, one for core voice)
12# so a little trickery is necessary
13
14SPEEXFLAGS = $(filter-out -O%,$(CODECFLAGS)) \
15 -DHAVE_CONFIG_H -DSPEEX_DISABLE_ENCODER \
16 -I$(APPSDIR)/codecs/libspeex
17
18# libspeex is faster on ARM-targets with -O1 instead of -O2
19ifeq ($(CPU),arm)
20 SPEEXFLAGS += -O1
21else
22 SPEEXFLAGS += -O2
23endif
24
25VOICESPEEXFLAGS = $(filter-out -ffunction-sections, $(filter-out -DCODEC,$(SPEEXFLAGS))) -DROCKBOX_VOICE_CODEC
26
27# libspeex
28SPEEXLIB := $(CODECDIR)/libspeex.a
29SPEEXLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libspeex/SOURCES)
30SPEEXLIB_OBJ := $(call c2obj, $(SPEEXLIB_SRC))
31OTHER_SRC += $(SPEEXLIB_SRC)
32
33$(SPEEXLIB): $(SPEEXLIB_OBJ)
34 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
35
36# libspeex-voice
37VOICESPEEXLIB := $(CODECDIR)/libspeex-voice.a
38VOICESPEEXLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libspeex/SOURCES)
39VOICESPEEXLIB_OBJ := $(subst .c,.o,$(subst .S,.o,$(subst $(ROOTDIR)/apps/codecs/libspeex,$(BUILDDIR)/apps/codecs/libspeex-voice,$(VOICESPEEXLIB_SRC))))
40
41$(VOICESPEEXLIB): $(VOICESPEEXLIB_OBJ)
42 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
43
44# pattern rules
45
46$(CODECDIR)/libspeex-voice/%.o : $(ROOTDIR)/apps/codecs/libspeex/%.c
47 $(SILENT)mkdir -p $(dir $@)
48 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(VOICESPEEXFLAGS) -c $< -o $@
49
50$(CODECDIR)/libspeex-voice/%.o : $(ROOTDIR)/apps/codecs/libspeex/%.S
51 $(SILENT)mkdir -p $(dir $@)
52 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(VOICESPEEXFLAGS) -c $< -o $@
53
54$(CODECDIR)/libspeex/%.o: $(ROOTDIR)/apps/codecs/libspeex/%.c
55 $(SILENT)mkdir -p $(dir $@)
56 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(SPEEXFLAGS) -c $< -o $@
57
58$(CODECDIR)/libspeex/%.o: $(ROOTDIR)/apps/codecs/libspeex/%.S
59 $(SILENT)mkdir -p $(dir $@)
60 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(SPEEXFLAGS) -c $< -o $@
diff --git a/apps/codecs/libspeex/lsp.c b/apps/codecs/libspeex/lsp.c
index 3973554cfb..edf480e8bc 100644
--- a/apps/codecs/libspeex/lsp.c
+++ b/apps/codecs/libspeex/lsp.c
@@ -409,6 +409,7 @@ void lsp_to_lpc(spx_lsp_t *freq,spx_coef_t *ak,int lpcrdr, char *stack)
409/* float *ak array of LPC coefficients */ 409/* float *ak array of LPC coefficients */
410/* int lpcrdr order of LPC coefficients */ 410/* int lpcrdr order of LPC coefficients */
411{ 411{
412 (void)stack;
412 int i,j; 413 int i,j;
413 spx_word32_t xout1,xout2,xin; 414 spx_word32_t xout1,xout2,xin;
414 spx_word32_t mult, a; 415 spx_word32_t mult, a;
diff --git a/apps/codecs/libspeex/ltp.c b/apps/codecs/libspeex/ltp.c
index 04c1115b3f..9f10bc09d8 100644
--- a/apps/codecs/libspeex/ltp.c
+++ b/apps/codecs/libspeex/ltp.c
@@ -38,7 +38,7 @@
38#include "ltp.h" 38#include "ltp.h"
39#include "stack_alloc.h" 39#include "stack_alloc.h"
40#include "filters.h" 40#include "filters.h"
41#include <speex/speex_bits.h> 41#include "speex/speex_bits.h"
42#include "math_approx.h" 42#include "math_approx.h"
43#include "os_support.h" 43#include "os_support.h"
44 44
@@ -674,6 +674,9 @@ spx_word16_t last_pitch_gain,
674int cdbk_offset 674int cdbk_offset
675) 675)
676{ 676{
677 (void)end;
678 (void)pitch_coef;
679 (void)stack;
677 int i; 680 int i;
678 int pitch; 681 int pitch;
679 int gain_index; 682 int gain_index;
@@ -826,6 +829,14 @@ spx_word16_t last_pitch_gain,
826int cdbk_offset 829int cdbk_offset
827) 830)
828{ 831{
832 (void)end;
833 (void)par;
834 (void)bits;
835 (void)stack;
836 (void)count_lost;
837 (void)subframe_offset;
838 (void)last_pitch_gain;
839 (void)cdbk_offset;
829 int i; 840 int i;
830#ifdef FIXED_POINT 841#ifdef FIXED_POINT
831 if (pitch_coef>63) 842 if (pitch_coef>63)
diff --git a/apps/codecs/libspeex/ltp.h b/apps/codecs/libspeex/ltp.h
index 1e435bc36e..872f072e4e 100644
--- a/apps/codecs/libspeex/ltp.h
+++ b/apps/codecs/libspeex/ltp.h
@@ -32,7 +32,7 @@
32 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33*/ 33*/
34 34
35#include <speex/speex_bits.h> 35#include "speex/speex_bits.h"
36#include "arch.h" 36#include "arch.h"
37 37
38/** LTP parameters. */ 38/** LTP parameters. */
diff --git a/apps/codecs/libspeex/ltp_arm4.h b/apps/codecs/libspeex/ltp_arm4.h
index cdb94e603a..e1c60ad7d5 100644
--- a/apps/codecs/libspeex/ltp_arm4.h
+++ b/apps/codecs/libspeex/ltp_arm4.h
@@ -87,6 +87,7 @@ spx_word32_t inner_prod(const spx_word16_t *x, const spx_word16_t *y, int len)
87#define OVERRIDE_PITCH_XCORR 87#define OVERRIDE_PITCH_XCORR
88void pitch_xcorr(const spx_word16_t *_x, const spx_word16_t *_y, spx_word32_t *corr, int len, int nb_pitch, char *stack) 88void pitch_xcorr(const spx_word16_t *_x, const spx_word16_t *_y, spx_word32_t *corr, int len, int nb_pitch, char *stack)
89{ 89{
90 (void)stack;
90 int i,j; 91 int i,j;
91 for (i=0;i<nb_pitch;i+=4) 92 for (i=0;i<nb_pitch;i+=4)
92 { 93 {
diff --git a/apps/codecs/libspeex/modes.h b/apps/codecs/libspeex/modes.h
index 26e2d86180..0fa1c3460e 100644
--- a/apps/codecs/libspeex/modes.h
+++ b/apps/codecs/libspeex/modes.h
@@ -36,8 +36,8 @@
36#ifndef MODES_H 36#ifndef MODES_H
37#define MODES_H 37#define MODES_H
38 38
39#include <speex/speex.h> 39#include "speex/speex.h"
40#include <speex/speex_bits.h> 40#include "speex/speex_bits.h"
41#include "arch.h" 41#include "arch.h"
42 42
43#define NB_SUBMODES 16 43#define NB_SUBMODES 16
diff --git a/apps/codecs/libspeex/nb_celp.c b/apps/codecs/libspeex/nb_celp.c
index d29b9ae540..31eaa06b6b 100644
--- a/apps/codecs/libspeex/nb_celp.c
+++ b/apps/codecs/libspeex/nb_celp.c
@@ -43,12 +43,12 @@
43#include "filters.h" 43#include "filters.h"
44#include "stack_alloc.h" 44#include "stack_alloc.h"
45#include "vq.h" 45#include "vq.h"
46#include <speex/speex_bits.h> 46#include "speex/speex_bits.h"
47#include "vbr.h" 47#include "vbr.h"
48#include "arch.h" 48#include "arch.h"
49#include "math_approx.h" 49#include "math_approx.h"
50#include "os_support.h" 50#include "os_support.h"
51#include <speex/speex_callbacks.h> 51#include "speex/speex_callbacks.h"
52 52
53#ifdef VORBIS_PSYCHO 53#ifdef VORBIS_PSYCHO
54#include "vorbis_psy.h" 54#include "vorbis_psy.h"
diff --git a/apps/codecs/libspeex/nb_celp.h b/apps/codecs/libspeex/nb_celp.h
index 30abdee842..30edbefaeb 100644
--- a/apps/codecs/libspeex/nb_celp.h
+++ b/apps/codecs/libspeex/nb_celp.h
@@ -37,8 +37,8 @@
37#define NB_CELP_H 37#define NB_CELP_H
38 38
39#include "modes.h" 39#include "modes.h"
40#include <speex/speex_bits.h> 40#include "speex/speex_bits.h"
41#include <speex/speex_callbacks.h> 41#include "speex/speex_callbacks.h"
42#include "vbr.h" 42#include "vbr.h"
43#include "filters.h" 43#include "filters.h"
44 44
diff --git a/apps/codecs/libspeex/quant_lsp.h b/apps/codecs/libspeex/quant_lsp.h
index 3bf4d4021c..0fc206be6f 100644
--- a/apps/codecs/libspeex/quant_lsp.h
+++ b/apps/codecs/libspeex/quant_lsp.h
@@ -35,7 +35,7 @@
35#ifndef QUANT_LSP_H 35#ifndef QUANT_LSP_H
36#define QUANT_LSP_H 36#define QUANT_LSP_H
37 37
38#include <speex/speex_bits.h> 38#include "speex/speex_bits.h"
39#include "arch.h" 39#include "arch.h"
40 40
41#define MAX_LSP_SIZE 20 41#define MAX_LSP_SIZE 20
diff --git a/apps/codecs/libspeex/rockbox.h b/apps/codecs/libspeex/rockbox.h
index 073bad5d98..459c8b532f 100644
--- a/apps/codecs/libspeex/rockbox.h
+++ b/apps/codecs/libspeex/rockbox.h
@@ -24,8 +24,7 @@
24/* We don't want all this stuff if we're building encoder */ 24/* We don't want all this stuff if we're building encoder */
25#ifndef ROCKBOX_VOICE_ENCODER 25#ifndef ROCKBOX_VOICE_ENCODER
26 26
27#include "../codec.h" 27#include "codeclib.h"
28#include "../lib/codeclib.h"
29#include "debug.h" 28#include "debug.h"
30 29
31#if !defined(ROCKBOX_VOICE_CODEC) 30#if !defined(ROCKBOX_VOICE_CODEC)
@@ -35,6 +34,7 @@
35#define DEBUGF ci->debugf 34#define DEBUGF ci->debugf
36#endif 35#endif
37 36
37
38#ifdef ROCKBOX_HAS_LOGF 38#ifdef ROCKBOX_HAS_LOGF
39#undef LOGF 39#undef LOGF
40#define LOGF ci->logf 40#define LOGF ci->logf
@@ -75,6 +75,9 @@ static inline void speex_free_scratch (void *ptr)
75#define OVERRIDE_SPEEX_FATAL 1 75#define OVERRIDE_SPEEX_FATAL 1
76static inline void _speex_fatal(const char *str, const char *file, int line) 76static inline void _speex_fatal(const char *str, const char *file, int line)
77{ 77{
78 (void)str;
79 (void)file;
80 (void)line;
78 DEBUGF("Fatal error: %s\n", str); 81 DEBUGF("Fatal error: %s\n", str);
79 //exit(1); 82 //exit(1);
80} 83}
@@ -82,24 +85,30 @@ static inline void _speex_fatal(const char *str, const char *file, int line)
82#define OVERRIDE_SPEEX_WARNING 1 85#define OVERRIDE_SPEEX_WARNING 1
83static inline void speex_warning(const char *str) 86static inline void speex_warning(const char *str)
84{ 87{
88 (void)str;
85 DEBUGF("warning: %s\n", str); 89 DEBUGF("warning: %s\n", str);
86} 90}
87 91
88#define OVERRIDE_SPEEX_WARNING_INT 1 92#define OVERRIDE_SPEEX_WARNING_INT 1
89static inline void speex_warning_int(const char *str, int val) 93static inline void speex_warning_int(const char *str, int val)
90{ 94{
95 (void)str;
96 (void)val;
91 DEBUGF("warning: %s %d\n", str, val); 97 DEBUGF("warning: %s %d\n", str, val);
92} 98}
93 99
94#define OVERRIDE_SPEEX_NOTIFY 1 100#define OVERRIDE_SPEEX_NOTIFY 1
95static inline void speex_notify(const char *str) 101static inline void speex_notify(const char *str)
96{ 102{
103 (void)str;
97 DEBUGF("notice: %s\n", str); 104 DEBUGF("notice: %s\n", str);
98} 105}
99 106
100#define OVERRIDE_SPEEX_PUTC 1 107#define OVERRIDE_SPEEX_PUTC 1
101static inline void _speex_putc(int ch, void *file) 108static inline void _speex_putc(int ch, void *file)
102{ 109{
110 (void)ch;
111 (void)file;
103 //FILE *f = (FILE *)file; 112 //FILE *f = (FILE *)file;
104 //printf("%c", ch); 113 //printf("%c", ch);
105} 114}
diff --git a/apps/codecs/libspeex/sb_celp.h b/apps/codecs/libspeex/sb_celp.h
index 51aa3d0e13..86078ea33e 100644
--- a/apps/codecs/libspeex/sb_celp.h
+++ b/apps/codecs/libspeex/sb_celp.h
@@ -37,7 +37,7 @@
37#define SB_CELP_H 37#define SB_CELP_H
38 38
39#include "modes.h" 39#include "modes.h"
40#include <speex/speex_bits.h> 40#include "speex/speex_bits.h"
41#include "nb_celp.h" 41#include "nb_celp.h"
42 42
43/**Structure representing the full state of the sub-band encoder*/ 43/**Structure representing the full state of the sub-band encoder*/
diff --git a/apps/codecs/libspeex/speex/ogg.h b/apps/codecs/libspeex/speex/ogg.h
index dce8f96b42..d42851f10c 100644
--- a/apps/codecs/libspeex/speex/ogg.h
+++ b/apps/codecs/libspeex/speex/ogg.h
@@ -21,7 +21,7 @@
21extern "C" { 21extern "C" {
22#endif 22#endif
23 23
24#include "../../codec.h" 24#include "codeclib.h"
25 25
26typedef short spx_ogg_int16_t; 26typedef short spx_ogg_int16_t;
27typedef unsigned short spx_ogg_uint16_t; 27typedef unsigned short spx_ogg_uint16_t;
diff --git a/apps/codecs/libspeex/speex_callbacks.c b/apps/codecs/libspeex/speex_callbacks.c
index 58d7b7b92a..9ffe5245f1 100644
--- a/apps/codecs/libspeex/speex_callbacks.c
+++ b/apps/codecs/libspeex/speex_callbacks.c
@@ -36,7 +36,7 @@
36#include "config-speex.h" 36#include "config-speex.h"
37#endif 37#endif
38 38
39#include <speex/speex_callbacks.h> 39#include "speex/speex_callbacks.h"
40#include "arch.h" 40#include "arch.h"
41#include "os_support.h" 41#include "os_support.h"
42 42
@@ -74,6 +74,7 @@ int speex_inband_handler(SpeexBits *bits, SpeexCallback *callback_list, void *st
74 74
75int speex_std_mode_request_handler(SpeexBits *bits, void *state, void *data) 75int speex_std_mode_request_handler(SpeexBits *bits, void *state, void *data)
76{ 76{
77 (void)state;
77 spx_int32_t m; 78 spx_int32_t m;
78 m = speex_bits_unpack_unsigned(bits, 4); 79 m = speex_bits_unpack_unsigned(bits, 4);
79 speex_encoder_ctl(data, SPEEX_SET_MODE, &m); 80 speex_encoder_ctl(data, SPEEX_SET_MODE, &m);
@@ -82,6 +83,7 @@ int speex_std_mode_request_handler(SpeexBits *bits, void *state, void *data)
82 83
83int speex_std_low_mode_request_handler(SpeexBits *bits, void *state, void *data) 84int speex_std_low_mode_request_handler(SpeexBits *bits, void *state, void *data)
84{ 85{
86 (void)state;
85 spx_int32_t m; 87 spx_int32_t m;
86 m = speex_bits_unpack_unsigned(bits, 4); 88 m = speex_bits_unpack_unsigned(bits, 4);
87 speex_encoder_ctl(data, SPEEX_SET_LOW_MODE, &m); 89 speex_encoder_ctl(data, SPEEX_SET_LOW_MODE, &m);
@@ -90,6 +92,7 @@ int speex_std_low_mode_request_handler(SpeexBits *bits, void *state, void *data)
90 92
91int speex_std_high_mode_request_handler(SpeexBits *bits, void *state, void *data) 93int speex_std_high_mode_request_handler(SpeexBits *bits, void *state, void *data)
92{ 94{
95 (void)state;
93 spx_int32_t m; 96 spx_int32_t m;
94 m = speex_bits_unpack_unsigned(bits, 4); 97 m = speex_bits_unpack_unsigned(bits, 4);
95 speex_encoder_ctl(data, SPEEX_SET_HIGH_MODE, &m); 98 speex_encoder_ctl(data, SPEEX_SET_HIGH_MODE, &m);
@@ -99,6 +102,7 @@ int speex_std_high_mode_request_handler(SpeexBits *bits, void *state, void *data
99#ifndef DISABLE_VBR 102#ifndef DISABLE_VBR
100int speex_std_vbr_request_handler(SpeexBits *bits, void *state, void *data) 103int speex_std_vbr_request_handler(SpeexBits *bits, void *state, void *data)
101{ 104{
105 (void)state;
102 spx_int32_t vbr; 106 spx_int32_t vbr;
103 vbr = speex_bits_unpack_unsigned(bits, 1); 107 vbr = speex_bits_unpack_unsigned(bits, 1);
104 speex_encoder_ctl(data, SPEEX_SET_VBR, &vbr); 108 speex_encoder_ctl(data, SPEEX_SET_VBR, &vbr);
@@ -108,6 +112,7 @@ int speex_std_vbr_request_handler(SpeexBits *bits, void *state, void *data)
108 112
109int speex_std_enh_request_handler(SpeexBits *bits, void *state, void *data) 113int speex_std_enh_request_handler(SpeexBits *bits, void *state, void *data)
110{ 114{
115 (void)state;
111 spx_int32_t enh; 116 spx_int32_t enh;
112 enh = speex_bits_unpack_unsigned(bits, 1); 117 enh = speex_bits_unpack_unsigned(bits, 1);
113 speex_decoder_ctl(data, SPEEX_SET_ENH, &enh); 118 speex_decoder_ctl(data, SPEEX_SET_ENH, &enh);
@@ -117,6 +122,7 @@ int speex_std_enh_request_handler(SpeexBits *bits, void *state, void *data)
117#ifndef DISABLE_VBR 122#ifndef DISABLE_VBR
118int speex_std_vbr_quality_request_handler(SpeexBits *bits, void *state, void *data) 123int speex_std_vbr_quality_request_handler(SpeexBits *bits, void *state, void *data)
119{ 124{
125 (void)state;
120 float qual; 126 float qual;
121 qual = speex_bits_unpack_unsigned(bits, 4); 127 qual = speex_bits_unpack_unsigned(bits, 4);
122 speex_encoder_ctl(data, SPEEX_SET_VBR_QUALITY, &qual); 128 speex_encoder_ctl(data, SPEEX_SET_VBR_QUALITY, &qual);
@@ -126,6 +132,7 @@ int speex_std_vbr_quality_request_handler(SpeexBits *bits, void *state, void *da
126 132
127int speex_std_char_handler(SpeexBits *bits, void *state, void *data) 133int speex_std_char_handler(SpeexBits *bits, void *state, void *data)
128{ 134{
135 (void)state;
129 unsigned char ch; 136 unsigned char ch;
130 ch = speex_bits_unpack_unsigned(bits, 8); 137 ch = speex_bits_unpack_unsigned(bits, 8);
131 _speex_putc(ch, data); 138 _speex_putc(ch, data);
@@ -133,11 +140,11 @@ int speex_std_char_handler(SpeexBits *bits, void *state, void *data)
133 return 0; 140 return 0;
134} 141}
135 142
136
137
138/* Default handler for user callbacks: skip it */ 143/* Default handler for user callbacks: skip it */
139int speex_default_user_handler(SpeexBits *bits, void *state, void *data) 144int speex_default_user_handler(SpeexBits *bits, void *state, void *data)
140{ 145{
146 (void)state;
147 (void)data;
141 int req_size = speex_bits_unpack_unsigned(bits, 4); 148 int req_size = speex_bits_unpack_unsigned(bits, 4);
142 speex_bits_advance(bits, 5+8*req_size); 149 speex_bits_advance(bits, 5+8*req_size);
143 return 0; 150 return 0;
diff --git a/apps/codecs/libspeex/speex_header.c b/apps/codecs/libspeex/speex_header.c
index 1d1d07731c..b0e98b7c9c 100644
--- a/apps/codecs/libspeex/speex_header.c
+++ b/apps/codecs/libspeex/speex_header.c
@@ -36,8 +36,8 @@
36#endif 36#endif
37 37
38#include "arch.h" 38#include "arch.h"
39#include <speex/speex_header.h> 39#include "speex/speex_header.h"
40#include <speex/speex.h> 40#include "speex/speex.h"
41#include "os_support.h" 41#include "os_support.h"
42 42
43#ifndef NULL 43#ifndef NULL
diff --git a/apps/codecs/libspeex/stereo.c b/apps/codecs/libspeex/stereo.c
index 2dce283ac3..652d2a6e90 100644
--- a/apps/codecs/libspeex/stereo.c
+++ b/apps/codecs/libspeex/stereo.c
@@ -33,8 +33,8 @@
33#include "config-speex.h" 33#include "config-speex.h"
34#endif 34#endif
35 35
36#include <speex/speex_stereo.h> 36#include "speex/speex_stereo.h"
37#include <speex/speex_callbacks.h> 37#include "speex/speex_callbacks.h"
38#include "math_approx.h" 38#include "math_approx.h"
39#include "vq.h" 39#include "vq.h"
40#include <math.h> 40#include <math.h>
@@ -278,6 +278,7 @@ void speex_decode_stereo_int(spx_int16_t *data, int frame_size, SpeexStereoState
278 278
279int speex_std_stereo_request_handler(SpeexBits *bits, void *state, void *data) 279int speex_std_stereo_request_handler(SpeexBits *bits, void *state, void *data)
280{ 280{
281 (void)state;
281 RealSpeexStereoState *stereo; 282 RealSpeexStereoState *stereo;
282 spx_word16_t sign=1, dexp; 283 spx_word16_t sign=1, dexp;
283 int tmp; 284 int tmp;
diff --git a/apps/codecs/libtremor/Makefile b/apps/codecs/libtremor/Makefile
deleted file mode 100644
index 674d2ae64c..0000000000
--- a/apps/codecs/libtremor/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17# Tremor is slightly faster on coldfire with -O3
18ifeq ($(CPU),coldfire)
19 TREMOROPTS = -O3
20else
21 TREMOROPTS = -O2
22endif
23
24CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(TREMOROPTS) $(TARGET) \
25$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} ${PROFILE_OPTS}
26
27# This sets up 'SRC' based on the files mentioned in SOURCES
28include $(TOOLSDIR)/makesrc.inc
29
30SOURCES = $(SRC)
31OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
32OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
33DEPFILE = $(OBJDIR)/dep-libtremor
34DIRS =
35
36all: $(OUTPUT)
37
38$(OUTPUT): $(OBJS)
39 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
40 $(SILENT)$(RANLIB) $@
41
42include $(TOOLSDIR)/make.inc
43
44clean:
45 $(call PRINTS,cleaning libtremor)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
46
47ifneq ($(MAKECMDGOALS),clean)
48-include $(DEPFILE)
49endif
diff --git a/apps/codecs/libtremor/config-tremor.h b/apps/codecs/libtremor/config-tremor.h
index e1ade700e5..7cfcb7e35d 100644
--- a/apps/codecs/libtremor/config-tremor.h
+++ b/apps/codecs/libtremor/config-tremor.h
@@ -1,4 +1,4 @@
1#include "../codec.h" 1#include "codeclib.h"
2#ifdef CPU_ARM 2#ifdef CPU_ARM
3#define _ARM_ASSEM_ 3#define _ARM_ASSEM_
4#endif 4#endif
diff --git a/apps/codecs/libtremor/ctype.c b/apps/codecs/libtremor/ctype.c
index 9eb6eef80a..10468bc27d 100644
--- a/apps/codecs/libtremor/ctype.c
+++ b/apps/codecs/libtremor/ctype.c
@@ -1 +1 @@
#include "../../../firmware/common/ctype.c" #include "common/ctype.c"
diff --git a/apps/codecs/libtremor/libtremor.make b/apps/codecs/libtremor/libtremor.make
new file mode 100644
index 0000000000..6f500ea7ac
--- /dev/null
+++ b/apps/codecs/libtremor/libtremor.make
@@ -0,0 +1,36 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libtremor
11TREMORLIB := $(CODECDIR)/libtremor.a
12TREMORLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libtremor/SOURCES)
13TREMORLIB_OBJ := $(call c2obj, $(TREMORLIB_SRC))
14OTHER_SRC += $(TREMORLIB_SRC)
15
16$(TREMORLIB): $(TREMORLIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
18
19$(CODECDIR)/libtremor/%.o: $(ROOTDIR)/apps/codecs/libtremor/%.c
20 $(SILENT)mkdir -p $(dir $@)
21 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) \
22 -I$(APPSDIR)/codecs/libtremor \
23 $(CODECFLAGS) $(CFLAGS) -c $< -o $@
24
25TREMORFLAGS = -I$(APPSDIR)/codecs/libtremor $(filter-out -O%,$(CODECFLAGS))
26
27# Tremor is slightly faster on coldfire with -O3
28ifeq ($(CPU),coldfire)
29 TREMORFLAGS += -O3
30else
31 TREMORFLAGS += -O2
32endif
33
34$(CODECDIR)/libtremor/%.o: $(ROOTDIR)/apps/codecs/libtremor/%.c
35 $(SILENT)mkdir -p $(dir $@)
36 $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(TREMORFLAGS) -c $< -o $@
diff --git a/apps/codecs/libtremor/mapping0.c b/apps/codecs/libtremor/mapping0.c
index 6bcc717d86..2bb7a46d79 100644
--- a/apps/codecs/libtremor/mapping0.c
+++ b/apps/codecs/libtremor/mapping0.c
@@ -21,7 +21,7 @@
21#include <math.h> 21#include <math.h>
22#include "ogg.h" 22#include "ogg.h"
23#include "ivorbiscodec.h" 23#include "ivorbiscodec.h"
24#include <codecs/lib/codeclib.h> 24#include "codeclib.h"
25#include "codec_internal.h" 25#include "codec_internal.h"
26#include "codebook.h" 26#include "codebook.h"
27#include "window.h" 27#include "window.h"
diff --git a/apps/codecs/libtremor/oggmalloc.c b/apps/codecs/libtremor/oggmalloc.c
index b11eaa54f5..ca917ff397 100644
--- a/apps/codecs/libtremor/oggmalloc.c
+++ b/apps/codecs/libtremor/oggmalloc.c
@@ -1,7 +1,6 @@
1#include <os_types.h> 1#include "os_types.h"
2 2
3static unsigned char *mallocbuf; 3static size_t tmp_ptr;
4static size_t bufsize, tmp_ptr, mem_ptr;
5 4
6void ogg_malloc_init(void) 5void ogg_malloc_init(void)
7{ 6{
diff --git a/apps/codecs/libwavpack/Makefile b/apps/codecs/libwavpack/Makefile
deleted file mode 100644
index 20daeb3411..0000000000
--- a/apps/codecs/libwavpack/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17WAVPACKOPTS = -O2
18CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(WAVPACKOPTS) $(TARGET) \
19$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS)
20
21# This sets up 'SRC' based on the files mentioned in SOURCES
22include $(TOOLSDIR)/makesrc.inc
23
24SOURCES = $(SRC)
25OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
26OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
27DEPFILE = $(OBJDIR)/dep-libwavpack
28DIRS =
29
30all: $(OUTPUT)
31
32$(OUTPUT): $(OBJS)
33 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
34 $(SILENT)$(RANLIB) $@
35
36include $(TOOLSDIR)/make.inc
37
38clean:
39 $(call PRINTS,cleaning libwavpack)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
40
41ifneq ($(MAKECMDGOALS),clean)
42-include $(DEPFILE)
43endif
diff --git a/apps/codecs/libwavpack/libwavpack.make b/apps/codecs/libwavpack/libwavpack.make
new file mode 100644
index 0000000000..0237d39668
--- /dev/null
+++ b/apps/codecs/libwavpack/libwavpack.make
@@ -0,0 +1,17 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libwavpack
11WAVPACKLIB := $(CODECDIR)/libwavpack.a
12WAVPACKLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libwavpack/SOURCES)
13WAVPACKLIB_OBJ := $(call c2obj, $(WAVPACKLIB_SRC))
14OTHER_SRC += $(WAVPACKLIB_SRC)
15
16$(WAVPACKLIB): $(WAVPACKLIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
diff --git a/apps/codecs/libwavpack/wavpack.h b/apps/codecs/libwavpack/wavpack.h
index e2952115e1..5b5385a521 100644
--- a/apps/codecs/libwavpack/wavpack.h
+++ b/apps/codecs/libwavpack/wavpack.h
@@ -7,9 +7,9 @@
7//////////////////////////////////////////////////////////////////////////// 7////////////////////////////////////////////////////////////////////////////
8 8
9// wavpack.h 9// wavpack.h
10 10#ifdef CODEC
11#include "../codec.h" 11#include "codeclib.h"
12 12#endif
13#include <inttypes.h> 13#include <inttypes.h>
14 14
15// This header file contains all the definitions required by WavPack. 15// This header file contains all the definitions required by WavPack.
diff --git a/apps/codecs/libwma/Makefile b/apps/codecs/libwma/Makefile
deleted file mode 100644
index 91ea49b1fb..0000000000
--- a/apps/codecs/libwma/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id$
8#
9
10INCLUDES=-I$(APPSDIR) -I.. -I. -I$(FIRMDIR)/include -I$(FIRMDIR)/export \
11 -I$(FIRMDIR)/common -I$(FIRMDIR)/drivers -I$(BUILDDIR)
12
13ifdef APPEXTRA
14 INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
15endif
16
17WMAOPTS = -O2 -DROCKBOX
18CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(WMAOPTS) $(TARGET) \
19$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} $(PROFILE_OPTS) -DCODEC=1
20
21# This sets up 'SRC' based on the files mentioned in SOURCES
22include $(TOOLSDIR)/makesrc.inc
23
24SOURCES = $(SRC)
25OBJS2 := $(SRC:%.c=$(OBJDIR)/%.o)
26OBJS = $(patsubst %.S, $(OBJDIR)/%.o, $(OBJS2))
27DEPFILE = $(OBJDIR)/dep-libwma
28DIRS =
29
30all: $(OUTPUT)
31
32$(OUTPUT): $(OBJS)
33 $(call PRINTS,AR+RANLIB $(@F))$(AR) ruv $@ $+ >/dev/null 2>&1
34 $(SILENT)$(RANLIB) $@
35
36include $(TOOLSDIR)/make.inc
37
38clean:
39 $(call PRINTS,cleaning libwma)rm -f $(OBJS) $(OUTPUT) $(DEPFILE)
40
41ifneq ($(MAKECMDGOALS),clean)
42-include $(DEPFILE)
43endif
diff --git a/apps/codecs/libwma/libwma.make b/apps/codecs/libwma/libwma.make
new file mode 100644
index 0000000000..d40d62eb7b
--- /dev/null
+++ b/apps/codecs/libwma/libwma.make
@@ -0,0 +1,17 @@
1# __________ __ ___.
2# Open \______ \ ____ ____ | | _\_ |__ _______ ___
3# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6# \/ \/ \/ \/ \/
7# $Id: Makefile 19082 2008-11-10 23:54:24Z zagor $
8#
9
10# libwma
11WMALIB := $(CODECDIR)/libwma.a
12WMALIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libwma/SOURCES)
13WMALIB_OBJ := $(call c2obj, $(WMALIB_SRC))
14OTHER_SRC += $(WMALIB_SRC)
15
16$(WMALIB): $(WMALIB_OBJ)
17 $(call PRINTS,AR $(@F))$(AR) rs $@ $^ >/dev/null 2>&1
diff --git a/apps/codecs/wma.c b/apps/codecs/wma.c
index a7548ceac4..93f4e27136 100644
--- a/apps/codecs/wma.c
+++ b/apps/codecs/wma.c
@@ -464,7 +464,7 @@ enum codec_status codec_main(void)
464 int wmares, res; 464 int wmares, res;
465 uint8_t* audiobuf; 465 uint8_t* audiobuf;
466 int audiobufsize; 466 int audiobufsize;
467 int packetlength; 467 int packetlength = 0;
468 int errcount = 0; 468 int errcount = 0;
469 469
470 /* Generic codec initialisation */ 470 /* Generic codec initialisation */