FLAC  1.3.3
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-2016 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 uint32_t FLAC__STREAM_SYNC; /* = 0x664C6143 */
177 
179 extern FLAC_API const uint32_t 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  uint32_t *parameters;
219  uint32_t *raw_bits;
230 
233 typedef struct {
234 
235  uint32_t order;
242 
243 extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN;
244 extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN;
246 extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN;
255 typedef struct {
257  union {
259  } data;
261 
262 extern FLAC_API const uint32_t 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  uint32_t order;
305  FLAC__int32 warmup[FLAC__MAX_FIXED_ORDER];
308  const FLAC__int32 *residual;
311 
312 
315 typedef struct {
319  uint32_t 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 uint32_t FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN;
339 extern FLAC_API const uint32_t 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  uint32_t wasted_bits;
354 
362 extern FLAC_API const uint32_t FLAC__SUBFRAME_ZERO_PAD_LEN;
363 extern FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_LEN;
364 extern FLAC_API const uint32_t FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN;
366 extern FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK;
367 extern FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK;
368 extern FLAC_API const uint32_t FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK;
369 extern FLAC_API const uint32_t 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  uint32_t blocksize;
415  uint32_t sample_rate;
418  uint32_t channels;
424  uint32_t 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 uint32_t FLAC__FRAME_HEADER_SYNC;
447 extern FLAC_API const uint32_t FLAC__FRAME_HEADER_SYNC_LEN;
448 extern FLAC_API const uint32_t FLAC__FRAME_HEADER_RESERVED_LEN;
449 extern FLAC_API const uint32_t FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN;
450 extern FLAC_API const uint32_t FLAC__FRAME_HEADER_BLOCK_SIZE_LEN;
451 extern FLAC_API const uint32_t FLAC__FRAME_HEADER_SAMPLE_RATE_LEN;
452 extern FLAC_API const uint32_t FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN;
453 extern FLAC_API const uint32_t FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN;
454 extern FLAC_API const uint32_t FLAC__FRAME_HEADER_ZERO_PAD_LEN;
455 extern FLAC_API const uint32_t FLAC__FRAME_HEADER_CRC_LEN;
460 typedef struct {
461  FLAC__uint16 crc;
467 
468 extern FLAC_API const uint32_t 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  uint32_t min_blocksize, max_blocksize;
531  uint32_t min_framesize, max_framesize;
532  uint32_t sample_rate;
533  uint32_t channels;
534  uint32_t bits_per_sample;
535  FLAC__uint64 total_samples;
536  FLAC__byte md5sum[16];
538 
539 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN;
540 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN;
541 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN;
542 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN;
543 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN;
544 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN;
545 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN;
546 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN;
547 extern FLAC_API const uint32_t 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 uint32_t FLAC__STREAM_METADATA_APPLICATION_ID_LEN;
574 typedef struct {
575  FLAC__uint64 sample_number;
578  FLAC__uint64 stream_offset;
582  uint32_t frame_samples;
585 
586 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN;
587 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN;
588 extern FLAC_API const uint32_t 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  uint32_t num_points;
616 
617 
624 typedef struct {
625  FLAC__uint32 length;
626  FLAC__byte *entry;
628 
629 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN;
634 typedef struct {
636  FLAC__uint32 num_comments;
639 
640 extern FLAC_API const uint32_t 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 uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN;
658 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN;
659 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN;
666 typedef struct {
667  FLAC__uint64 offset;
670  FLAC__byte number;
673  char isrc[13];
676  uint32_t type:1;
679  uint32_t pre_emphasis:1;
682  FLAC__byte num_indices;
689 
690 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN;
691 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN;
692 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN;
693 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN;
694 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN;
695 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN;
696 extern FLAC_API const uint32_t 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  uint32_t num_tracks;
723 
724 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN;
725 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN;
726 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN;
727 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN;
728 extern FLAC_API const uint32_t 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 uint32_t FLAC__STREAM_METADATA_PICTURE_TYPE_LEN;
814 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN;
815 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN;
816 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN;
817 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN;
818 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN;
819 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_PICTURE_COLORS_LEN;
820 extern FLAC_API const uint32_t 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  uint32_t length;
846  union {
851  FLAC__StreamMetadata_VorbisComment vorbis_comment;
855  } data;
859 
860 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_IS_LAST_LEN;
861 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_TYPE_LEN;
862 extern FLAC_API const uint32_t 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(uint32_t sample_rate);
884 
895 FLAC_API FLAC__bool FLAC__format_blocksize_is_subset(uint32_t blocksize, uint32_t sample_rate);
896 
906 FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset(uint32_t 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, uint32_t length);
937 
953 FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *entry, uint32_t length);
954 
966 
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
This module contains #defines and symbols for exporting function calls, and providing version informa...
FLAC__bool FLAC__format_seektable_is_legal(const FLAC__StreamMetadata_SeekTable *seek_table)
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN
uint32_t num_tracks
Definition: format.h:716
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN
FLAC__EntropyCodingMethod entropy_coding_method
Definition: format.h:299
FLAC__uint32 depth
Definition: format.h:797
uint32_t type
Definition: format.h:676
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN
FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *entry, uint32_t length)
FLAC__StreamMetadata_CueSheet_Index * indices
Definition: format.h:685
#define FLAC__MAX_LPC_ORDER
Definition: format.h:131
uint32_t blocksize
Definition: format.h:412
FLAC__uint32 width
Definition: format.h:791
const uint32_t FLAC__ENTROPY_CODING_METHOD_TYPE_LEN
FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__byte *value, uint32_t length)
FLAC__SubframeType
Definition: format.h:267
const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
uint32_t FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *seek_table)
const uint32_t FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN
const char *const FLAC__StreamMetadata_Picture_TypeString[]
uint32_t sample_rate
Definition: format.h:415
const FLAC__EntropyCodingMethod_PartitionedRiceContents * contents
Definition: format.h:238
const uint32_t FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
FLAC__MetadataType type
Definition: format.h:835
const uint32_t FLAC__FRAME_HEADER_ZERO_PAD_LEN
const uint32_t FLAC__FRAME_FOOTER_CRC_LEN
const FLAC__byte FLAC__STREAM_SYNC_STRING[4]
const uint32_t FLAC__STREAM_METADATA_PICTURE_COLORS_LEN
FLAC__uint64 offset
Definition: format.h:667
const char *const FLAC__EntropyCodingMethodTypeString[]
FLAC__byte number
Definition: format.h:670
FLAC__uint64 lead_in
Definition: format.h:710
const uint32_t FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN
FLAC__bool FLAC__format_sample_rate_is_valid(uint32_t sample_rate)
#define FLAC__MAX_CHANNELS
Definition: format.h:106
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN
uint32_t * parameters
Definition: format.h:216
FLAC__bool FLAC__format_blocksize_is_subset(uint32_t blocksize, uint32_t sample_rate)
const uint32_t FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN
uint32_t qlp_coeff_precision
Definition: format.h:322
int dummy
Definition: format.h:555
const char * FLAC__VERSION_STRING
const uint32_t FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN
FLAC__byte * description
Definition: format.h:784
FLAC__StreamMetadata_CueSheet_Track * tracks
Definition: format.h:719
const uint32_t FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK
FLAC__byte num_indices
Definition: format.h:682
FLAC__uint64 stream_offset
Definition: format.h:578
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN
const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN
#define FLAC__MAX_METADATA_TYPE_CODE
Definition: format.h:93
uint32_t order
Definition: format.h:319
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN
const uint32_t FLAC__SUBFRAME_TYPE_LEN
const FLAC__int32 * data
Definition: format.h:292
FLAC__bool is_cd
Definition: format.h:713
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN
FLAC__byte number
Definition: format.h:653
const uint32_t FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
uint32_t capacity_by_order
Definition: format.h:224
FLAC__uint32 height
Definition: format.h:794
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN
const char *const FLAC__SubframeTypeString[]
FLAC__ChannelAssignment
Definition: format.h:381
FLAC__FrameNumberType number_type
Definition: format.h:427
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN
const uint32_t FLAC__FRAME_HEADER_SYNC
const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
const uint32_t FLAC__STREAM_METADATA_APPLICATION_ID_LEN
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER
FLAC__bool FLAC__format_picture_is_legal(const FLAC__StreamMetadata_Picture *picture, const char **violation)
uint32_t order
Definition: format.h:302
uint32_t * raw_bits
Definition: format.h:219
const uint32_t FLAC__FRAME_HEADER_SAMPLE_RATE_LEN
const uint32_t FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN
const uint32_t FLAC__SUBFRAME_ZERO_PAD_LEN
FLAC__FrameNumberType
Definition: format.h:396
const uint32_t FLAC__STREAM_METADATA_LENGTH_LEN
const uint32_t FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
const char *const FLAC__FrameNumberTypeString[]
const uint32_t FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK
FLAC__EntropyCodingMethodType
Definition: format.h:194
uint32_t channels
Definition: format.h:418
FLAC__uint64 sample_number
Definition: format.h:575
const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN
FLAC__uint8 crc
Definition: format.h:439
FLAC__ChannelAssignment channel_assignment
Definition: format.h:421
const uint32_t FLAC__STREAM_METADATA_PICTURE_TYPE_LEN
char * mime_type
Definition: format.h:773
FLAC__byte * data
Definition: format.h:808
const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN
const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
const uint32_t FLAC__STREAM_METADATA_IS_LAST_LEN
const uint32_t FLAC__STREAM_SYNC_LEN
const char *const FLAC__MetadataTypeString[]
FLAC__bool FLAC__format_cuesheet_is_legal(const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation)
const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
const char *const FLAC__ChannelAssignmentString[]
const uint32_t FLAC__FRAME_HEADER_SYNC_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN
const FLAC__int32 * residual
Definition: format.h:308
uint32_t length
Definition: format.h:843
#define FLAC__MAX_FIXED_ORDER
Definition: format.h:148
uint32_t bits_per_sample
Definition: format.h:424
FLAC__uint16 crc
Definition: format.h:461
const uint32_t FLAC__FRAME_HEADER_CRC_LEN
FLAC__uint64 offset
Definition: format.h:648
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN
FLAC__MetadataType
Definition: format.h:489
const uint32_t FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK
const FLAC__int32 * residual
Definition: format.h:334
const uint32_t FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK
FLAC__uint32 data_length
Definition: format.h:805
const uint32_t FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN
const char * FLAC__VENDOR_STRING
const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER
uint32_t pre_emphasis
Definition: format.h:679
FLAC__EntropyCodingMethod entropy_coding_method
Definition: format.h:316
uint32_t frame_samples
Definition: format.h:582
FLAC__StreamMetadata_Picture_Type type
Definition: format.h:770
uint32_t order
Definition: format.h:235
FLAC__bool FLAC__format_sample_rate_is_subset(uint32_t sample_rate)
FLAC__bool FLAC__format_vorbiscomment_entry_name_is_legal(const char *name)
const uint32_t FLAC__STREAM_METADATA_TYPE_LEN
const uint32_t FLAC__FRAME_HEADER_RESERVED_LEN
int quantization_level
Definition: format.h:325
FLAC__bool is_last
Definition: format.h:840
FLAC__uint32 colors
Definition: format.h:800
FLAC__int32 value
Definition: format.h:285
const uint32_t FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN
FLAC__StreamMetadata_Picture_Type
Definition: format.h:732
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN
const uint32_t FLAC__STREAM_SYNC
const uint32_t FLAC__FRAME_HEADER_BLOCK_SIZE_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN
@ FLAC__SUBFRAME_TYPE_LPC
Definition: format.h:271
@ FLAC__SUBFRAME_TYPE_FIXED
Definition: format.h:270
@ FLAC__SUBFRAME_TYPE_VERBATIM
Definition: format.h:269
@ FLAC__SUBFRAME_TYPE_CONSTANT
Definition: format.h:268
@ FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE
Definition: format.h:383
@ FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT
Definition: format.h:382
@ FLAC__CHANNEL_ASSIGNMENT_MID_SIDE
Definition: format.h:385
@ FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE
Definition: format.h:384
@ FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER
Definition: format.h:397
@ FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER
Definition: format.h:398
@ FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2
Definition: format.h:199
@ FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE
Definition: format.h:195
@ FLAC__METADATA_TYPE_CUESHEET
Definition: format.h:506
@ FLAC__MAX_METADATA_TYPE
Definition: format.h:515
@ FLAC__METADATA_TYPE_APPLICATION
Definition: format.h:497
@ FLAC__METADATA_TYPE_SEEKTABLE
Definition: format.h:500
@ FLAC__METADATA_TYPE_PADDING
Definition: format.h:494
@ FLAC__METADATA_TYPE_PICTURE
Definition: format.h:509
@ FLAC__METADATA_TYPE_UNDEFINED
Definition: format.h:512
@ FLAC__METADATA_TYPE_STREAMINFO
Definition: format.h:491
@ FLAC__METADATA_TYPE_VORBIS_COMMENT
Definition: format.h:503
@ FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST
Definition: format.h:740
@ FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE
Definition: format.h:753
@ FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER
Definition: format.h:736
@ FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST
Definition: format.h:741
@ FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE
Definition: format.h:748
@ FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER
Definition: format.h:744
@ FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD
Definition: format.h:734
@ FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE
Definition: format.h:752
@ FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE
Definition: format.h:749
@ FLAC__STREAM_METADATA_PICTURE_TYPE_BAND
Definition: format.h:743
@ FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST
Definition: format.h:745
@ FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION
Definition: format.h:751
@ FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING
Definition: format.h:747
@ FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER
Definition: format.h:737
@ FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON
Definition: format.h:735
@ FLAC__STREAM_METADATA_PICTURE_TYPE_FISH
Definition: format.h:750
@ FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION
Definition: format.h:746
@ FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA
Definition: format.h:739
@ FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE
Definition: format.h:738
@ FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER
Definition: format.h:733
@ FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR
Definition: format.h:742
Definition: format.h:255
Definition: format.h:460
Definition: format.h:411
Definition: format.h:473
Definition: format.h:565
Definition: format.h:647
Definition: format.h:666
Definition: format.h:703
Definition: format.h:554
Definition: format.h:769
Definition: format.h:574
Definition: format.h:612
Definition: format.h:529
Definition: format.h:827
Definition: format.h:624
Definition: format.h:634
Definition: format.h:834
Definition: format.h:284
Definition: format.h:298
Definition: format.h:315
Definition: format.h:291
Definition: format.h:344