libg722_1 0.1.0
broadvoice/broadvoice.h
1/*
2 * broadvoice - a library for the BroadVoice 16 and 32 codecs
3 *
4 * broadvoice.h -
5 *
6 * Adapted by Steve Underwood <steveu@coppice.org> from code which is
7 * Copyright 2000-2009 Broadcom Corporation
8 *
9 * All rights reserved.
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 2.1,
13 * as published by the Free Software Foundation.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this program; if not, write to the Free Software
22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 *
24 * $Id: broadvoice.h,v 1.1.1.1 2009/11/19 12:10:48 steveu Exp $
25 */
26
27#if !defined(_BROADVOICE_BROADVOICE_H_)
28#define _BROADVOICE_BROADVOICE_H_
29
30#if defined(_M_IX86) || defined(_M_X64)
31#if defined(BROADVOICE_EXPORTS)
32#define BV_DECLARE(type) __declspec(dllexport) type __stdcall
33#define BV_DECLARE_NONSTD(type) __declspec(dllexport) type __cdecl
34#define BV_DECLARE_DATA __declspec(dllexport)
35#else
36#define BV_DECLARE(type) __declspec(dllimport) type __stdcall
37#define BV_DECLARE_NONSTD(type) __declspec(dllimport) type __cdecl
38#define BV_DECLARE_DATA __declspec(dllimport)
39#endif
40#elif defined(BROADVOICE_USE_EXPORT_CAPABILITY) && (defined(__GNUC__) || defined(__SUNCC__))
41#define BV_DECLARE(type) __attribute__((visibility("default"))) type
42#define BV_DECLARE_NONSTD(type) __attribute__((visibility("default"))) type
43#define BV_DECLARE_DATA __attribute__((visibility("default")))
44#else
45#define BV_DECLARE(type) /**/ type
46#define BV_DECLARE_NONSTD(type) /**/ type
47#define BV_DECLARE_DATA /**/
48#endif
49
50typedef struct bv16_encode_state_s bv16_encode_state_t;
51typedef struct bv16_decode_state_s bv16_decode_state_t;
52typedef struct bv32_encode_state_s bv32_encode_state_t;
53typedef struct bv32_decode_state_s bv32_decode_state_t;
54
55#define BV16_FRAME_LEN 40
56#define BV32_FRAME_LEN 80
57
58#if defined(__cplusplus)
59extern "C"
60{
61#endif
62
63BV_DECLARE(bv16_encode_state_t *) bv16_encode_init(bv16_encode_state_t *s);
64
65BV_DECLARE(int) bv16_encode(bv16_encode_state_t *cs,
66 uint8_t *out,
67 const int16_t amp[],
68 int len);
69
70BV_DECLARE(int) bv16_encode_release(bv16_encode_state_t *s);
71
72BV_DECLARE(int) bv16_encode_free(bv16_encode_state_t *s);
73
74
75BV_DECLARE(bv16_decode_state_t *) bv16_decode_init(bv16_decode_state_t *s);
76
77BV_DECLARE(int) bv16_decode(bv16_decode_state_t *s,
78 int16_t amp[],
79 const uint8_t *in,
80 int len);
81
82BV_DECLARE(int) bv16_fillin(bv16_decode_state_t *s,
83 int16_t amp[],
84 int len);
85
86BV_DECLARE(int) bv16_decode_release(bv16_decode_state_t *s);
87
88BV_DECLARE(int) bv16_decode_free(bv16_decode_state_t *s);
89
90
91BV_DECLARE(bv32_encode_state_t *) bv32_encode_init(bv32_encode_state_t *s);
92
93BV_DECLARE(int) bv32_encode(bv32_encode_state_t *s,
94 uint8_t *out,
95 const int16_t amp[],
96 int len);
97
98BV_DECLARE(int) bv32_encode_release(bv32_encode_state_t *s);
99
100BV_DECLARE(int) bv32_encode_free(bv32_encode_state_t *s);
101
102
103BV_DECLARE(bv32_decode_state_t *) bv32_decode_init(bv32_decode_state_t *s);
104
105BV_DECLARE(int) bv32_decode(bv32_decode_state_t *s,
106 int16_t amp[],
107 const uint8_t *in,
108 int len);
109
110BV_DECLARE(int) bv32_fillin(bv32_decode_state_t *ds,
111 int16_t amp[],
112 int len);
113
114BV_DECLARE(int) bv32_decode_release(bv32_decode_state_t *s);
115
116BV_DECLARE(int) bv32_decode_free(bv32_decode_state_t *s);
117
118#if defined(__cplusplus)
119}
120#endif
121
122#endif
123/*- End of file ------------------------------------------------------------*/
Definition broadvoice/private/broadvoice.h:72
Definition broadvoice/private/broadvoice.h:101
Definition broadvoice/private/broadvoice.h:129
Definition broadvoice/private/broadvoice.h:157