webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
modes.h
Go to the documentation of this file.
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 
54  int overlap;
55 
56  int nbEBands;
57  int effEBands;
59  const opus_int16 *eBands;
61  int maxLM;
64 
66  const unsigned char *allocVectors;
67  const opus_int16 *logN;
68 
72 };
73 
74 
75 #endif
Opus reference implementation types.
const unsigned char * allocVectors
Definition: modes.h:66
const opus_int16 * eBands
Definition: modes.h:59
short opus_int16
Definition: opus_types.h:144
mdct_lookup mdct
Definition: modes.h:70
Contains all the functions for encoding and decoding audio.
int nbAllocVectors
Definition: modes.h:65
int overlap
Definition: modes.h:54
PulseCache cache
Definition: modes.h:71
Mode definition.
Definition: modes.h:52
int nbEBands
Definition: modes.h:56
const opus_val16 * window
Definition: modes.h:69
Definition: modes.h:42
float opus_val16
Definition: arch.h:148
const opus_int16 * logN
Definition: modes.h:67
int opus_int32
Definition: opus_types.h:146
int nbShortMdcts
Definition: modes.h:62
int size
Definition: modes.h:43
const opus_int16 * index
Definition: modes.h:44
Various architecture definitions for CELT.
opus_val16 preemph[4]
Definition: modes.h:58
opus_int32 Fs
Definition: modes.h:53
int maxLM
Definition: modes.h:61
const unsigned char * caps
Definition: modes.h:46
Definition: mdct.h:49
const unsigned char * bits
Definition: modes.h:45
int effEBands
Definition: modes.h:57
int shortMdctSize
Definition: modes.h:63