FLAC  1.3.1
format.h
Go to the documentation of this file.
1 /* libFLAC - Free Lossless Audio Codec library
2  * Copyright (C) 2000-2009 Josh Coalson
3  * Copyright (C) 2011-2014 Xiph.Org Foundation
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * - Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * - Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  *
16  * - Neither the name of the Xiph.org Foundation nor the names of its
17  * contributors may be used to endorse or promote products derived from
18  * this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 #ifndef FLAC__FORMAT_H
34 #define FLAC__FORMAT_H
35 
36 #include "export.h"
37 #include "ordinals.h"
38 
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42 
87 /*
88  Most of the values described in this file are defined by the FLAC
89  format specification. There is nothing to tune here.
90 */
91 
93 #define FLAC__MAX_METADATA_TYPE_CODE (126u)
94 
96 #define FLAC__MIN_BLOCK_SIZE (16u)
97 
99 #define FLAC__MAX_BLOCK_SIZE (65535u)
100 
103 #define FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ (4608u)
104 
106 #define FLAC__MAX_CHANNELS (8u)
107 
109 #define FLAC__MIN_BITS_PER_SAMPLE (4u)
110 
112 #define FLAC__MAX_BITS_PER_SAMPLE (32u)
113 
122 #define FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE (24u)
123 
128 #define FLAC__MAX_SAMPLE_RATE (655350u)
129 
131 #define FLAC__MAX_LPC_ORDER (32u)
132 
135 #define FLAC__SUBSET_MAX_LPC_ORDER_48000HZ (12u)
136 
140 #define FLAC__MIN_QLP_COEFF_PRECISION (5u)
141 
145 #define FLAC__MAX_QLP_COEFF_PRECISION (15u)
146 
148 #define FLAC__MAX_FIXED_ORDER (4u)
149 
151 #define FLAC__MAX_RICE_PARTITION_ORDER (15u)
152 
154 #define FLAC__SUBSET_MAX_RICE_PARTITION_ORDER (8u)
155 
162 extern FLAC_API const char *FLAC__VERSION_STRING;
163 
168 extern FLAC_API const char *FLAC__VENDOR_STRING;
169 
171 extern FLAC_API const FLAC__byte FLAC__STREAM_SYNC_STRING[4]; /* = "fLaC" */
172 
176 extern FLAC_API const unsigned FLAC__STREAM_SYNC; /* = 0x664C6143 */
177 
179 extern FLAC_API const unsigned FLAC__STREAM_SYNC_LEN; /* = 32 bits */
180 
182 #define FLAC__STREAM_SYNC_LENGTH (4u)
183 
184 
185 /*****************************************************************************
186  *
187  * Subframe structures
188  *
189  *****************************************************************************/
190 
191 /*****************************************************************************/
192 
194 typedef enum {
203 
209 extern FLAC_API const char * const FLAC__EntropyCodingMethodTypeString[];
210 
211 
214 typedef struct {
215 
216  unsigned *parameters;
219  unsigned *raw_bits;
230 
233 typedef struct {
234 
235  unsigned order;
242 
243 extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN;
244 extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN;
246 extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN;
255 typedef struct {
257  union {
259  } data;
261 
262 extern FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_TYPE_LEN;
264 /*****************************************************************************/
265 
267 typedef enum {
273 
279 extern FLAC_API const char * const FLAC__SubframeTypeString[];
280 
281 
284 typedef struct {
285  FLAC__int32 value;
287 
288 
291 typedef struct {
292  const FLAC__int32 *data;
294 
295 
298 typedef struct {
302  unsigned order;
305  FLAC__int32 warmup[FLAC__MAX_FIXED_ORDER];
308  const FLAC__int32 *residual;
311 
312 
315 typedef struct {
319  unsigned order;
328  FLAC__int32 qlp_coeff[FLAC__MAX_LPC_ORDER];
331  FLAC__int32 warmup[FLAC__MAX_LPC_ORDER];
334  const FLAC__int32 *residual;
337 
338 extern FLAC_API const unsigned FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN;
339 extern FLAC_API const unsigned FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN;
344 typedef struct {
345  FLAC__SubframeType type;
346  union {
347  FLAC__Subframe_Constant constant;
348  FLAC__Subframe_Fixed fixed;
349  FLAC__Subframe_LPC lpc;
350  FLAC__Subframe_Verbatim verbatim;
351  } data;
352  unsigned wasted_bits;
354 
362 extern FLAC_API const unsigned FLAC__SUBFRAME_ZERO_PAD_LEN;
363 extern FLAC_API const unsigned FLAC__SUBFRAME_TYPE_LEN;
364 extern FLAC_API const unsigned FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN;
366 extern FLAC_API const unsigned FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK;
367 extern FLAC_API const unsigned FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK;
368 extern FLAC_API const unsigned FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK;
369 extern FLAC_API const unsigned FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK;
371 /*****************************************************************************/
372 
373 
374 /*****************************************************************************
375  *
376  * Frame structures
377  *
378  *****************************************************************************/
379 
381 typedef enum {
387 
393 extern FLAC_API const char * const FLAC__ChannelAssignmentString[];
394 
396 typedef enum {
400 
406 extern FLAC_API const char * const FLAC__FrameNumberTypeString[];
407 
408 
411 typedef struct {
412  unsigned blocksize;
415  unsigned sample_rate;
418  unsigned channels;
424  unsigned bits_per_sample;
432  union {
433  FLAC__uint32 frame_number;
434  FLAC__uint64 sample_number;
435  } number;
439  FLAC__uint8 crc;
445 
446 extern FLAC_API const unsigned FLAC__FRAME_HEADER_SYNC;
447 extern FLAC_API const unsigned FLAC__FRAME_HEADER_SYNC_LEN;
448 extern FLAC_API const unsigned FLAC__FRAME_HEADER_RESERVED_LEN;
449 extern FLAC_API const unsigned FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN;
450 extern FLAC_API const unsigned FLAC__FRAME_HEADER_BLOCK_SIZE_LEN;
451 extern FLAC_API const unsigned FLAC__FRAME_HEADER_SAMPLE_RATE_LEN;
452 extern FLAC_API const unsigned FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN;
453 extern FLAC_API const unsigned FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN;
454 extern FLAC_API const unsigned FLAC__FRAME_HEADER_ZERO_PAD_LEN;
455 extern FLAC_API const unsigned FLAC__FRAME_HEADER_CRC_LEN;
460 typedef struct {
461  FLAC__uint16 crc;
467 
468 extern FLAC_API const unsigned FLAC__FRAME_FOOTER_CRC_LEN;
473 typedef struct {
474  FLAC__FrameHeader header;
476  FLAC__FrameFooter footer;
477 } FLAC__Frame;
478 
479 /*****************************************************************************/
480 
481 
482 /*****************************************************************************
483  *
484  * Meta-data structures
485  *
486  *****************************************************************************/
487 
489 typedef enum {
490 
518 
524 extern FLAC_API const char * const FLAC__MetadataTypeString[];
525 
526 
529 typedef struct {
530  unsigned min_blocksize, max_blocksize;
531  unsigned min_framesize, max_framesize;
532  unsigned sample_rate;
533  unsigned channels;
534  unsigned bits_per_sample;
535  FLAC__uint64 total_samples;
536  FLAC__byte md5sum[16];
538 
539 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN;
540 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN;
541 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN;
542 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN;
543 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN;
544 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN;
545 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN;
546 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN;
547 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN;
550 #define FLAC__STREAM_METADATA_STREAMINFO_LENGTH (34u)
551 
554 typedef struct {
555  int dummy;
561 
562 
565 typedef struct {
566  FLAC__byte id[4];
567  FLAC__byte *data;
569 
570 extern FLAC_API const unsigned FLAC__STREAM_METADATA_APPLICATION_ID_LEN;
574 typedef struct {
575  FLAC__uint64 sample_number;
578  FLAC__uint64 stream_offset;
582  unsigned frame_samples;
585 
586 extern FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN;
587 extern FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN;
588 extern FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN;
591 #define FLAC__STREAM_METADATA_SEEKPOINT_LENGTH (18u)
592 
597 extern FLAC_API const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER;
598 
599 
612 typedef struct {
613  unsigned num_points;
616 
617 
624 typedef struct {
625  FLAC__uint32 length;
626  FLAC__byte *entry;
628 
629 extern FLAC_API const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN;
634 typedef struct {
636  FLAC__uint32 num_comments;
639 
640 extern FLAC_API const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN;
647 typedef struct {
648  FLAC__uint64 offset;
653  FLAC__byte number;
656 
657 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN;
658 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN;
659 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN;
666 typedef struct {
667  FLAC__uint64 offset;
670  FLAC__byte number;
673  char isrc[13];
676  unsigned type:1;
679  unsigned pre_emphasis:1;
682  FLAC__byte num_indices;
689 
690 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN;
691 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN;
692 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN;
693 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN;
694 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN;
695 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN;
696 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN;
703 typedef struct {
704  char media_catalog_number[129];
710  FLAC__uint64 lead_in;
713  FLAC__bool is_cd;
716  unsigned num_tracks;
723 
724 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN;
725 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN;
726 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN;
727 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN;
728 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN;
732 typedef enum {
754  FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED
756 
763 extern FLAC_API const char * const FLAC__StreamMetadata_Picture_TypeString[];
764 
769 typedef struct {
773  char *mime_type;
784  FLAC__byte *description;
791  FLAC__uint32 width;
794  FLAC__uint32 height;
797  FLAC__uint32 depth;
800  FLAC__uint32 colors;
805  FLAC__uint32 data_length;
808  FLAC__byte *data;
812 
813 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_TYPE_LEN;
814 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN;
815 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN;
816 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN;
817 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN;
818 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN;
819 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_COLORS_LEN;
820 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN;
827 typedef struct {
828  FLAC__byte *data;
830 
831 
834 typedef struct {
840  FLAC__bool is_last;
843  unsigned length;
846  union {
851  FLAC__StreamMetadata_VorbisComment vorbis_comment;
855  } data;
859 
860 extern FLAC_API const unsigned FLAC__STREAM_METADATA_IS_LAST_LEN;
861 extern FLAC_API const unsigned FLAC__STREAM_METADATA_TYPE_LEN;
862 extern FLAC_API const unsigned FLAC__STREAM_METADATA_LENGTH_LEN;
865 #define FLAC__STREAM_METADATA_HEADER_LENGTH (4u)
866 
867 /*****************************************************************************/
868 
869 
870 /*****************************************************************************
871  *
872  * Utility functions
873  *
874  *****************************************************************************/
875 
883 FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid(unsigned sample_rate);
884 
895 FLAC_API FLAC__bool FLAC__format_blocksize_is_subset(unsigned blocksize, unsigned sample_rate);
896 
906 FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset(unsigned sample_rate);
907 
920 FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_name_is_legal(const char *name);
921 
936 FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__byte *value, unsigned length);
937 
953 FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *entry, unsigned length);
954 
965 FLAC_API FLAC__bool FLAC__format_seektable_is_legal(const FLAC__StreamMetadata_SeekTable *seek_table);
966 
979 FLAC_API unsigned FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *seek_table);
980 
999 FLAC_API FLAC__bool FLAC__format_cuesheet_is_legal(const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation);
1000 
1017 FLAC_API FLAC__bool FLAC__format_picture_is_legal(const FLAC__StreamMetadata_Picture *picture, const char **violation);
1018 
1019 /* \} */
1020 
1021 #ifdef __cplusplus
1022 }
1023 #endif
1024 
1025 #endif
FLAC__byte number
Definition: format.h:670
const unsigned FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN
const FLAC__EntropyCodingMethod_PartitionedRiceContents * contents
Definition: format.h:238
const unsigned FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN
const char *const FLAC__ChannelAssignmentString[]
unsigned order
Definition: format.h:319
const unsigned FLAC__STREAM_METADATA_PICTURE_TYPE_LEN
Definition: format.h:512
FLAC__uint8 crc
Definition: format.h:439
FLAC__uint16 crc
Definition: format.h:461
unsigned bits_per_sample
Definition: format.h:424
const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN
Definition: format.h:506
FLAC__byte * description
Definition: format.h:784
unsigned capacity_by_order
Definition: format.h:224
unsigned FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *seek_table)
FLAC__uint32 height
Definition: format.h:794
const unsigned FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
FLAC__bool FLAC__format_seektable_is_legal(const FLAC__StreamMetadata_SeekTable *seek_table)
FLAC__uint32 width
Definition: format.h:791
Definition: format.h:284
const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER
FLAC__bool FLAC__format_blocksize_is_subset(unsigned blocksize, unsigned sample_rate)
This module contains #defines and symbols for exporting function calls, and providing version informa...
unsigned length
Definition: format.h:843
const char *const FLAC__StreamMetadata_Picture_TypeString[]
FLAC__StreamMetadata_CueSheet_Track * tracks
Definition: format.h:719
FLAC__uint32 colors
Definition: format.h:800
const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN
const unsigned FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK
const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN
const unsigned FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
const unsigned FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
FLAC__ChannelAssignment channel_assignment
Definition: format.h:421
const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN
const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN
const unsigned FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN
Definition: format.h:503
const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER
const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN
const unsigned FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK
unsigned frame_samples
Definition: format.h:582
char * mime_type
Definition: format.h:773
Definition: format.h:612
Definition: format.h:397
const unsigned FLAC__FRAME_HEADER_ZERO_PAD_LEN
const unsigned FLAC__STREAM_METADATA_LENGTH_LEN
const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN
unsigned * raw_bits
Definition: format.h:219
FLAC__bool is_cd
Definition: format.h:713
const unsigned FLAC__FRAME_HEADER_CRC_LEN
Definition: format.h:385
unsigned channels
Definition: format.h:418
Definition: format.h:666
FLAC__bool FLAC__format_sample_rate_is_subset(unsigned sample_rate)
const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN
const unsigned FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK
const unsigned FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN
#define FLAC__MAX_CHANNELS
Definition: format.h:106
FLAC__bool FLAC__format_cuesheet_is_legal(const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation)
Definition: format.h:554
const unsigned FLAC__SUBFRAME_ZERO_PAD_LEN
int quantization_level
Definition: format.h:325
Definition: format.h:647
const unsigned FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN
const FLAC__int32 * residual
Definition: format.h:334
unsigned qlp_coeff_precision
Definition: format.h:322
const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN
const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN
const unsigned FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN
const unsigned FLAC__SUBFRAME_TYPE_LEN
Definition: format.h:344
Definition: format.h:271
const unsigned FLAC__FRAME_FOOTER_CRC_LEN
Definition: format.h:411
const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN
FLAC__uint64 sample_number
Definition: format.h:575
const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN
unsigned blocksize
Definition: format.h:412
const unsigned FLAC__STREAM_SYNC_LEN
FLAC__byte num_indices
Definition: format.h:682
Definition: format.h:491
Definition: format.h:473
Definition: format.h:634
const unsigned FLAC__FRAME_HEADER_RESERVED_LEN
const unsigned FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN
const unsigned FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN
FLAC__SubframeType
Definition: format.h:267
const char *const FLAC__MetadataTypeString[]
FLAC__uint64 offset
Definition: format.h:648
#define FLAC__MAX_FIXED_ORDER
Definition: format.h:148
const FLAC__int32 * data
Definition: format.h:292
FLAC__bool is_last
Definition: format.h:840
const unsigned FLAC__STREAM_METADATA_IS_LAST_LEN
const unsigned FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN
Definition: format.h:315
FLAC__StreamMetadata_Picture_Type type
Definition: format.h:770
const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
const char *const FLAC__FrameNumberTypeString[]
Definition: format.h:834
Definition: format.h:383
FLAC__uint64 stream_offset
Definition: format.h:578
const unsigned FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN
Definition: format.h:509
const unsigned FLAC__STREAM_METADATA_PICTURE_COLORS_LEN
Definition: format.h:827
const unsigned FLAC__FRAME_HEADER_SAMPLE_RATE_LEN
FLAC__bool FLAC__format_vorbiscomment_entry_name_is_legal(const char *name)
const char * FLAC__VERSION_STRING
FLAC__StreamMetadata_CueSheet_Index * indices
Definition: format.h:685
const unsigned FLAC__STREAM_METADATA_TYPE_LEN
const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN
FLAC__EntropyCodingMethodType
Definition: format.h:194
const unsigned FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN
const unsigned FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN
const unsigned FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN
FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__byte *value, unsigned length)
Definition: format.h:268
FLAC__MetadataType
Definition: format.h:489
Definition: format.h:500
Definition: format.h:497
const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN
Definition: format.h:624
const unsigned FLAC__STREAM_METADATA_APPLICATION_ID_LEN
Definition: format.h:270
Definition: format.h:529
FLAC__uint32 data_length
Definition: format.h:805
#define FLAC__MAX_METADATA_TYPE_CODE
Definition: format.h:93
const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN
const unsigned FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
Definition: format.h:565
const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
Definition: format.h:384
FLAC__StreamMetadata_Picture_Type
Definition: format.h:732
FLAC__ChannelAssignment
Definition: format.h:381
Definition: format.h:382
FLAC__bool FLAC__format_sample_rate_is_valid(unsigned sample_rate)
#define FLAC__MAX_LPC_ORDER
Definition: format.h:131
const unsigned FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN
Definition: format.h:494
const char * FLAC__VENDOR_STRING
int dummy
Definition: format.h:555
FLAC__uint64 lead_in
Definition: format.h:710
Definition: format.h:703
const unsigned FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
FLAC__FrameNumberType number_type
Definition: format.h:427
unsigned num_tracks
Definition: format.h:716
FLAC__uint64 offset
Definition: format.h:667
const unsigned FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
FLAC__MetadataType type
Definition: format.h:835
FLAC__bool FLAC__format_picture_is_legal(const FLAC__StreamMetadata_Picture *picture, const char **violation)
unsigned sample_rate
Definition: format.h:415
FLAC__EntropyCodingMethod entropy_coding_method
Definition: format.h:316
Definition: format.h:269
Definition: format.h:460
const unsigned FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN
Definition: format.h:515
const unsigned FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
FLAC__byte number
Definition: format.h:653
const unsigned FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK
Definition: format.h:255
const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN
unsigned * parameters
Definition: format.h:216
const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN
const FLAC__byte FLAC__STREAM_SYNC_STRING[4]
const char *const FLAC__EntropyCodingMethodTypeString[]
const char *const FLAC__SubframeTypeString[]
const FLAC__int32 * residual
Definition: format.h:308
const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN
FLAC__FrameNumberType
Definition: format.h:396
const unsigned FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN
const unsigned FLAC__FRAME_HEADER_SYNC
Definition: format.h:574
FLAC__byte * data
Definition: format.h:808
FLAC__int32 value
Definition: format.h:285
unsigned order
Definition: format.h:302
const unsigned FLAC__STREAM_SYNC
Definition: format.h:769
const unsigned FLAC__ENTROPY_CODING_METHOD_TYPE_LEN
Definition: format.h:291
FLAC__EntropyCodingMethod entropy_coding_method
Definition: format.h:299
const unsigned FLAC__FRAME_HEADER_SYNC_LEN
FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *entry, unsigned length)
const unsigned FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN
unsigned order
Definition: format.h:235
const unsigned FLAC__FRAME_HEADER_BLOCK_SIZE_LEN
Definition: format.h:298
FLAC__uint32 depth
Definition: format.h:797
const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER
const unsigned FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN