summaryrefslogtreecommitdiff
path: root/apps/codecs
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-01-18 00:05:14 +0000
committerJens Arnold <amiconn@rockbox.org>2006-01-18 00:05:14 +0000
commitb8749fdf219ffcfc17b7781217f388953268af49 (patch)
tree7369b5cb4f94f0c6589eb8bbf1bf63537c898b62 /apps/codecs
parent507ff53c9c429de6c3bf5bfd6eb1a129cfc12cad (diff)
New codec loader, using the same mechanism as the new plugin loader. API version numbering restarted for the new system. Uses the target ID from configure, so don't change that too often. * Fixed sim_plugin_load_ram() to truncate the tempfile. * Reduced plugin buffer size to 512KB for iriver and iPod.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8362 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs')
-rw-r--r--apps/codecs/Makefile2
-rw-r--r--apps/codecs/a52.c3
-rw-r--r--apps/codecs/aac.c6
-rw-r--r--apps/codecs/alac.c6
-rw-r--r--apps/codecs/flac.c6
-rw-r--r--apps/codecs/mpa.c3
-rw-r--r--apps/codecs/mpc.c3
-rw-r--r--apps/codecs/shorten.c5
-rw-r--r--apps/codecs/vorbis.c3
-rw-r--r--apps/codecs/wav.c4
-rw-r--r--apps/codecs/wavpack.c4
11 files changed, 25 insertions, 20 deletions
diff --git a/apps/codecs/Makefile b/apps/codecs/Makefile
index 5aec2ed983..d0cd97db9b 100644
--- a/apps/codecs/Makefile
+++ b/apps/codecs/Makefile
@@ -10,7 +10,7 @@
INCLUDES = -I$(FIRMDIR)/include -I$(FIRMDIR)/export -I$(FIRMDIR)/common \
-I$(FIRMDIR)/drivers -I$(APPSDIR) -Ilib -I$(BUILDDIR)
CFLAGS = $(GCCOPTS) $(INCLUDES) $(TARGET) $(EXTRA_DEFINES) \
- -DMEM=${MEMORYSIZE} -DCODEC
+ -DTARGET_ID=$(TARGET_ID) -DMEM=${MEMORYSIZE} -DCODEC
ifdef APPEXTRA
INCLUDES += $(patsubst %,-I$(APPSDIR)/%,$(subst :, ,$(APPEXTRA)))
diff --git a/apps/codecs/a52.c b/apps/codecs/a52.c
index dd504e83fd..f12fce1027 100644
--- a/apps/codecs/a52.c
+++ b/apps/codecs/a52.c
@@ -22,6 +22,8 @@
#include <codecs/liba52/config-a52.h>
#include <codecs/liba52/a52.h>
+CODEC_HEADER
+
#define BUFFER_SIZE 4096
#define A52_SAMPLESPERFRAME (6*256)
@@ -129,7 +131,6 @@ enum codec_status codec_start(struct codec_api *api)
int sample_loc;
/* Generic codec initialisation */
- TEST_CODEC_API(api);
ci = api;
#ifdef USE_IRAM
diff --git a/apps/codecs/aac.c b/apps/codecs/aac.c
index a6ce0170a9..baa3935175 100644
--- a/apps/codecs/aac.c
+++ b/apps/codecs/aac.c
@@ -23,6 +23,8 @@
#include "libfaad/structs.h"
#include "libfaad/decoder.h"
+CODEC_HEADER
+
#ifndef SIMULATOR
extern char iramcopy[];
extern char iramstart[];
@@ -51,10 +53,8 @@ enum codec_status codec_start(struct codec_api* api)
int16_t* decodedbuffer;
/* Generic codec initialisation */
- TEST_CODEC_API(api);
-
rb = api;
- ci = (struct codec_api*)api;
+ ci = api;
#ifndef SIMULATOR
rb->memcpy(iramstart, iramcopy, iramend-iramstart);
diff --git a/apps/codecs/alac.c b/apps/codecs/alac.c
index 30c1ada555..7ca70ce83c 100644
--- a/apps/codecs/alac.c
+++ b/apps/codecs/alac.c
@@ -21,6 +21,8 @@
#include "libm4a/m4a.h"
#include "libalac/decomp.h"
+CODEC_HEADER
+
#ifdef USE_IRAM
extern char iramcopy[];
extern char iramstart[];
@@ -50,10 +52,8 @@ enum codec_status codec_start(struct codec_api* api)
alac_file alac;
/* Generic codec initialisation */
- TEST_CODEC_API(api);
-
rb = api;
- ci = (struct codec_api*)api;
+ ci = api;
#ifdef USE_IRAM
rb->memcpy(iramstart, iramcopy, iramend-iramstart);
diff --git a/apps/codecs/flac.c b/apps/codecs/flac.c
index ae05b0f2aa..a96963dd80 100644
--- a/apps/codecs/flac.c
+++ b/apps/codecs/flac.c
@@ -20,6 +20,8 @@
#include "codeclib.h"
#include <codecs/libffmpegFLAC/decoder.h>
+CODEC_HEADER
+
#ifdef USE_IRAM
extern char iramcopy[];
extern char iramstart[];
@@ -226,10 +228,8 @@ enum codec_status codec_start(struct codec_api* api)
int frame;
/* Generic codec initialisation */
- TEST_CODEC_API(api);
-
rb = api;
- ci = (struct codec_api*)api;
+ ci = api;
#ifdef USE_IRAM
ci->memcpy(iramstart, iramcopy, iramend-iramstart);
diff --git a/apps/codecs/mpa.c b/apps/codecs/mpa.c
index 3d824d9b39..3c57f3f33f 100644
--- a/apps/codecs/mpa.c
+++ b/apps/codecs/mpa.c
@@ -21,6 +21,8 @@
#include <codecs/libmad/mad.h>
#include <inttypes.h>
+CODEC_HEADER
+
struct mad_stream stream IBSS_ATTR;
struct mad_frame frame IBSS_ATTR;
struct mad_synth synth IBSS_ATTR;
@@ -81,7 +83,6 @@ enum codec_status codec_start(struct codec_api *api)
char *inputbuffer;
ci = api;
- TEST_CODEC_API(api);
#ifdef USE_IRAM
ci->memcpy(iramstart, iramcopy, iramend - iramstart);
diff --git a/apps/codecs/mpc.c b/apps/codecs/mpc.c
index 207a63ce97..1d1ed3a8b7 100644
--- a/apps/codecs/mpc.c
+++ b/apps/codecs/mpc.c
@@ -20,6 +20,8 @@
#include "codeclib.h"
#include <codecs/libmusepack/musepack.h>
+CODEC_HEADER
+
mpc_decoder decoder;
/* Our implementations of the mpc_reader callback functions. */
@@ -82,7 +84,6 @@ enum codec_status codec_start(struct codec_api *api)
mpc_reader reader;
mpc_streaminfo info;
- TEST_CODEC_API(api);
#ifdef USE_IRAM
ci->memcpy(iramstart, iramcopy, iramend - iramstart);
ci->memset(iedata, 0, iend - iedata);
diff --git a/apps/codecs/shorten.c b/apps/codecs/shorten.c
index 9e679f5ea7..ffbd42a9ff 100644
--- a/apps/codecs/shorten.c
+++ b/apps/codecs/shorten.c
@@ -20,6 +20,8 @@
#include "codeclib.h"
#include <codecs/libffmpegFLAC/shndec.h>
+CODEC_HEADER
+
#ifdef USE_IRAM
extern char iramcopy[];
extern char iramstart[];
@@ -50,9 +52,8 @@ enum codec_status codec_start(struct codec_api* api)
long bytesleft;
/* Generic codec initialisation */
- TEST_CODEC_API(api);
rb = api;
- ci = (struct codec_api*)api;
+ ci = api;
#ifdef USE_IRAM
ci->memcpy(iramstart, iramcopy, iramend-iramstart);
diff --git a/apps/codecs/vorbis.c b/apps/codecs/vorbis.c
index 795e689e7d..fdd7a952d4 100644
--- a/apps/codecs/vorbis.c
+++ b/apps/codecs/vorbis.c
@@ -21,6 +21,8 @@
#include "Tremor/ivorbisfile.h"
#include "Tremor/ogg.h"
+CODEC_HEADER
+
static struct codec_api *rb;
/* Some standard functions and variables needed by Tremor */
@@ -122,7 +124,6 @@ enum codec_status codec_start(struct codec_api *api)
ogg_uint32_t vf_serialnos;
ogg_int64_t vf_pcmlengths[2];
- TEST_CODEC_API(api);
rb = api;
#ifdef USE_IRAM
diff --git a/apps/codecs/wav.c b/apps/codecs/wav.c
index e86b559caa..1dda2c3d58 100644
--- a/apps/codecs/wav.c
+++ b/apps/codecs/wav.c
@@ -20,6 +20,8 @@
#include "codeclib.h"
#include "inttypes.h"
+CODEC_HEADER
+
struct codec_api* rb;
/* This codec support WAVE files with the following formats:
@@ -230,8 +232,6 @@ enum codec_status codec_start(struct codec_api* api)
int32_t * const int32_samples = (int32_t*)int16_samples;
/* Generic codec initialisation */
- TEST_CODEC_API(api);
-
rb = api;
ci = api;
diff --git a/apps/codecs/wavpack.c b/apps/codecs/wavpack.c
index ff890ba805..2804d3ef72 100644
--- a/apps/codecs/wavpack.c
+++ b/apps/codecs/wavpack.c
@@ -20,6 +20,8 @@
#include "codeclib.h"
#include "libwavpack/wavpack.h"
+CODEC_HEADER
+
static struct codec_api *ci;
#define FORCE_DSP_USE /* fixes some WavPack bugs; adds about 12% to boost ratio
@@ -52,8 +54,6 @@ enum codec_status codec_start(struct codec_api* api)
int bps, nchans, sr_100;
/* Generic codec initialisation */
- TEST_CODEC_API(api);
-
ci = api;
#ifdef USE_IRAM