FLAC  1.3.0
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-2013 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 
516 
522 extern FLAC_API const char * const FLAC__MetadataTypeString[];
523 
524 
527 typedef struct {
528  unsigned min_blocksize, max_blocksize;
529  unsigned min_framesize, max_framesize;
530  unsigned sample_rate;
531  unsigned channels;
532  unsigned bits_per_sample;
533  FLAC__uint64 total_samples;
534  FLAC__byte md5sum[16];
536 
537 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN;
538 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN;
539 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN;
540 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN;
541 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN;
542 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN;
543 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN;
544 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN;
545 extern FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN;
548 #define FLAC__STREAM_METADATA_STREAMINFO_LENGTH (34u)
549 
552 typedef struct {
553  int dummy;
559 
560 
563 typedef struct {
564  FLAC__byte id[4];
565  FLAC__byte *data;
567 
568 extern FLAC_API const unsigned FLAC__STREAM_METADATA_APPLICATION_ID_LEN;
572 typedef struct {
573  FLAC__uint64 sample_number;
576  FLAC__uint64 stream_offset;
580  unsigned frame_samples;
583 
584 extern FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN;
585 extern FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN;
586 extern FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN;
589 #define FLAC__STREAM_METADATA_SEEKPOINT_LENGTH (18u)
590 
595 extern FLAC_API const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER;
596 
597 
610 typedef struct {
611  unsigned num_points;
614 
615 
622 typedef struct {
623  FLAC__uint32 length;
624  FLAC__byte *entry;
626 
627 extern FLAC_API const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN;
632 typedef struct {
634  FLAC__uint32 num_comments;
637 
638 extern FLAC_API const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN;
645 typedef struct {
646  FLAC__uint64 offset;
651  FLAC__byte number;
654 
655 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN;
656 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN;
657 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN;
664 typedef struct {
665  FLAC__uint64 offset;
668  FLAC__byte number;
671  char isrc[13];
674  unsigned type:1;
677  unsigned pre_emphasis:1;
680  FLAC__byte num_indices;
687 
688 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN;
689 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN;
690 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN;
691 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN;
692 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN;
693 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN;
694 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN;
701 typedef struct {
702  char media_catalog_number[129];
708  FLAC__uint64 lead_in;
711  FLAC__bool is_cd;
714  unsigned num_tracks;
721 
722 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN;
723 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN;
724 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN;
725 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN;
726 extern FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN;
730 typedef enum {
752  FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED
754 
761 extern FLAC_API const char * const FLAC__StreamMetadata_Picture_TypeString[];
762 
767 typedef struct {
771  char *mime_type;
782  FLAC__byte *description;
789  FLAC__uint32 width;
792  FLAC__uint32 height;
795  FLAC__uint32 depth;
798  FLAC__uint32 colors;
803  FLAC__uint32 data_length;
806  FLAC__byte *data;
810 
811 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_TYPE_LEN;
812 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN;
813 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN;
814 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN;
815 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN;
816 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN;
817 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_COLORS_LEN;
818 extern FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN;
825 typedef struct {
826  FLAC__byte *data;
828 
829 
832 typedef struct {
838  FLAC__bool is_last;
841  unsigned length;
844  union {
849  FLAC__StreamMetadata_VorbisComment vorbis_comment;
853  } data;
857 
858 extern FLAC_API const unsigned FLAC__STREAM_METADATA_IS_LAST_LEN;
859 extern FLAC_API const unsigned FLAC__STREAM_METADATA_TYPE_LEN;
860 extern FLAC_API const unsigned FLAC__STREAM_METADATA_LENGTH_LEN;
863 #define FLAC__STREAM_METADATA_HEADER_LENGTH (4u)
864 
865 /*****************************************************************************/
866 
867 
868 /*****************************************************************************
869  *
870  * Utility functions
871  *
872  *****************************************************************************/
873 
881 FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid(unsigned sample_rate);
882 
893 FLAC_API FLAC__bool FLAC__format_blocksize_is_subset(unsigned blocksize, unsigned sample_rate);
894 
904 FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset(unsigned sample_rate);
905 
918 FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_name_is_legal(const char *name);
919 
934 FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__byte *value, unsigned length);
935 
951 FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *entry, unsigned length);
952 
963 FLAC_API FLAC__bool FLAC__format_seektable_is_legal(const FLAC__StreamMetadata_SeekTable *seek_table);
964 
977 FLAC_API unsigned FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *seek_table);
978 
997 FLAC_API FLAC__bool FLAC__format_cuesheet_is_legal(const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation);
998 
1015 FLAC_API FLAC__bool FLAC__format_picture_is_legal(const FLAC__StreamMetadata_Picture *picture, const char **violation);
1016 
1017 /* \} */
1018 
1019 #ifdef __cplusplus
1020 }
1021 #endif
1022 
1023 #endif
FLAC__byte number
Definition: format.h:668
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:782
unsigned capacity_by_order
Definition: format.h:224
unsigned FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *seek_table)
FLAC__uint32 height
Definition: format.h:792
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:789
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:841
const char *const FLAC__StreamMetadata_Picture_TypeString[]
FLAC__StreamMetadata_CueSheet_Track * tracks
Definition: format.h:717
FLAC__uint32 colors
Definition: format.h:798
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:580
char * mime_type
Definition: format.h:771
Definition: format.h:610
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:711
const unsigned FLAC__FRAME_HEADER_CRC_LEN
Definition: format.h:385
unsigned channels
Definition: format.h:418
Definition: format.h:664
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:552
const unsigned FLAC__SUBFRAME_ZERO_PAD_LEN
int quantization_level
Definition: format.h:325
Definition: format.h:645
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:573
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:680
Definition: format.h:491
Definition: format.h:473
Definition: format.h:632
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:646
#define FLAC__MAX_FIXED_ORDER
Definition: format.h:148
const FLAC__int32 * data
Definition: format.h:292
FLAC__bool is_last
Definition: format.h:838
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:768
const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
const char *const FLAC__FrameNumberTypeString[]
Definition: format.h:832
Definition: format.h:383
FLAC__uint64 stream_offset
Definition: format.h:576
const unsigned FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN
Definition: format.h:509
const unsigned FLAC__STREAM_METADATA_PICTURE_COLORS_LEN
Definition: format.h:825
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:683
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:622
const unsigned FLAC__STREAM_METADATA_APPLICATION_ID_LEN
Definition: format.h:270
Definition: format.h:527
FLAC__uint32 data_length
Definition: format.h:803
const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN
const unsigned FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
Definition: format.h:563
const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
Definition: format.h:384
FLAC__StreamMetadata_Picture_Type
Definition: format.h:730
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:553
FLAC__uint64 lead_in
Definition: format.h:708
Definition: format.h:701
const unsigned FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
FLAC__FrameNumberType number_type
Definition: format.h:427
unsigned num_tracks
Definition: format.h:714
FLAC__uint64 offset
Definition: format.h:665
const unsigned FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
FLAC__MetadataType type
Definition: format.h:833
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
const unsigned FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
FLAC__byte number
Definition: format.h:651
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:572
FLAC__byte * data
Definition: format.h:806
FLAC__int32 value
Definition: format.h:285
unsigned order
Definition: format.h:302
const unsigned FLAC__STREAM_SYNC
Definition: format.h:767
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:795
const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER
const unsigned FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN