forked from len0rd/rockbox
Remove unneeded math wrappers. Clear state structs in decoder init. Start initial work at stripping away parts of Speex in preparation for its use as a statically linked voice UI codec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15612 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
d75a5486e6
commit
91f618f1ba
6 changed files with 20 additions and 79 deletions
|
|
@ -23,6 +23,11 @@ else
|
||||||
SPEEXOPTS += -O2
|
SPEEXOPTS += -O2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# We build Speex separately for use as a voice codec
|
||||||
|
ifdef ROCKBOX_VOICE_CODEC
|
||||||
|
EXTRA_DEFINES += -DROCKBOX_VOICE_CODEC
|
||||||
|
endif
|
||||||
|
|
||||||
CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(SPEEXOPTS) $(TARGET) \
|
CFLAGS = $(INCLUDES) $(GCCOPTS) $(TARGET_INC) $(SPEEXOPTS) $(TARGET) \
|
||||||
$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} ${PROFILE_OPTS} -Wno-unused-parameter
|
$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} ${PROFILE_OPTS} -Wno-unused-parameter
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,14 +18,15 @@ ltp.c
|
||||||
modes.c
|
modes.c
|
||||||
modes_wb.c
|
modes_wb.c
|
||||||
nb_celp.c
|
nb_celp.c
|
||||||
oggframing.c
|
|
||||||
quant_lsp.c
|
quant_lsp.c
|
||||||
rockbox.c
|
|
||||||
sb_celp.c
|
sb_celp.c
|
||||||
speex.c
|
speex.c
|
||||||
speex_callbacks.c
|
speex_callbacks.c
|
||||||
speex_header.c
|
speex_header.c
|
||||||
|
#ifndef ROCKBOX_VOICE_CODEC
|
||||||
|
oggframing.c
|
||||||
stereo.c
|
stereo.c
|
||||||
|
#endif
|
||||||
#ifdef CPU_COLDFIRE
|
#ifdef CPU_COLDFIRE
|
||||||
filters_cf.S
|
filters_cf.S
|
||||||
ltp_cf.S
|
ltp_cf.S
|
||||||
|
|
|
||||||
|
|
@ -944,6 +944,7 @@ void *nb_decoder_init(const SpeexMode *m)
|
||||||
if (!st)
|
if (!st)
|
||||||
return NULL;
|
return NULL;
|
||||||
*/
|
*/
|
||||||
|
memset(st, 0, sizeof(*st));
|
||||||
#if defined(VAR_ARRAYS) || defined (USE_ALLOCA)
|
#if defined(VAR_ARRAYS) || defined (USE_ALLOCA)
|
||||||
st->stack = NULL;
|
st->stack = NULL;
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
|
|
@ -1,77 +0,0 @@
|
||||||
/**************************************************************************
|
|
||||||
* __________ __ ___.
|
|
||||||
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
||||||
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
||||||
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
||||||
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
||||||
* \/ \/ \/ \/ \/
|
|
||||||
*
|
|
||||||
* Copyright (C) 2007 Dan Everton
|
|
||||||
*
|
|
||||||
* All files in this archive are subject to the GNU General Public License.
|
|
||||||
* See the file COPYING in the source tree root for full license agreement.
|
|
||||||
*
|
|
||||||
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
||||||
* KIND, either express or implied.
|
|
||||||
*
|
|
||||||
***************************************************************************/
|
|
||||||
|
|
||||||
#include "../codec.h"
|
|
||||||
#include "../lib/codeclib.h"
|
|
||||||
|
|
||||||
#if defined(DEBUG) || defined(SIMULATOR)
|
|
||||||
#undef DEBUGF
|
|
||||||
#define DEBUGF ci->debugf
|
|
||||||
#else
|
|
||||||
#define DEBUGF(...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef ROCKBOX_HAS_LOGF
|
|
||||||
#undef LOGF
|
|
||||||
#define LOGF ci->logf
|
|
||||||
#else
|
|
||||||
#define LOGF(...)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern struct codec_api* ci;
|
|
||||||
|
|
||||||
float floor(float x) {
|
|
||||||
return ((float)(((int)x)));
|
|
||||||
}
|
|
||||||
|
|
||||||
//Placeholders (not fixed point, only used when encoding):
|
|
||||||
float pow(float a, float b) {
|
|
||||||
DEBUGF("pow(%f, %f)\n", a, b);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
float log(float l) {
|
|
||||||
DEBUGF("log(%f)\n", l);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
float fabs(float a) {
|
|
||||||
DEBUGF("fabs(%f)\n", a);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
float sin(float a) {
|
|
||||||
DEBUGF("sin(%f)\n", a);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
float cos(float a) {
|
|
||||||
DEBUGF("cos(%f)\n", a);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
float sqrt(float a) {
|
|
||||||
DEBUGF("sqrt(%f)\n", a);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
float exp(float a) {
|
|
||||||
DEBUGF("exp(%f)\n", a);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -755,7 +755,10 @@ int sb_encode(void *state, void *vin, SpeexBits *bits)
|
||||||
|
|
||||||
|
|
||||||
static SBDecState global_decstate_wb IBSS_ATTR;
|
static SBDecState global_decstate_wb IBSS_ATTR;
|
||||||
|
/* Do not include this for voice codec, files will never be UWB */
|
||||||
|
#ifndef SPEEX_ROCKBOX_VOICE_CODEC
|
||||||
static SBDecState global_decstate_uwb IBSS_ATTR;
|
static SBDecState global_decstate_uwb IBSS_ATTR;
|
||||||
|
#endif
|
||||||
|
|
||||||
void *sb_decoder_init(const SpeexMode *m)
|
void *sb_decoder_init(const SpeexMode *m)
|
||||||
{
|
{
|
||||||
|
|
@ -767,10 +770,13 @@ void *sb_decoder_init(const SpeexMode *m)
|
||||||
if (!st)
|
if (!st)
|
||||||
return NULL;
|
return NULL;
|
||||||
*/
|
*/
|
||||||
|
#ifndef ROCKBOX_VOICE_CODEC
|
||||||
if (m->modeID == SPEEX_MODEID_UWB)
|
if (m->modeID == SPEEX_MODEID_UWB)
|
||||||
st = &global_decstate_uwb;
|
st = &global_decstate_uwb;
|
||||||
else
|
else
|
||||||
|
#endif
|
||||||
st = &global_decstate_wb;
|
st = &global_decstate_wb;
|
||||||
|
memset(st, 0, sizeof(*st));
|
||||||
st->mode = m;
|
st->mode = m;
|
||||||
mode=(const SpeexSBMode*)m->mode;
|
mode=(const SpeexSBMode*)m->mode;
|
||||||
st->encode_submode = 1;
|
st->encode_submode = 1;
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,12 @@ typedef struct SBDecState {
|
||||||
char *stack;
|
char *stack;
|
||||||
spx_word16_t g0_mem[64], g1_mem[64];
|
spx_word16_t g0_mem[64], g1_mem[64];
|
||||||
|
|
||||||
|
/* Voice codec files will be WB mode, which has sub frame size of 40 */
|
||||||
|
#ifndef SPEEX_ROCKBOX_VOICE_CODEC
|
||||||
spx_word16_t excBuf[80];
|
spx_word16_t excBuf[80];
|
||||||
|
#else
|
||||||
|
spx_word16_t excBuf[40];
|
||||||
|
#endif
|
||||||
spx_lsp_t old_qlsp[8];
|
spx_lsp_t old_qlsp[8];
|
||||||
spx_coef_t interp_qlpc[8];
|
spx_coef_t interp_qlpc[8];
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue