summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/libflac/doc/html/api/format_8h-source.html
blob: f99cf938dfe0e06a84159eb6b2950c9b22aa63dd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>FLAC: include/FLAC/format.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.2 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">include</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">FLAC</a></div>
<h1>format.h</h1><a href="format_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/* libFLAC - Free Lossless Audio Codec library</span>
00002 <span class="comment"> * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson</span>
00003 <span class="comment"> *</span>
00004 <span class="comment"> * Redistribution and use in source and binary forms, with or without</span>
00005 <span class="comment"> * modification, are permitted provided that the following conditions</span>
00006 <span class="comment"> * are met:</span>
00007 <span class="comment"> *</span>
00008 <span class="comment"> * - Redistributions of source code must retain the above copyright</span>
00009 <span class="comment"> * notice, this list of conditions and the following disclaimer.</span>
00010 <span class="comment"> *</span>
00011 <span class="comment"> * - Redistributions in binary form must reproduce the above copyright</span>
00012 <span class="comment"> * notice, this list of conditions and the following disclaimer in the</span>
00013 <span class="comment"> * documentation and/or other materials provided with the distribution.</span>
00014 <span class="comment"> *</span>
00015 <span class="comment"> * - Neither the name of the Xiph.org Foundation nor the names of its</span>
00016 <span class="comment"> * contributors may be used to endorse or promote products derived from</span>
00017 <span class="comment"> * this software without specific prior written permission.</span>
00018 <span class="comment"> *</span>
00019 <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
00020 <span class="comment"> * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
00021 <span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span>
00022 <span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR</span>
00023 <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
00024 <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
00025 <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
00026 <span class="comment"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
00027 <span class="comment"> * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
00028 <span class="comment"> * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
00029 <span class="comment"> * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
00030 <span class="comment"> */</span>
00031 
00032 <span class="preprocessor">#ifndef FLAC__FORMAT_H</span>
00033 <span class="preprocessor"></span><span class="preprocessor">#define FLAC__FORMAT_H</span>
00034 <span class="preprocessor"></span>
00035 <span class="preprocessor">#include "<a class="code" href="export_8h.html">export.h</a>"</span>
00036 <span class="preprocessor">#include "ordinals.h"</span>
00037 
00038 <span class="preprocessor">#ifdef __cplusplus</span>
00039 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
00040 <span class="preprocessor">#endif</span>
00041 <span class="preprocessor"></span>
00086 <span class="comment">/*</span>
00087 <span class="comment">    Most of the values described in this file are defined by the FLAC</span>
00088 <span class="comment">    format specification.  There is nothing to tune here.</span>
00089 <span class="comment">*/</span>
00090 
<a name="l00092"></a><a class="code" href="group__flac__format.html#ga89">00092</a> <span class="preprocessor">#define FLAC__MAX_METADATA_TYPE_CODE (126u)</span>
00093 <span class="preprocessor"></span>
<a name="l00095"></a><a class="code" href="group__flac__format.html#ga90">00095</a> <span class="preprocessor">#define FLAC__MIN_BLOCK_SIZE (16u)</span>
00096 <span class="preprocessor"></span>
<a name="l00098"></a><a class="code" href="group__flac__format.html#ga91">00098</a> <span class="preprocessor">#define FLAC__MAX_BLOCK_SIZE (65535u)</span>
00099 <span class="preprocessor"></span>
<a name="l00102"></a><a class="code" href="group__flac__format.html#ga92">00102</a> <span class="preprocessor">#define FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ (4608u)</span>
00103 <span class="preprocessor"></span>
<a name="l00105"></a><a class="code" href="group__flac__format.html#ga93">00105</a> <span class="preprocessor">#define FLAC__MAX_CHANNELS (8u)</span>
00106 <span class="preprocessor"></span>
<a name="l00108"></a><a class="code" href="group__flac__format.html#ga94">00108</a> <span class="preprocessor">#define FLAC__MIN_BITS_PER_SAMPLE (4u)</span>
00109 <span class="preprocessor"></span>
<a name="l00111"></a><a class="code" href="group__flac__format.html#ga95">00111</a> <span class="preprocessor">#define FLAC__MAX_BITS_PER_SAMPLE (32u)</span>
00112 <span class="preprocessor"></span>
<a name="l00121"></a><a class="code" href="group__flac__format.html#ga96">00121</a> <span class="preprocessor">#define FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE (24u)</span>
00122 <span class="preprocessor"></span>
<a name="l00127"></a><a class="code" href="group__flac__format.html#ga97">00127</a> <span class="preprocessor">#define FLAC__MAX_SAMPLE_RATE (655350u)</span>
00128 <span class="preprocessor"></span>
<a name="l00130"></a><a class="code" href="group__flac__format.html#ga98">00130</a> <span class="preprocessor">#define FLAC__MAX_LPC_ORDER (32u)</span>
00131 <span class="preprocessor"></span>
<a name="l00134"></a><a class="code" href="group__flac__format.html#ga99">00134</a> <span class="preprocessor">#define FLAC__SUBSET_MAX_LPC_ORDER_48000HZ (12u)</span>
00135 <span class="preprocessor"></span>
<a name="l00139"></a><a class="code" href="group__flac__format.html#ga100">00139</a> <span class="preprocessor">#define FLAC__MIN_QLP_COEFF_PRECISION (5u)</span>
00140 <span class="preprocessor"></span>
<a name="l00144"></a><a class="code" href="group__flac__format.html#ga101">00144</a> <span class="preprocessor">#define FLAC__MAX_QLP_COEFF_PRECISION (15u)</span>
00145 <span class="preprocessor"></span>
<a name="l00147"></a><a class="code" href="group__flac__format.html#ga102">00147</a> <span class="preprocessor">#define FLAC__MAX_FIXED_ORDER (4u)</span>
00148 <span class="preprocessor"></span>
<a name="l00150"></a><a class="code" href="group__flac__format.html#ga103">00150</a> <span class="preprocessor">#define FLAC__MAX_RICE_PARTITION_ORDER (15u)</span>
00151 <span class="preprocessor"></span>
<a name="l00153"></a><a class="code" href="group__flac__format.html#ga104">00153</a> <span class="preprocessor">#define FLAC__SUBSET_MAX_RICE_PARTITION_ORDER (8u)</span>
00154 <span class="preprocessor"></span>
00161 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__flac__format.html#ga0">FLAC__VERSION_STRING</a>;
00162 
00167 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__flac__format.html#ga1">FLAC__VENDOR_STRING</a>;
00168 
00170 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> FLAC__byte <a class="code" href="group__flac__format.html#ga2">FLAC__STREAM_SYNC_STRING</a>[4]; <span class="comment">/* = "fLaC" */</span>
00171 
00175 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga3">FLAC__STREAM_SYNC</a>; <span class="comment">/* = 0x664C6143 */</span>
00176 
00178 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga4">FLAC__STREAM_SYNC_LEN</a>; <span class="comment">/* = 32 bits */</span>
00179 
<a name="l00181"></a><a class="code" href="group__flac__format.html#ga105">00181</a> <span class="preprocessor">#define FLAC__STREAM_SYNC_LENGTH (4u)</span>
00182 <span class="preprocessor"></span>
00183 
00184 <span class="comment">/*****************************************************************************</span>
00185 <span class="comment"> *</span>
00186 <span class="comment"> * Subframe structures</span>
00187 <span class="comment"> *</span>
00188 <span class="comment"> *****************************************************************************/</span>
00189 
00190 <span class="comment">/*****************************************************************************/</span>
00191 
<a name="l00193"></a><a class="code" href="group__flac__format.html#ga109">00193</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00194     <a class="code" href="group__flac__format.html#gga109a100">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE</a> = 0,
00198     <a class="code" href="group__flac__format.html#gga109a101">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2</a> = 1
00201 } <a class="code" href="group__flac__format.html#ga109">FLAC__EntropyCodingMethodType</a>;
00202 
00208 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga5">FLAC__EntropyCodingMethodTypeString</a>[];
00209 
00210 
<a name="l00213"></a><a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">00213</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00214 
00215     <span class="keywordtype">unsigned</span> *parameters;
00218     <span class="keywordtype">unsigned</span> *raw_bits;
00223     <span class="keywordtype">unsigned</span> capacity_by_order;
00228 } <a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a>;
00229 
<a name="l00232"></a><a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">00232</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00233 
00234     <span class="keywordtype">unsigned</span> order;
00237     <span class="keyword">const</span> <a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRiceContents.html">FLAC__EntropyCodingMethod_PartitionedRiceContents</a> *contents;
00240 } <a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a>;
00241 
00242 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga6">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN</a>; 
00243 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga7">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN</a>; 
00244 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga8">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN</a>; 
00245 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga9">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN</a>; 
00247 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga10">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER</a>;
00249 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga11">FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER</a>;
<a name="l00254"></a><a class="code" href="structFLAC____EntropyCodingMethod.html">00254</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00255     <a class="code" href="group__flac__format.html#ga109">FLAC__EntropyCodingMethodType</a> type;
00256     <span class="keyword">union </span>{
00257         <a class="code" href="structFLAC____EntropyCodingMethod__PartitionedRice.html">FLAC__EntropyCodingMethod_PartitionedRice</a> partitioned_rice;
00258     } data;
00259 } <a class="code" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a>;
00260 
00261 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga12">FLAC__ENTROPY_CODING_METHOD_TYPE_LEN</a>; 
00263 <span class="comment">/*****************************************************************************/</span>
00264 
<a name="l00266"></a><a class="code" href="group__flac__format.html#ga110">00266</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00267     <a class="code" href="group__flac__format.html#gga110a102">FLAC__SUBFRAME_TYPE_CONSTANT</a> = 0, 
00268     <a class="code" href="group__flac__format.html#gga110a103">FLAC__SUBFRAME_TYPE_VERBATIM</a> = 1, 
00269     <a class="code" href="group__flac__format.html#gga110a104">FLAC__SUBFRAME_TYPE_FIXED</a> = 2, 
00270     <a class="code" href="group__flac__format.html#gga110a105">FLAC__SUBFRAME_TYPE_LPC</a> = 3 
00271 } <a class="code" href="group__flac__format.html#ga110">FLAC__SubframeType</a>;
00272 
00278 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga13">FLAC__SubframeTypeString</a>[];
00279 
00280 
<a name="l00283"></a><a class="code" href="structFLAC____Subframe__Constant.html">00283</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00284"></a><a class="code" href="structFLAC____Subframe__Constant.html#FLAC____Subframe__Constanto0">00284</a>     FLAC__int32 value; 
00285 } <a class="code" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a>;
00286 
00287 
<a name="l00290"></a><a class="code" href="structFLAC____Subframe__Verbatim.html">00290</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
<a name="l00291"></a><a class="code" href="structFLAC____Subframe__Verbatim.html#FLAC____Subframe__Verbatimo0">00291</a>     <span class="keyword">const</span> FLAC__int32 *data; 
00292 } <a class="code" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a>;
00293 
00294 
<a name="l00297"></a><a class="code" href="structFLAC____Subframe__Fixed.html">00297</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00298     <a class="code" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a> entropy_coding_method;
00301     <span class="keywordtype">unsigned</span> order;
00304     FLAC__int32 warmup[<a class="code" href="group__flac__format.html#ga102">FLAC__MAX_FIXED_ORDER</a>];
00307     <span class="keyword">const</span> FLAC__int32 *residual;
00309 } <a class="code" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a>;
00310 
00311 
<a name="l00314"></a><a class="code" href="structFLAC____Subframe__LPC.html">00314</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00315     <a class="code" href="structFLAC____EntropyCodingMethod.html">FLAC__EntropyCodingMethod</a> entropy_coding_method;
00318     <span class="keywordtype">unsigned</span> order;
00321     <span class="keywordtype">unsigned</span> qlp_coeff_precision;
00324     <span class="keywordtype">int</span> quantization_level;
00327     FLAC__int32 qlp_coeff[<a class="code" href="group__flac__format.html#ga98">FLAC__MAX_LPC_ORDER</a>];
00330     FLAC__int32 warmup[<a class="code" href="group__flac__format.html#ga98">FLAC__MAX_LPC_ORDER</a>];
00333     <span class="keyword">const</span> FLAC__int32 *residual;
00335 } <a class="code" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a>;
00336 
00337 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga14">FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN</a>; 
00338 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga15">FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN</a>; 
<a name="l00343"></a><a class="code" href="structFLAC____Subframe.html">00343</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00344     <a class="code" href="group__flac__format.html#ga110">FLAC__SubframeType</a> type;
00345     <span class="keyword">union </span>{
00346         <a class="code" href="structFLAC____Subframe__Constant.html">FLAC__Subframe_Constant</a> constant;
00347         <a class="code" href="structFLAC____Subframe__Fixed.html">FLAC__Subframe_Fixed</a> fixed;
00348         <a class="code" href="structFLAC____Subframe__LPC.html">FLAC__Subframe_LPC</a> lpc;
00349         <a class="code" href="structFLAC____Subframe__Verbatim.html">FLAC__Subframe_Verbatim</a> verbatim;
00350     } data;
00351     <span class="keywordtype">unsigned</span> wasted_bits;
00352 } <a class="code" href="structFLAC____Subframe.html">FLAC__Subframe</a>;
00353 
00361 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga16">FLAC__SUBFRAME_ZERO_PAD_LEN</a>;
00362 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga17">FLAC__SUBFRAME_TYPE_LEN</a>; 
00363 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga18">FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN</a>; 
00365 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga19">FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK</a>; 
00366 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga20">FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK</a>; 
00367 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga21">FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK</a>; 
00368 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga22">FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK</a>; 
00370 <span class="comment">/*****************************************************************************/</span>
00371 
00372 
00373 <span class="comment">/*****************************************************************************</span>
00374 <span class="comment"> *</span>
00375 <span class="comment"> * Frame structures</span>
00376 <span class="comment"> *</span>
00377 <span class="comment"> *****************************************************************************/</span>
00378 
<a name="l00380"></a><a class="code" href="group__flac__format.html#ga111">00380</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00381     <a class="code" href="group__flac__format.html#gga111a106">FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT</a> = 0, 
00382     <a class="code" href="group__flac__format.html#gga111a107">FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE</a> = 1, 
00383     <a class="code" href="group__flac__format.html#gga111a108">FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE</a> = 2, 
00384     <a class="code" href="group__flac__format.html#gga111a109">FLAC__CHANNEL_ASSIGNMENT_MID_SIDE</a> = 3 
00385 } <a class="code" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a>;
00386 
00392 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga23">FLAC__ChannelAssignmentString</a>[];
00393 
<a name="l00395"></a><a class="code" href="group__flac__format.html#ga112">00395</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00396     <a class="code" href="group__flac__format.html#gga112a110">FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER</a>, 
00397     <a class="code" href="group__flac__format.html#gga112a111">FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER</a> 
00398 } <a class="code" href="group__flac__format.html#ga112">FLAC__FrameNumberType</a>;
00399 
00405 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga24">FLAC__FrameNumberTypeString</a>[];
00406 
00407 
<a name="l00410"></a><a class="code" href="structFLAC____FrameHeader.html">00410</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00411     <span class="keywordtype">unsigned</span> blocksize;
00414     <span class="keywordtype">unsigned</span> sample_rate;
00417     <span class="keywordtype">unsigned</span> channels;
00420     <a class="code" href="group__flac__format.html#ga111">FLAC__ChannelAssignment</a> channel_assignment;
00423     <span class="keywordtype">unsigned</span> bits_per_sample;
00426     FLAC__FrameNumberType number_type;
00431     <span class="keyword">union </span>{
00432         FLAC__uint32 frame_number;
00433         FLAC__uint64 sample_number;
00434     } number;
00438     FLAC__uint8 crc;
00443 } <a class="code" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a>;
00444 
00445 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga25">FLAC__FRAME_HEADER_SYNC</a>; 
00446 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga26">FLAC__FRAME_HEADER_SYNC_LEN</a>; 
00447 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga27">FLAC__FRAME_HEADER_RESERVED_LEN</a>; 
00448 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga28">FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN</a>; 
00449 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga29">FLAC__FRAME_HEADER_BLOCK_SIZE_LEN</a>; 
00450 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga30">FLAC__FRAME_HEADER_SAMPLE_RATE_LEN</a>; 
00451 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga31">FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN</a>; 
00452 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga32">FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN</a>; 
00453 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga33">FLAC__FRAME_HEADER_ZERO_PAD_LEN</a>; 
00454 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga34">FLAC__FRAME_HEADER_CRC_LEN</a>; 
<a name="l00459"></a><a class="code" href="structFLAC____FrameFooter.html">00459</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00460     FLAC__uint16 crc;
00465 } <a class="code" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a>;
00466 
00467 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga35">FLAC__FRAME_FOOTER_CRC_LEN</a>; 
<a name="l00472"></a><a class="code" href="structFLAC____Frame.html">00472</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00473     <a class="code" href="structFLAC____FrameHeader.html">FLAC__FrameHeader</a> header;
00474     <a class="code" href="structFLAC____Subframe.html">FLAC__Subframe</a> subframes[<a class="code" href="group__flac__format.html#ga93">FLAC__MAX_CHANNELS</a>];
00475     <a class="code" href="structFLAC____FrameFooter.html">FLAC__FrameFooter</a> footer;
00476 } <a class="code" href="structFLAC____Frame.html">FLAC__Frame</a>;
00477 
00478 <span class="comment">/*****************************************************************************/</span>
00479 
00480 
00481 <span class="comment">/*****************************************************************************</span>
00482 <span class="comment"> *</span>
00483 <span class="comment"> * Meta-data structures</span>
00484 <span class="comment"> *</span>
00485 <span class="comment"> *****************************************************************************/</span>
00486 
<a name="l00488"></a><a class="code" href="group__flac__format.html#ga113">00488</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00489 
00490     <a class="code" href="group__flac__format.html#gga113a112">FLAC__METADATA_TYPE_STREAMINFO</a> = 0,
00493     <a class="code" href="group__flac__format.html#gga113a113">FLAC__METADATA_TYPE_PADDING</a> = 1,
00496     <a class="code" href="group__flac__format.html#gga113a114">FLAC__METADATA_TYPE_APPLICATION</a> = 2,
00499     <a class="code" href="group__flac__format.html#gga113a115">FLAC__METADATA_TYPE_SEEKTABLE</a> = 3,
00502     <a class="code" href="group__flac__format.html#gga113a116">FLAC__METADATA_TYPE_VORBIS_COMMENT</a> = 4,
00505     <a class="code" href="group__flac__format.html#gga113a117">FLAC__METADATA_TYPE_CUESHEET</a> = 5,
00508     <a class="code" href="group__flac__format.html#gga113a118">FLAC__METADATA_TYPE_PICTURE</a> = 6,
00511     <a class="code" href="group__flac__format.html#gga113a119">FLAC__METADATA_TYPE_UNDEFINED</a> = 7
00514 } <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a>;
00515 
00521 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga36">FLAC__MetadataTypeString</a>[];
00522 
00523 
<a name="l00526"></a><a class="code" href="structFLAC____StreamMetadata__StreamInfo.html">00526</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00527     <span class="keywordtype">unsigned</span> min_blocksize, max_blocksize;
00528     <span class="keywordtype">unsigned</span> min_framesize, max_framesize;
00529     <span class="keywordtype">unsigned</span> sample_rate;
00530     <span class="keywordtype">unsigned</span> channels;
00531     <span class="keywordtype">unsigned</span> bits_per_sample;
00532     FLAC__uint64 total_samples;
00533     FLAC__byte md5sum[16];
00534 } <a class="code" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a>;
00535 
00536 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga37">FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN</a>; 
00537 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga38">FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN</a>; 
00538 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga39">FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN</a>; 
00539 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga40">FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN</a>; 
00540 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga41">FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN</a>; 
00541 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga42">FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN</a>; 
00542 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga43">FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN</a>; 
00543 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga44">FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN</a>; 
00544 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga45">FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN</a>; 
<a name="l00547"></a><a class="code" href="group__flac__format.html#ga106">00547</a> <span class="preprocessor">#define FLAC__STREAM_METADATA_STREAMINFO_LENGTH (34u)</span>
00548 <span class="preprocessor"></span>
<a name="l00551"></a><a class="code" href="structFLAC____StreamMetadata__Padding.html">00551</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00552     <span class="keywordtype">int</span> dummy;
00557 } <a class="code" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a>;
00558 
00559 
<a name="l00562"></a><a class="code" href="structFLAC____StreamMetadata__Application.html">00562</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00563     FLAC__byte <span class="keywordtype">id</span>[4];
00564     FLAC__byte *data;
00565 } <a class="code" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a>;
00566 
00567 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga46">FLAC__STREAM_METADATA_APPLICATION_ID_LEN</a>; 
<a name="l00571"></a><a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">00571</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00572     FLAC__uint64 sample_number;
00575     FLAC__uint64 stream_offset;
00579     <span class="keywordtype">unsigned</span> frame_samples;
00581 } <a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a>;
00582 
00583 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga47">FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN</a>; 
00584 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga48">FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN</a>; 
00585 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga49">FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN</a>; 
<a name="l00588"></a><a class="code" href="group__flac__format.html#ga107">00588</a> <span class="preprocessor">#define FLAC__STREAM_METADATA_SEEKPOINT_LENGTH (18u)</span>
00589 <span class="preprocessor"></span>
00594 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> FLAC__uint64 <a class="code" href="group__flac__format.html#ga50">FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER</a>;
00595 
00596 
<a name="l00609"></a><a class="code" href="structFLAC____StreamMetadata__SeekTable.html">00609</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00610     <span class="keywordtype">unsigned</span> num_points;
00611     <a class="code" href="structFLAC____StreamMetadata__SeekPoint.html">FLAC__StreamMetadata_SeekPoint</a> *points;
00612 } <a class="code" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a>;
00613 
00614 
<a name="l00621"></a><a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">00621</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00622     FLAC__uint32 length;
00623     FLAC__byte *entry;
00624 } <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a>;
00625 
00626 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga51">FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN</a>; 
<a name="l00631"></a><a class="code" href="structFLAC____StreamMetadata__VorbisComment.html">00631</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00632     <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> vendor_string;
00633     FLAC__uint32 num_comments;
00634     <a class="code" href="structFLAC____StreamMetadata__VorbisComment__Entry.html">FLAC__StreamMetadata_VorbisComment_Entry</a> *comments;
00635 } <a class="code" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a>;
00636 
00637 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga52">FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN</a>; 
<a name="l00644"></a><a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">00644</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00645     FLAC__uint64 offset;
00650     FLAC__byte number;
00652 } <a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a>;
00653 
00654 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga53">FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN</a>; 
00655 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga54">FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN</a>; 
00656 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga55">FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN</a>; 
<a name="l00663"></a><a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">00663</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00664     FLAC__uint64 offset;
00667     FLAC__byte number;
00670     <span class="keywordtype">char</span> isrc[13];
00673     <span class="keywordtype">unsigned</span> type:1;
00676     <span class="keywordtype">unsigned</span> pre_emphasis:1;
00679     FLAC__byte num_indices;
00682     <a class="code" href="structFLAC____StreamMetadata__CueSheet__Index.html">FLAC__StreamMetadata_CueSheet_Index</a> *indices;
00685 } <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a>;
00686 
00687 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga56">FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN</a>; 
00688 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga57">FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN</a>; 
00689 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga58">FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN</a>; 
00690 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga59">FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN</a>; 
00691 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga60">FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN</a>; 
00692 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga61">FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN</a>; 
00693 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga62">FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN</a>; 
<a name="l00700"></a><a class="code" href="structFLAC____StreamMetadata__CueSheet.html">00700</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00701     <span class="keywordtype">char</span> media_catalog_number[129];
00707     FLAC__uint64 lead_in;
00710     FLAC__bool is_cd;
00713     <span class="keywordtype">unsigned</span> num_tracks;
00716     <a class="code" href="structFLAC____StreamMetadata__CueSheet__Track.html">FLAC__StreamMetadata_CueSheet_Track</a> *tracks;
00719 } <a class="code" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a>;
00720 
00721 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga63">FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN</a>; 
00722 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga64">FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN</a>; 
00723 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga65">FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN</a>; 
00724 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga66">FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN</a>; 
00725 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga67">FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN</a>; 
<a name="l00729"></a><a class="code" href="group__flac__format.html#ga114">00729</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00730     <a class="code" href="group__flac__format.html#gga114a120">FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER</a> = 0, 
00731     <a class="code" href="group__flac__format.html#gga114a121">FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD</a> = 1, 
00732     <a class="code" href="group__flac__format.html#gga114a122">FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON</a> = 2, 
00733     <a class="code" href="group__flac__format.html#gga114a123">FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER</a> = 3, 
00734     <a class="code" href="group__flac__format.html#gga114a124">FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER</a> = 4, 
00735     <a class="code" href="group__flac__format.html#gga114a125">FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE</a> = 5, 
00736     <a class="code" href="group__flac__format.html#gga114a126">FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA</a> = 6, 
00737     <a class="code" href="group__flac__format.html#gga114a127">FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST</a> = 7, 
00738     <a class="code" href="group__flac__format.html#gga114a128">FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST</a> = 8, 
00739     <a class="code" href="group__flac__format.html#gga114a129">FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR</a> = 9, 
00740     <a class="code" href="group__flac__format.html#gga114a130">FLAC__STREAM_METADATA_PICTURE_TYPE_BAND</a> = 10, 
00741     <a class="code" href="group__flac__format.html#gga114a131">FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER</a> = 11, 
00742     <a class="code" href="group__flac__format.html#gga114a132">FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST</a> = 12, 
00743     <a class="code" href="group__flac__format.html#gga114a133">FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION</a> = 13, 
00744     <a class="code" href="group__flac__format.html#gga114a134">FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING</a> = 14, 
00745     <a class="code" href="group__flac__format.html#gga114a135">FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE</a> = 15, 
00746     <a class="code" href="group__flac__format.html#gga114a136">FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE</a> = 16, 
00747     <a class="code" href="group__flac__format.html#gga114a137">FLAC__STREAM_METADATA_PICTURE_TYPE_FISH</a> = 17, 
00748     <a class="code" href="group__flac__format.html#gga114a138">FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION</a> = 18, 
00749     <a class="code" href="group__flac__format.html#gga114a139">FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE</a> = 19, 
00750     <a class="code" href="group__flac__format.html#gga114a140">FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE</a> = 20, 
00751     FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED
00752 } <a class="code" href="group__flac__format.html#ga114">FLAC__StreamMetadata_Picture_Type</a>;
00753 
00760 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="group__flac__format.html#ga68">FLAC__StreamMetadata_Picture_TypeString</a>[];
00761 
<a name="l00766"></a><a class="code" href="structFLAC____StreamMetadata__Picture.html">00766</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00767     FLAC__StreamMetadata_Picture_Type type;
00770     <span class="keywordtype">char</span> *mime_type;
00781     FLAC__byte *description;
00788     FLAC__uint32 width;
00791     FLAC__uint32 height;
00794     FLAC__uint32 depth;
00797     FLAC__uint32 colors;
00802     FLAC__uint32 data_length;
00805     FLAC__byte *data;
00808 } <a class="code" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a>;
00809 
00810 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga69">FLAC__STREAM_METADATA_PICTURE_TYPE_LEN</a>; 
00811 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga70">FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN</a>; 
00812 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga71">FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN</a>; 
00813 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga72">FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN</a>; 
00814 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga73">FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN</a>; 
00815 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga74">FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN</a>; 
00816 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga75">FLAC__STREAM_METADATA_PICTURE_COLORS_LEN</a>; 
00817 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga76">FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN</a>; 
<a name="l00824"></a><a class="code" href="structFLAC____StreamMetadata__Unknown.html">00824</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00825     FLAC__byte *data;
00826 } <a class="code" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a>;
00827 
00828 
<a name="l00831"></a><a class="code" href="structFLAC____StreamMetadata.html">00831</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{
00832     <a class="code" href="group__flac__format.html#ga113">FLAC__MetadataType</a> type;
00837     FLAC__bool is_last;
00840     <span class="keywordtype">unsigned</span> length;
00843     <span class="keyword">union </span>{
00844         <a class="code" href="structFLAC____StreamMetadata__StreamInfo.html">FLAC__StreamMetadata_StreamInfo</a> stream_info;
00845         <a class="code" href="structFLAC____StreamMetadata__Padding.html">FLAC__StreamMetadata_Padding</a> padding;
00846         <a class="code" href="structFLAC____StreamMetadata__Application.html">FLAC__StreamMetadata_Application</a> application;
00847         <a class="code" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> seek_table;
00848         <a class="code" href="structFLAC____StreamMetadata__VorbisComment.html">FLAC__StreamMetadata_VorbisComment</a> vorbis_comment;
00849         <a class="code" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a> cue_sheet;
00850         <a class="code" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a> picture;
00851         <a class="code" href="structFLAC____StreamMetadata__Unknown.html">FLAC__StreamMetadata_Unknown</a> unknown;
00852     } data;
00855 } <a class="code" href="structFLAC____StreamMetadata.html">FLAC__StreamMetadata</a>;
00856 
00857 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga77">FLAC__STREAM_METADATA_IS_LAST_LEN</a>; 
00858 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga78">FLAC__STREAM_METADATA_TYPE_LEN</a>; 
00859 <span class="keyword">extern</span> FLAC_API <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga79">FLAC__STREAM_METADATA_LENGTH_LEN</a>; 
<a name="l00862"></a><a class="code" href="group__flac__format.html#ga108">00862</a> <span class="preprocessor">#define FLAC__STREAM_METADATA_HEADER_LENGTH (4u)</span>
00863 <span class="preprocessor"></span>
00864 <span class="comment">/*****************************************************************************/</span>
00865 
00866 
00867 <span class="comment">/*****************************************************************************</span>
00868 <span class="comment"> *</span>
00869 <span class="comment"> * Utility functions</span>
00870 <span class="comment"> *</span>
00871 <span class="comment"> *****************************************************************************/</span>
00872 
00880 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga80">FLAC__format_sample_rate_is_valid</a>(<span class="keywordtype">unsigned</span> sample_rate);
00881 
00891 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga81">FLAC__format_sample_rate_is_subset</a>(<span class="keywordtype">unsigned</span> sample_rate);
00892 
00905 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga82">FLAC__format_vorbiscomment_entry_name_is_legal</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *name);
00906 
00921 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga83">FLAC__format_vorbiscomment_entry_value_is_legal</a>(<span class="keyword">const</span> FLAC__byte *value, <span class="keywordtype">unsigned</span> length);
00922 
00938 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga84">FLAC__format_vorbiscomment_entry_is_legal</a>(<span class="keyword">const</span> FLAC__byte *entry, <span class="keywordtype">unsigned</span> length);
00939 
00950 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga85">FLAC__format_seektable_is_legal</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> *seek_table);
00951 
00964 FLAC_API <span class="keywordtype">unsigned</span> <a class="code" href="group__flac__format.html#ga86">FLAC__format_seektable_sort</a>(<a class="code" href="structFLAC____StreamMetadata__SeekTable.html">FLAC__StreamMetadata_SeekTable</a> *seek_table);
00965 
00984 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga87">FLAC__format_cuesheet_is_legal</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata__CueSheet.html">FLAC__StreamMetadata_CueSheet</a> *cue_sheet, FLAC__bool check_cd_da_subset, <span class="keyword">const</span> <span class="keywordtype">char</span> **violation);
00985 
01002 FLAC_API FLAC__bool <a class="code" href="group__flac__format.html#ga88">FLAC__format_picture_is_legal</a>(<span class="keyword">const</span> <a class="code" href="structFLAC____StreamMetadata__Picture.html">FLAC__StreamMetadata_Picture</a> *picture, <span class="keyword">const</span> <span class="keywordtype">char</span> **violation);
01003 
01004 <span class="comment">/* \} */</span>
01005 
01006 <span class="preprocessor">#ifdef __cplusplus</span>
01007 <span class="preprocessor"></span>}
01008 <span class="preprocessor">#endif</span>
01009 <span class="preprocessor"></span>
01010 <span class="preprocessor">#endif</span>
</pre></div>
<hr size="1">
<div class="copyright">
	<!-- @@@ oh so hacky -->
	<table>
		<tr>
			<td align="left">
				Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
			</td>
			<td width="1%" align="right">
				<a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
			</td>
		</tr>
	</table>
</div>
<!-- Copyright (c)  2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson -->
<!-- Permission is granted to copy, distribute and/or modify this document -->
<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
<!-- or any later version published by the Free Software Foundation; -->
<!-- with no invariant sections. -->
<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
</body>
</html>