Mercurial > hg > sv-dependency-builds
comparison src/opus-1.3/celt/modes.h @ 154:4664ac0c1032
Add Opus sources and macOS builds
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Wed, 23 Jan 2019 13:48:08 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
153:84bc3a5ec321 | 154:4664ac0c1032 |
---|---|
1 /* Copyright (c) 2007-2008 CSIRO | |
2 Copyright (c) 2007-2009 Xiph.Org Foundation | |
3 Copyright (c) 2008 Gregory Maxwell | |
4 Written by Jean-Marc Valin and Gregory Maxwell */ | |
5 /* | |
6 Redistribution and use in source and binary forms, with or without | |
7 modification, are permitted provided that the following conditions | |
8 are met: | |
9 | |
10 - Redistributions of source code must retain the above copyright | |
11 notice, this list of conditions and the following disclaimer. | |
12 | |
13 - Redistributions in binary form must reproduce the above copyright | |
14 notice, this list of conditions and the following disclaimer in the | |
15 documentation and/or other materials provided with the distribution. | |
16 | |
17 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
18 ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
19 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |
20 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER | |
21 OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
22 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
23 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | |
24 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | |
25 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
26 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
27 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
28 */ | |
29 | |
30 #ifndef MODES_H | |
31 #define MODES_H | |
32 | |
33 #include "opus_types.h" | |
34 #include "celt.h" | |
35 #include "arch.h" | |
36 #include "mdct.h" | |
37 #include "entenc.h" | |
38 #include "entdec.h" | |
39 | |
40 #define MAX_PERIOD 1024 | |
41 | |
42 typedef struct { | |
43 int size; | |
44 const opus_int16 *index; | |
45 const unsigned char *bits; | |
46 const unsigned char *caps; | |
47 } PulseCache; | |
48 | |
49 /** Mode definition (opaque) | |
50 @brief Mode definition | |
51 */ | |
52 struct OpusCustomMode { | |
53 opus_int32 Fs; | |
54 int overlap; | |
55 | |
56 int nbEBands; | |
57 int effEBands; | |
58 opus_val16 preemph[4]; | |
59 const opus_int16 *eBands; /**< Definition for each "pseudo-critical band" */ | |
60 | |
61 int maxLM; | |
62 int nbShortMdcts; | |
63 int shortMdctSize; | |
64 | |
65 int nbAllocVectors; /**< Number of lines in the matrix below */ | |
66 const unsigned char *allocVectors; /**< Number of bits in each band for several rates */ | |
67 const opus_int16 *logN; | |
68 | |
69 const opus_val16 *window; | |
70 mdct_lookup mdct; | |
71 PulseCache cache; | |
72 }; | |
73 | |
74 | |
75 #endif |