summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2007-10-22 12:03:03 +0000
committerThom Johansen <thomj@rockbox.org>2007-10-22 12:03:03 +0000
commitba482642f2aeeeaa39fd22f68b908fc09b6f63ac (patch)
treece73c66341f23a23d6c8b481dacced04349e5dc0 /apps
parent12d1ff912c1f1d292bf91f29f7896882360424aa (diff)
downloadrockbox-ba482642f2aeeeaa39fd22f68b908fc09b6f63ac.tar.gz
rockbox-ba482642f2aeeeaa39fd22f68b908fc09b6f63ac.zip
Fix ultra-wideband mode. Disable big parts of the encoder stuff for a smaller binary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15263 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/codecs/libspeex/nb_celp.c28
-rw-r--r--apps/codecs/libspeex/sb_celp.c37
2 files changed, 56 insertions, 9 deletions
diff --git a/apps/codecs/libspeex/nb_celp.c b/apps/codecs/libspeex/nb_celp.c
index 6047bd42aa..0798ffbcf4 100644
--- a/apps/codecs/libspeex/nb_celp.c
+++ b/apps/codecs/libspeex/nb_celp.c
@@ -108,8 +108,8 @@ const float exc_gain_quant_scal1[2]={0.70469f, 1.05127f};
108#define sqr(x) ((x)*(x)) 108#define sqr(x) ((x)*(x))
109 109
110extern const spx_word16_t lpc_window[]; 110extern const spx_word16_t lpc_window[];
111 111#if 0
112void *nb_encoder_init(const SpeexMode *m) 112void *nb_encoder_init(const speexmode *m)
113{ 113{
114 EncState *st; 114 EncState *st;
115 const SpeexNBMode *mode; 115 const SpeexNBMode *mode;
@@ -1023,6 +1023,19 @@ int nb_encode(void *state, void *vin, SpeexBits *bits)
1023 1023
1024 return 1; 1024 return 1;
1025} 1025}
1026#else
1027void *nb_encoder_init(const SpeexMode *m)
1028{
1029 return NULL;
1030}
1031void nb_encoder_destroy(void *state)
1032{
1033}
1034int nb_encode(void *state, void *vin, SpeexBits *bits)
1035{
1036 return 1;
1037}
1038#endif
1026 1039
1027static DecState global_decstate IBSS_ATTR; 1040static DecState global_decstate IBSS_ATTR;
1028 1041
@@ -1033,9 +1046,11 @@ void *nb_decoder_init(const SpeexMode *m)
1033 int i; 1046 int i;
1034 1047
1035 mode=(const SpeexNBMode*)m->mode; 1048 mode=(const SpeexNBMode*)m->mode;
1036 /* st = (DecState *)speex_alloc(sizeof(DecState)); */ 1049/*
1050 st = (DecState *)speex_alloc(sizeof(DecState));
1037 if (!st) 1051 if (!st)
1038 return NULL; 1052 return NULL;
1053*/
1039#if defined(VAR_ARRAYS) || defined (USE_ALLOCA) 1054#if defined(VAR_ARRAYS) || defined (USE_ALLOCA)
1040 st->stack = NULL; 1055 st->stack = NULL;
1041#else 1056#else
@@ -1740,6 +1755,7 @@ int nb_decode(void *state, SpeexBits *bits, void *vout)
1740 return 0; 1755 return 0;
1741} 1756}
1742 1757
1758#if 0
1743int nb_encoder_ctl(void *state, int request, void *ptr) 1759int nb_encoder_ctl(void *state, int request, void *ptr)
1744{ 1760{
1745 EncState *st; 1761 EncState *st;
@@ -1935,6 +1951,12 @@ int nb_encoder_ctl(void *state, int request, void *ptr)
1935 } 1951 }
1936 return 0; 1952 return 0;
1937} 1953}
1954#else
1955int nb_encoder_ctl(void *state, int request, void *ptr)
1956{
1957 return 0;
1958}
1959#endif
1938 1960
1939int nb_decoder_ctl(void *state, int request, void *ptr) 1961int nb_decoder_ctl(void *state, int request, void *ptr)
1940{ 1962{
diff --git a/apps/codecs/libspeex/sb_celp.c b/apps/codecs/libspeex/sb_celp.c
index dc88ca4947..766fe57719 100644
--- a/apps/codecs/libspeex/sb_celp.c
+++ b/apps/codecs/libspeex/sb_celp.c
@@ -184,7 +184,7 @@ static const float h0[64] = {
184 184
185extern const spx_word16_t lpc_window[]; 185extern const spx_word16_t lpc_window[];
186 186
187 187#if 0
188void *sb_encoder_init(const SpeexMode *m) 188void *sb_encoder_init(const SpeexMode *m)
189{ 189{
190 int i; 190 int i;
@@ -750,20 +750,39 @@ int sb_encode(void *state, void *vin, SpeexBits *bits)
750 750
751 return 1; 751 return 1;
752} 752}
753#else
754void *sb_encoder_init(const SpeexMode *m)
755{
756 return NULL;
757}
758void sb_encoder_destroy(void *state)
759{
760}
761int sb_encode(void *state, void *vin, SpeexBits *bits)
762{
763 return 1;
764}
765#endif
753 766
754 767
755 768
756 769static SBDecState global_decstate_wb IBSS_ATTR;
757static SBDecState global_decstate IBSS_ATTR; 770static SBDecState global_decstate_uwb IBSS_ATTR;
758 771
759void *sb_decoder_init(const SpeexMode *m) 772void *sb_decoder_init(const SpeexMode *m)
760{ 773{
761 spx_int32_t tmp; 774 spx_int32_t tmp;
762 SBDecState *st = &global_decstate; 775 SBDecState *st;
763 const SpeexSBMode *mode; 776 const SpeexSBMode *mode;
764 /* st = (SBDecState*)speex_alloc(sizeof(SBDecState)); */ 777/*
778 st = (SBDecState*)speex_alloc(sizeof(SBDecState));
765 if (!st) 779 if (!st)
766 return NULL; 780 return NULL;
781*/
782 if (m->modeID == SPEEX_MODEID_UWB)
783 st = &global_decstate_uwb;
784 else
785 st = &global_decstate_wb;
767 st->mode = m; 786 st->mode = m;
768 mode=(const SpeexSBMode*)m->mode; 787 mode=(const SpeexSBMode*)m->mode;
769 st->encode_submode = 1; 788 st->encode_submode = 1;
@@ -1107,7 +1126,7 @@ int sb_decode(void *state, SpeexBits *bits, void *vout)
1107 return 0; 1126 return 0;
1108} 1127}
1109 1128
1110 1129#if 0
1111int sb_encoder_ctl(void *state, int request, void *ptr) 1130int sb_encoder_ctl(void *state, int request, void *ptr)
1112{ 1131{
1113 SBEncState *st; 1132 SBEncState *st;
@@ -1355,6 +1374,12 @@ int sb_encoder_ctl(void *state, int request, void *ptr)
1355 } 1374 }
1356 return 0; 1375 return 0;
1357} 1376}
1377#else
1378int sb_encoder_ctl(void *state, int request, void *ptr)
1379{
1380 return 0;
1381}
1382#endif
1358 1383
1359int sb_decoder_ctl(void *state, int request, void *ptr) 1384int sb_decoder_ctl(void *state, int request, void *ptr)
1360{ 1385{