From 1e0e6369476b03accc9622d3dcff244ae0354cc5 Mon Sep 17 00:00:00 2001 From: Hendrik Leppkes Date: Tue, 8 May 2012 21:29:46 +0200 Subject: Use OpenCore AMR for AMR-NB/WB decoding --- thirdparty/include/opencore-amrnb/interf_dec.h | 34 +++++++++++++++++ thirdparty/include/opencore-amrnb/interf_enc.h | 50 +++++++++++++++++++++++++ thirdparty/include/opencore-amrwb/dec_if.h | 36 ++++++++++++++++++ thirdparty/include/opencore-amrwb/if_rom.h | 33 ++++++++++++++++ thirdparty/lib32/libopencore-amrnb.a | Bin 0 -> 217554 bytes thirdparty/lib32/libopencore-amrwb.a | Bin 0 -> 88096 bytes thirdparty/lib64/libopencore-amrnb.a | Bin 0 -> 213306 bytes thirdparty/lib64/libopencore-amrwb.a | Bin 0 -> 87740 bytes 8 files changed, 153 insertions(+) create mode 100644 thirdparty/include/opencore-amrnb/interf_dec.h create mode 100644 thirdparty/include/opencore-amrnb/interf_enc.h create mode 100644 thirdparty/include/opencore-amrwb/dec_if.h create mode 100644 thirdparty/include/opencore-amrwb/if_rom.h create mode 100644 thirdparty/lib32/libopencore-amrnb.a create mode 100644 thirdparty/lib32/libopencore-amrwb.a create mode 100644 thirdparty/lib64/libopencore-amrnb.a create mode 100644 thirdparty/lib64/libopencore-amrwb.a (limited to 'thirdparty') diff --git a/thirdparty/include/opencore-amrnb/interf_dec.h b/thirdparty/include/opencore-amrnb/interf_dec.h new file mode 100644 index 00000000..98051f40 --- /dev/null +++ b/thirdparty/include/opencore-amrnb/interf_dec.h @@ -0,0 +1,34 @@ +/* ------------------------------------------------------------------ + * Copyright (C) 2009 Martin Storsjo + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. + * See the License for the specific language governing permissions + * and limitations under the License. + * ------------------------------------------------------------------- + */ + +#ifndef OPENCORE_AMRNB_INTERF_DEC_H +#define OPENCORE_AMRNB_INTERF_DEC_H + +#ifdef __cplusplus +extern "C" { +#endif + +void* Decoder_Interface_init(void); +void Decoder_Interface_exit(void* state); +void Decoder_Interface_Decode(void* state, const unsigned char* in, short* out, int bfi); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/thirdparty/include/opencore-amrnb/interf_enc.h b/thirdparty/include/opencore-amrnb/interf_enc.h new file mode 100644 index 00000000..b89b0c7c --- /dev/null +++ b/thirdparty/include/opencore-amrnb/interf_enc.h @@ -0,0 +1,50 @@ +/* ------------------------------------------------------------------ + * Copyright (C) 2009 Martin Storsjo + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. + * See the License for the specific language governing permissions + * and limitations under the License. + * ------------------------------------------------------------------- + */ + +#ifndef OPENCORE_AMRNB_INTERF_ENC_H +#define OPENCORE_AMRNB_INTERF_ENC_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef AMRNB_WRAPPER_INTERNAL +/* Copied from enc/src/gsmamr_enc.h */ +enum Mode { + MR475 = 0,/* 4.75 kbps */ + MR515, /* 5.15 kbps */ + MR59, /* 5.90 kbps */ + MR67, /* 6.70 kbps */ + MR74, /* 7.40 kbps */ + MR795, /* 7.95 kbps */ + MR102, /* 10.2 kbps */ + MR122, /* 12.2 kbps */ + MRDTX, /* DTX */ + N_MODES /* Not Used */ +}; +#endif + +void* Encoder_Interface_init(int dtx); +void Encoder_Interface_exit(void* state); +int Encoder_Interface_Encode(void* state, enum Mode mode, const short* speech, unsigned char* out, int forceSpeech); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/thirdparty/include/opencore-amrwb/dec_if.h b/thirdparty/include/opencore-amrwb/dec_if.h new file mode 100644 index 00000000..56acdaaf --- /dev/null +++ b/thirdparty/include/opencore-amrwb/dec_if.h @@ -0,0 +1,36 @@ +/* ------------------------------------------------------------------ + * Copyright (C) 2009 Martin Storsjo + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. + * See the License for the specific language governing permissions + * and limitations under the License. + * ------------------------------------------------------------------- + */ + +#ifndef OPENCORE_AMRWB_DEC_IF_H +#define OPENCORE_AMRWB_DEC_IF_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define _good_frame 0 + +void* D_IF_init(void); +void D_IF_decode(void* state, const unsigned char* bits, short* synth, int bfi); +void D_IF_exit(void* state); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/thirdparty/include/opencore-amrwb/if_rom.h b/thirdparty/include/opencore-amrwb/if_rom.h new file mode 100644 index 00000000..8977e03a --- /dev/null +++ b/thirdparty/include/opencore-amrwb/if_rom.h @@ -0,0 +1,33 @@ +/* ------------------------------------------------------------------ + * Copyright (C) 2009 Martin Storsjo + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. + * See the License for the specific language governing permissions + * and limitations under the License. + * ------------------------------------------------------------------- + */ + +#ifndef OPENCORE_AMRWB_IF_ROM_H +#define OPENCORE_AMRWB_IF_ROM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +typedef int16_t Word16; + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/thirdparty/lib32/libopencore-amrnb.a b/thirdparty/lib32/libopencore-amrnb.a new file mode 100644 index 00000000..4f007123 Binary files /dev/null and b/thirdparty/lib32/libopencore-amrnb.a differ diff --git a/thirdparty/lib32/libopencore-amrwb.a b/thirdparty/lib32/libopencore-amrwb.a new file mode 100644 index 00000000..75a7a552 Binary files /dev/null and b/thirdparty/lib32/libopencore-amrwb.a differ diff --git a/thirdparty/lib64/libopencore-amrnb.a b/thirdparty/lib64/libopencore-amrnb.a new file mode 100644 index 00000000..c21bfbb2 Binary files /dev/null and b/thirdparty/lib64/libopencore-amrnb.a differ diff --git a/thirdparty/lib64/libopencore-amrwb.a b/thirdparty/lib64/libopencore-amrwb.a new file mode 100644 index 00000000..6db3593b Binary files /dev/null and b/thirdparty/lib64/libopencore-amrwb.a differ -- cgit v1.2.3