Developer World
Spresense SDK Library v3.2.0-ebc0364
wav_containerformat_common.h
1/****************************************************************************
2 * modules/include/audio/utilities/wav_containerformat_common.h
3 *
4 * Copyright 2018 Sony Semiconductor Solutions Corporation
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 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 * 3. Neither the name of Sony Semiconductor Solutions Corporation nor
17 * the names of its contributors may be used to endorse or promote
18 * products derived from this software without specific prior written
19 * permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
28 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
33 *
34 ****************************************************************************/
35
36#ifndef MODULES_INCLUDE_AUDIO_UTILITIES_WAV_CONTAINERFORMAT_COMMON_H
37#define MODULES_INCLUDE_AUDIO_UTILITIES_WAV_CONTAINERFORMAT_COMMON_H
38
39/* Wav format */
40
41#define WAVE_FORMAT_UNKNOWN 0x0000
42#define WAVE_FORMAT_PCM 0x0001
43#define WAVE_FORMAT_MS_ADPCM 0x0002
44#define WAVE_FORMAT_IEEE_FLOAT 0x0003
45#define WAVE_FORMAT_VSELP 0x0004
46#define WAVE_FORMAT_IBM_CVSD 0x0005
47#define WAVE_FORMAT_ALAW 0x0006
48#define WAVE_FORMAT_MULAW 0x0007
49#define WAVE_FORMAT_OKI_ADPCM 0x0010
50#define WAVE_FORMAT_IMA_ADPCM 0x0011
51#define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012
52#define WAVE_FORMAT_SIERRA_ADPCM 0x0013
53#define WAVE_FORMAT_G723_ADPCM 0x0014
54#define WAVE_FORMAT_DIGISTD 0x0015
55#define WAVE_FORMAT_DIGIFIX 0x0016
56#define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017
57#define WAVE_FORMAT_MEDIAVISION_ADPCM 0x0018
58#define WAVE_FORMAT_CU_CODEC 0x0019
59#define WAVE_FORMAT_YAMAHA_ADPCM 0x0020
60#define WAVE_FORMAT_SONARC 0x0021
61#define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022
62#define WAVE_FORMAT_ECHOSC1 0x0023
63#define WAVE_FORMAT_AUDIOFILE_AF36 0x0024
64#define WAVE_FORMAT_APTX 0x0025
65#define WAVE_FORMAT_AUDIOFILE_AF10 0x0026
66#define WAVE_FORMAT_PROSODY_1612 0x0027
67#define WAVE_FORMAT_LRC 0x0028
68#define WAVE_FORMAT_DOLBY_AC2 0x0030
69#define WAVE_FORMAT_GSM610 0x0031
70#define WAVE_FORMAT_MSNAUDIO 0x0032
71#define WAVE_FORMAT_ANTEX_ADPCME 0x0033
72#define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034
73#define WAVE_FORMAT_DIGIREAL 0x0035
74#define WAVE_FORMAT_DIGIADPCM 0x0036
75#define WAVE_FORMAT_CONTROL_RES_CR10 0x0037
76#define WAVE_FORMAT_NMS_VBXADPCM 0x0038
77#define WAVE_FORMAT_ROLAND_RDAC 0x0039
78#define WAVE_FORMAT_ECHOSC3 0x003A
79#define WAVE_FORMAT_ROCKWELL_ADPCM 0x003B
80#define WAVE_FORMAT_ROCKWELL_DIGITALK 0x003C
81#define WAVE_FORMAT_XEBEC 0x003D
82#define WAVE_FORMAT_G721_ADPCM 0x0040
83#define WAVE_FORMAT_G728_CELP 0x0041
84#define WAVE_FORMAT_MSG723 0x0042
85#define WAVE_FORMAT_MPEG 0x0050
86#define WAVE_FORMAT_RT24 0x0052
87#define WAVE_FORMAT_PAC 0x0053
88#define WAVE_FORMAT_MPEGLAYER3 0x0055
89#define WAVE_FORMAT_LUCENT_G723 0x0059
90#define WAVE_FORMAT_CIRRUS 0x0060
91#define WAVE_FORMAT_ESPCM 0x0061
92#define WAVE_FORMAT_VOXWARE 0x0062
93#define WAVE_FORMAT_CANOPUS_ATRAC 0x0063
94#define WAVE_FORMAT_G726_ADPCM 0x0064
95#define WAVE_FORMAT_G722_ADPCM 0x0065
96#define WAVE_FORMAT_DSAT 0x0066
97#define WAVE_FORMAT_DSAT_DISPLAY 0x0067
98#define WAVE_FORMAT_VOXWARE_BYTE_ALIGNED 0x0069
99#define WAVE_FORMAT_VOXWARE_AC8 0x0070
100#define WAVE_FORMAT_VOXWARE_AC10 0x0071
101#define WAVE_FORMAT_VOXWARE_AC16 0x0072
102#define WAVE_FORMAT_VOXWARE_AC20 0x0073
103#define WAVE_FORMAT_VOXWARE_RT24 0x0074
104#define WAVE_FORMAT_VOXWARE_RT29 0x0075
105#define WAVE_FORMAT_VOXWARE_RT29HW 0x0076
106#define WAVE_FORMAT_VOXWARE_VR12 0x0077
107#define WAVE_FORMAT_VOXWARE_VR18 0x0078
108#define WAVE_FORMAT_VOXWARE_TQ40 0x0079
109#define WAVE_FORMAT_SOFTSOUND 0x0080
110#define WAVE_FORMAT_VOXARE_TQ60 0x0081
111#define WAVE_FORMAT_MSRT24 0x0082
112#define WAVE_FORMAT_G729A 0x0083
113#define WAVE_FORMAT_MVI_MV12 0x0084
114#define WAVE_FORMAT_DF_G726 0x0085
115#define WAVE_FORMAT_DF_GSM610 0x0086
116#define WAVE_FORMAT_ONLIVE 0x0089
117#define WAVE_FORMAT_SBC24 0x0091
118#define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092
119#define WAVE_FORMAT_ZYXEL_ADPCM 0x0097
120#define WAVE_FORMAT_PHILIPS_LPCBB 0x0098
121#define WAVE_FORMAT_PACKED 0x0099
122#define WAVE_FORMAT_RHETOREX_ADPCM 0x0100
123#define WAVE_FORMAT_IBM_MULAW 0x0101
124#define WAVE_FORMAT_IBM_ALAW 0x0102
125#define WAVE_FORMAT_IBM_ADPCM 0x0103
126#define WAVE_FORMAT_VIVO_G723 0x0111
127#define WAVE_FORMAT_VIVO_SIREN 0x0112
128#define WAVE_FORMAT_DIGITAL_G723 0x0123
129#define WAVE_FORMAT_CREATIVE_ADPCM 0x0200
130#define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202
131#define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203
132#define WAVE_FORMAT_QUARTERDECK 0x0220
133#define WAVE_FORMAT_FM_TOWNS_SND 0x0300
134#define WAVE_FORMAT_BZV_DIGITAL 0x0400
135#define WAVE_FORMAT_VME_VMPCM 0x0680
136#define WAVE_FORMAT_OLIGSM 0x1000
137#define WAVE_FORMAT_OLIADPCM 0x1001
138#define WAVE_FORMAT_OLICELP 0x1002
139#define WAVE_FORMAT_OLISBC 0x1003
140#define WAVE_FORMAT_OLIOPR 0x1004
141#define WAVE_FORMAT_LH_CODEC 0x1100
142#define WAVE_FORMAT_NORRIS 0x1400
143#define WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS 0x1500
144#define WAVE_FORMAT_DVM 0x2000
145#define WAVE_FORMAT_EXTENSIBLE 0xFFFE
146
147/* Required chunk. */
148
149#define CHUNKID_RIFF 0x46464952
150#define FORMAT_WAVE 0x45564157
151#define SUBCHUNKID_FMT 0x20746D66
152#define SUBCHUNKID_DATA 0x61746164
154/* Option chunk. */
155
156#define SUBCHUNKID_JUNK 0x4B4E554A
157#define SUBCHUNKID_LIST 0x5453494C
158#define SUBCHUNKID_ID3 0x20336469
159#define SUBCHUNKID_FACT 0x74636166
160#define SUBCHUNKID_PLST 0x74736C70
161#define SUBCHUNKID_CUE 0x20657563
162#define SUBCHUNKID_LABL 0x6C62616C
163#define SUBCHUNKID_NOTE 0x65746F6E
164#define SUBCHUNKID_LTXT 0x7478746C
165#define SUBCHUNKID_SMPL 0x6C706D73
166#define SUBCHUNKID_INST 0x74736E69
167#define SUBCHUNKID_BEXT 0x74786562
168#define SUBCHUNKID_IXML 0x4C4D5869
169#define SUBCHUNKID_QLTY 0x79746C71
170#define SUBCHUNKID_MEXT 0x7478656D
171#define SUBCHUNKID_LEVL 0x6C76656C
172#define SUBCHUNKID_LINK 0x6B6E696C
173#define SUBCHUNKID_AXML 0x6C6D7861
174#define SUBCHUNKID_CONT 0x746E6F63
176/* Channel number */
177
178#define CHANNEL_1CH 1
179#define CHANNEL_2CH 2
180#define CHANNEL_4CH 4
181#define CHANNEL_6CH 6
182#define CHANNEL_8CH 8
183
184/* Sampling rate */
185
186#define SAMPLINGRATE_8000 8000
187#define SAMPLINGRATE_11025 11025
188#define SAMPLINGRATE_12000 12000
189#define SAMPLINGRATE_16000 16000
190#define SAMPLINGRATE_22050 22050
191#define SAMPLINGRATE_24000 24000
192#define SAMPLINGRATE_32000 32000
193#define SAMPLINGRATE_44100 44100
194#define SAMPLINGRATE_48000 48000
195#define SAMPLINGRATE_64000 64000
196#define SAMPLINGRATE_88200 88200
197#define SAMPLINGRATE_96000 96000
198#define SAMPLINGRATE_128000 128000
199#define SAMPLINGRATE_176400 176400
200#define SAMPLINGRATE_192000 192000
202/* Bit width */
203
204#define BIT_WIDTH_16 16
205#define BIT_WIDTH_24 24
206#define BIT_WIDTH_32 32
207
208#endif /* MODULES_INCLUDE_AUDIO_UTILITIES_WAV_CONTAINERFORMAT_COMMON_H */