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)
downloadrockbox-b8749fdf219ffcfc17b7781217f388953268af49.zip
rockbox-b8749fdf219ffcfc17b7781217f388953268af49.tar.gz
rockbox-b8749fdf219ffcfc17b7781217f388953268af49.tar.bz2
rockbox-b8749fdf219ffcfc17b7781217f388953268af49.tar.xz
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 5aec2ed..d0cd97d 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 dd504e8..f12fce1 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 a6ce017..baa3935 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 30c1ada..7ca70ce 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 ae05b0f..a96963d 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 3d824d9..3c57f3f 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 207a63c..1d1ed3a 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 9e679f5..ffbd42a 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 795e689..fdd7a95 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 e86b559..1dda2c3 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 ff890ba..2804d3e 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