broadvoice/broadvoice.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #if !defined(_BROADVOICE_BROADVOICE_H_)
00028 #define _BROADVOICE_BROADVOICE_H_
00029
00030 #if defined(_M_IX86) || defined(_M_X64)
00031 #if defined(BROADVOICE_EXPORTS)
00032 #define BV_DECLARE(type) __declspec(dllexport) type __stdcall
00033 #define BV_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl
00034 #define BV_DECLARE_DATA __declspec(dllexport)
00035 #else
00036 #define BV_DECLARE(type) __declspec(dllimport) type __stdcall
00037 #define BV_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl
00038 #define BV_DECLARE_DATA __declspec(dllimport)
00039 #endif
00040 #elif defined(BROADVOICE_USE_EXPORT_CAPABILITY) && (defined(__GNUC__) || defined(__SUNCC__))
00041 #define BV_DECLARE(type) __attribute__((visibility("default"))) type
00042 #define BV_DECLARE_NONSTD(type) __attribute__((visibility("default"))) type
00043 #define BV_DECLARE_DATA __attribute__((visibility("default")))
00044 #else
00045 #define BV_DECLARE(type) type
00046 #define BV_DECLARE_NONSTD(type) type
00047 #define BV_DECLARE_DATA
00048 #endif
00049
00050 typedef struct bv16_encode_state_s bv16_encode_state_t;
00051 typedef struct bv16_decode_state_s bv16_decode_state_t;
00052 typedef struct bv32_encode_state_s bv32_encode_state_t;
00053 typedef struct bv32_decode_state_s bv32_decode_state_t;
00054
00055 #define BV16_FRAME_LEN 40
00056 #define BV32_FRAME_LEN 80
00057
00058 #if defined(__cplusplus)
00059 extern "C"
00060 {
00061 #endif
00062
00063 BV_DECLARE(bv16_encode_state_t *) bv16_encode_init(bv16_encode_state_t *s);
00064
00065 BV_DECLARE(int) bv16_encode(bv16_encode_state_t *cs,
00066 uint8_t *out,
00067 const int16_t amp[],
00068 int len);
00069
00070 BV_DECLARE(int) bv16_encode_release(bv16_encode_state_t *s);
00071
00072 BV_DECLARE(int) bv16_encode_free(bv16_encode_state_t *s);
00073
00074
00075 BV_DECLARE(bv16_decode_state_t *) bv16_decode_init(bv16_decode_state_t *s);
00076
00077 BV_DECLARE(int) bv16_decode(bv16_decode_state_t *s,
00078 int16_t amp[],
00079 const uint8_t *in,
00080 int len);
00081
00082 BV_DECLARE(int) bv16_fillin(bv16_decode_state_t *s,
00083 int16_t amp[],
00084 int len);
00085
00086 BV_DECLARE(int) bv16_decode_release(bv16_decode_state_t *s);
00087
00088 BV_DECLARE(int) bv16_decode_free(bv16_decode_state_t *s);
00089
00090
00091 BV_DECLARE(bv32_encode_state_t *) bv32_encode_init(bv32_encode_state_t *s);
00092
00093 BV_DECLARE(int) bv32_encode(bv32_encode_state_t *s,
00094 uint8_t *out,
00095 const int16_t amp[],
00096 int len);
00097
00098 BV_DECLARE(int) bv32_encode_release(bv32_encode_state_t *s);
00099
00100 BV_DECLARE(int) bv32_encode_free(bv32_encode_state_t *s);
00101
00102
00103 BV_DECLARE(bv32_decode_state_t *) bv32_decode_init(bv32_decode_state_t *s);
00104
00105 BV_DECLARE(int) bv32_decode(bv32_decode_state_t *s,
00106 int16_t amp[],
00107 const uint8_t *in,
00108 int len);
00109
00110 BV_DECLARE(int) bv32_fillin(bv32_decode_state_t *ds,
00111 int16_t amp[],
00112 int len);
00113
00114 BV_DECLARE(int) bv32_decode_release(bv32_decode_state_t *s);
00115
00116 BV_DECLARE(int) bv32_decode_free(bv32_decode_state_t *s);
00117
00118 #if defined(__cplusplus)
00119 }
00120 #endif
00121
00122 #endif
00123