diff options
Diffstat (limited to 'apps/codecs/libspeex/sb_celp.c')
-rw-r--r-- | apps/codecs/libspeex/sb_celp.c | 37 |
1 files changed, 31 insertions, 6 deletions
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 | ||
185 | extern const spx_word16_t lpc_window[]; | 185 | extern const spx_word16_t lpc_window[]; |
186 | 186 | ||
187 | 187 | #if 0 | |
188 | void *sb_encoder_init(const SpeexMode *m) | 188 | void *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 | ||
754 | void *sb_encoder_init(const SpeexMode *m) | ||
755 | { | ||
756 | return NULL; | ||
757 | } | ||
758 | void sb_encoder_destroy(void *state) | ||
759 | { | ||
760 | } | ||
761 | int sb_encode(void *state, void *vin, SpeexBits *bits) | ||
762 | { | ||
763 | return 1; | ||
764 | } | ||
765 | #endif | ||
753 | 766 | ||
754 | 767 | ||
755 | 768 | ||
756 | 769 | static SBDecState global_decstate_wb IBSS_ATTR; | |
757 | static SBDecState global_decstate IBSS_ATTR; | 770 | static SBDecState global_decstate_uwb IBSS_ATTR; |
758 | 771 | ||
759 | void *sb_decoder_init(const SpeexMode *m) | 772 | void *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 | |
1111 | int sb_encoder_ctl(void *state, int request, void *ptr) | 1130 | int 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 | ||
1378 | int sb_encoder_ctl(void *state, int request, void *ptr) | ||
1379 | { | ||
1380 | return 0; | ||
1381 | } | ||
1382 | #endif | ||
1358 | 1383 | ||
1359 | int sb_decoder_ctl(void *state, int request, void *ptr) | 1384 | int sb_decoder_ctl(void *state, int request, void *ptr) |
1360 | { | 1385 | { |