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
|
||||
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) \
|
||||
$(EXTRA_DEFINES) -DMEM=${MEMORYSIZE} ${PROFILE_OPTS} -Wno-unused-parameter
|
||||
|
||||
|
|
|
|||
|
|
@ -18,14 +18,15 @@ ltp.c
|
|||
modes.c
|
||||
modes_wb.c
|
||||
nb_celp.c
|
||||
oggframing.c
|
||||
quant_lsp.c
|
||||
rockbox.c
|
||||
sb_celp.c
|
||||
speex.c
|
||||
speex_callbacks.c
|
||||
speex_header.c
|
||||
#ifndef ROCKBOX_VOICE_CODEC
|
||||
oggframing.c
|
||||
stereo.c
|
||||
#endif
|
||||
#ifdef CPU_COLDFIRE
|
||||
filters_cf.S
|
||||
ltp_cf.S
|
||||
|
|
|
|||
|
|
@ -944,6 +944,7 @@ void *nb_decoder_init(const SpeexMode *m)
|
|||
if (!st)
|
||||
return NULL;
|
||||
*/
|
||||
memset(st, 0, sizeof(*st));
|
||||
#if defined(VAR_ARRAYS) || defined (USE_ALLOCA)
|
||||
st->stack = NULL;
|
||||
#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;
|
||||
/* Do not include this for voice codec, files will never be UWB */
|
||||
#ifndef SPEEX_ROCKBOX_VOICE_CODEC
|
||||
static SBDecState global_decstate_uwb IBSS_ATTR;
|
||||
#endif
|
||||
|
||||
void *sb_decoder_init(const SpeexMode *m)
|
||||
{
|
||||
|
|
@ -767,10 +770,13 @@ void *sb_decoder_init(const SpeexMode *m)
|
|||
if (!st)
|
||||
return NULL;
|
||||
*/
|
||||
#ifndef ROCKBOX_VOICE_CODEC
|
||||
if (m->modeID == SPEEX_MODEID_UWB)
|
||||
st = &global_decstate_uwb;
|
||||
else
|
||||
#endif
|
||||
st = &global_decstate_wb;
|
||||
memset(st, 0, sizeof(*st));
|
||||
st->mode = m;
|
||||
mode=(const SpeexSBMode*)m->mode;
|
||||
st->encode_submode = 1;
|
||||
|
|
|
|||
|
|
@ -110,7 +110,12 @@ typedef struct SBDecState {
|
|||
char *stack;
|
||||
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];
|
||||
#else
|
||||
spx_word16_t excBuf[40];
|
||||
#endif
|
||||
spx_lsp_t old_qlsp[8];
|
||||
spx_coef_t interp_qlpc[8];
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue