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 {
195 FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE = 0,
199 FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2 = 1
202 } FLAC__EntropyCodingMethodType;
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;
224 uint32_t capacity_by_order;
229 } FLAC__EntropyCodingMethod_PartitionedRiceContents;
230
233 typedef struct {
234
235 uint32_t order;
238 const FLAC__EntropyCodingMethod_PartitionedRiceContents *contents;
241 } FLAC__EntropyCodingMethod_PartitionedRice;
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;
245 extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN;
246 extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN;
248 extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER;
250 extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER;
255 typedef struct {
256 FLAC__EntropyCodingMethodType type;
257 union {
258 FLAC__EntropyCodingMethod_PartitionedRice partitioned_rice;
259 } data;
260 } FLAC__EntropyCodingMethod;
261
262 extern FLAC_API const uint32_t FLAC__ENTROPY_CODING_METHOD_TYPE_LEN;
264 /*****************************************************************************/
265
267 typedef enum {
268 FLAC__SUBFRAME_TYPE_CONSTANT = 0,
269 FLAC__SUBFRAME_TYPE_VERBATIM = 1,
270 FLAC__SUBFRAME_TYPE_FIXED = 2,
271 FLAC__SUBFRAME_TYPE_LPC = 3
272 } FLAC__SubframeType;
273
279 extern FLAC_API const char * const FLAC__SubframeTypeString[];
280
281
284 typedef struct {
285 FLAC__int32 value;
286 } FLAC__Subframe_Constant;
287
288
291 typedef struct {
292 const FLAC__int32 *data;
293 } FLAC__Subframe_Verbatim;
294
295
298 typedef struct {
299 FLAC__EntropyCodingMethod entropy_coding_method;
302 uint32_t order;
305 FLAC__int32 warmup[FLAC__MAX_FIXED_ORDER];
308 const FLAC__int32 *residual;
310 } FLAC__Subframe_Fixed;
311
312
315 typedef struct {
316 FLAC__EntropyCodingMethod entropy_coding_method;
319 uint32_t order;
322 uint32_t qlp_coeff_precision;
325 int quantization_level;
328 FLAC__int32 qlp_coeff[FLAC__MAX_LPC_ORDER];
331 FLAC__int32 warmup[FLAC__MAX_LPC_ORDER];
334 const FLAC__int32 *residual;
336 } FLAC__Subframe_LPC;
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;
353 } FLAC__Subframe;
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 {
382 FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT = 0,
383 FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE = 1,
384 FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE = 2,
385 FLAC__CHANNEL_ASSIGNMENT_MID_SIDE = 3
386 } FLAC__ChannelAssignment;
387
393 extern FLAC_API const char * const FLAC__ChannelAssignmentString[];
394
396 typedef enum {
397 FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER,
398 FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER
399 } FLAC__FrameNumberType;
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;
421 FLAC__ChannelAssignment channel_assignment;
424 uint32_t bits_per_sample;
427 FLAC__FrameNumberType number_type;
432 union {
433 FLAC__uint32 frame_number;
434 FLAC__uint64 sample_number;
435 } number;
439 FLAC__uint8 crc;
444 } FLAC__FrameHeader;
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;
466 } FLAC__FrameFooter;
467
468 extern FLAC_API const uint32_t FLAC__FRAME_FOOTER_CRC_LEN;
473 typedef struct {
474 FLAC__FrameHeader header;
475 FLAC__Subframe subframes[FLAC__MAX_CHANNELS];
476 FLAC__FrameFooter footer;
477 } FLAC__Frame;
478
479 /*****************************************************************************/
480
481
482 /*****************************************************************************
483 *
484 * Meta-data structures
485 *
486 *****************************************************************************/
487
489 typedef enum {
490
491 FLAC__METADATA_TYPE_STREAMINFO = 0,
494 FLAC__METADATA_TYPE_PADDING = 1,
497 FLAC__METADATA_TYPE_APPLICATION = 2,
500 FLAC__METADATA_TYPE_SEEKTABLE = 3,
503 FLAC__METADATA_TYPE_VORBIS_COMMENT = 4,
506 FLAC__METADATA_TYPE_CUESHEET = 5,
509 FLAC__METADATA_TYPE_PICTURE = 6,
512 FLAC__METADATA_TYPE_UNDEFINED = 7,
515 FLAC__MAX_METADATA_TYPE = FLAC__MAX_METADATA_TYPE_CODE,
517 } FLAC__MetadataType;
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];
537 } FLAC__StreamMetadata_StreamInfo;
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;
560 } FLAC__StreamMetadata_Padding;
561
562
565 typedef struct {
566 FLAC__byte id[4];
567 FLAC__byte *data;
568 } FLAC__StreamMetadata_Application;
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;
584 } FLAC__StreamMetadata_SeekPoint;
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;
614 FLAC__StreamMetadata_SeekPoint *points;
615 } FLAC__StreamMetadata_SeekTable;
616
617
624 typedef struct {
625 FLAC__uint32 length;
626 FLAC__byte *entry;
627 } FLAC__StreamMetadata_VorbisComment_Entry;
628
629 extern FLAC_API const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN;
634 typedef struct {
635 FLAC__StreamMetadata_VorbisComment_Entry vendor_string;
636 FLAC__uint32 num_comments;
637 FLAC__StreamMetadata_VorbisComment_Entry *comments;
638 } FLAC__StreamMetadata_VorbisComment;
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;
655 } FLAC__StreamMetadata_CueSheet_Index;
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;
685 FLAC__StreamMetadata_CueSheet_Index *indices;
688 } FLAC__StreamMetadata_CueSheet_Track;
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;
719 FLAC__StreamMetadata_CueSheet_Track *tracks;
722 } FLAC__StreamMetadata_CueSheet;
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 {
733 FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER = 0,
734 FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD = 1,
735 FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON = 2,
736 FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER = 3,
737 FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER = 4,
738 FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE = 5,
739 FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA = 6,
740 FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST = 7,
741 FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST = 8,
742 FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR = 9,
743 FLAC__STREAM_METADATA_PICTURE_TYPE_BAND = 10,
744 FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER = 11,
745 FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST = 12,
746 FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION = 13,
747 FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING = 14,
748 FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE = 15,
749 FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE = 16,
750 FLAC__STREAM_METADATA_PICTURE_TYPE_FISH = 17,
751 FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION = 18,
752 FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE = 19,
753 FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE = 20,
754 FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED
755 } FLAC__StreamMetadata_Picture_Type;
756
763 extern FLAC_API const char * const FLAC__StreamMetadata_Picture_TypeString[];
764
769 typedef struct {
770 FLAC__StreamMetadata_Picture_Type type;
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;
811 } FLAC__StreamMetadata_Picture;
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;
829 } FLAC__StreamMetadata_Unknown;
830
831
834 typedef struct {
835 FLAC__MetadataType type;
840 FLAC__bool is_last;
843 uint32_t length;
846 union {
847 FLAC__StreamMetadata_StreamInfo stream_info;
848 FLAC__StreamMetadata_Padding padding;
849 FLAC__StreamMetadata_Application application;
850 FLAC__StreamMetadata_SeekTable seek_table;
851 FLAC__StreamMetadata_VorbisComment vorbis_comment;
852 FLAC__StreamMetadata_CueSheet cue_sheet;
853 FLAC__StreamMetadata_Picture picture;
854 FLAC__StreamMetadata_Unknown unknown;
855 } data;
858 } FLAC__StreamMetadata;
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
965 FLAC_API FLAC__bool FLAC__format_seektable_is_legal(const FLAC__StreamMetadata_SeekTable *seek_table);
966
979 FLAC_API uint32_t 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__StreamMetadata_CueSheet_Track::number
FLAC__byte number
Definition: format.h:670
FLAC__EntropyCodingMethod_PartitionedRice::contents
const FLAC__EntropyCodingMethod_PartitionedRiceContents * contents
Definition: format.h:238
FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN
const uint32_t FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN
FLAC__EntropyCodingMethod_PartitionedRice::order
uint32_t order
Definition: format.h:235
FLAC__FrameHeader::bits_per_sample
uint32_t bits_per_sample
Definition: format.h:424
FLAC__ChannelAssignmentString
const char *const FLAC__ChannelAssignmentString[]
FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK
const uint32_t FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK
FLAC__format_sample_rate_is_subset
FLAC__bool FLAC__format_sample_rate_is_subset(uint32_t sample_rate)
FLAC__METADATA_TYPE_UNDEFINED
Definition: format.h:512
FLAC__FRAME_HEADER_SAMPLE_RATE_LEN
const uint32_t FLAC__FRAME_HEADER_SAMPLE_RATE_LEN
FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN
FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN
FLAC__FrameHeader::crc
FLAC__uint8 crc
Definition: format.h:439
FLAC__FrameFooter::crc
FLAC__uint16 crc
Definition: format.h:461
FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER
Definition: format.h:737
FLAC__METADATA_TYPE_CUESHEET
Definition: format.h:506
FLAC__EntropyCodingMethod_PartitionedRice
Definition: format.h:233
FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE
Definition: format.h:738
FLAC__StreamMetadata_Picture::description
FLAC__byte * description
Definition: format.h:784
FLAC__StreamMetadata_Picture::height
FLAC__uint32 height
Definition: format.h:794
FLAC__ENTROPY_CODING_METHOD_TYPE_LEN
const uint32_t FLAC__ENTROPY_CODING_METHOD_TYPE_LEN
FLAC__format_seektable_is_legal
FLAC__bool FLAC__format_seektable_is_legal(const FLAC__StreamMetadata_SeekTable *seek_table)
FLAC__EntropyCodingMethod_PartitionedRiceContents::raw_bits
uint32_t * raw_bits
Definition: format.h:219
FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA
Definition: format.h:739
FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
FLAC__StreamMetadata_Picture::width
FLAC__uint32 width
Definition: format.h:791
FLAC__format_blocksize_is_subset
FLAC__bool FLAC__format_blocksize_is_subset(uint32_t blocksize, uint32_t sample_rate)
FLAC__Subframe_Constant
Definition: format.h:284
FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER
const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN
FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR
Definition: format.h:742
FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD
Definition: format.h:734
export.h
This module contains #defines and symbols for exporting function calls, and providing version informa...
FLAC__StreamMetadata_Picture_TypeString
const char *const FLAC__StreamMetadata_Picture_TypeString[]
FLAC__StreamMetadata_CueSheet::tracks
FLAC__StreamMetadata_CueSheet_Track * tracks
Definition: format.h:719
FLAC__StreamMetadata_Picture::colors
FLAC__uint32 colors
Definition: format.h:800
FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN
FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING
Definition: format.h:747
FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN
FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN
FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST
Definition: format.h:740
FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN
FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE
Definition: format.h:752
FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER
Definition: format.h:398
FLAC__SUBFRAME_ZERO_PAD_LEN
const uint32_t FLAC__SUBFRAME_ZERO_PAD_LEN
FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN
FLAC__FrameHeader::channel_assignment
FLAC__ChannelAssignment channel_assignment
Definition: format.h:421
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN
FLAC__FRAME_HEADER_ZERO_PAD_LEN
const uint32_t FLAC__FRAME_HEADER_ZERO_PAD_LEN
FLAC__FRAME_FOOTER_CRC_LEN
const uint32_t FLAC__FRAME_FOOTER_CRC_LEN
FLAC__METADATA_TYPE_VORBIS_COMMENT
Definition: format.h:503
FLAC__StreamMetadata_Picture::mime_type
char * mime_type
Definition: format.h:773
FLAC__StreamMetadata_SeekTable
Definition: format.h:612
FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER
Definition: format.h:744
FLAC__StreamMetadata_CueSheet_Track::type
uint32_t type
Definition: format.h:676
FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER
Definition: format.h:397
FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN
FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN
FLAC__StreamMetadata_CueSheet::is_cd
FLAC__bool is_cd
Definition: format.h:713
FLAC__CHANNEL_ASSIGNMENT_MID_SIDE
Definition: format.h:385
FLAC__format_vorbiscomment_entry_value_is_legal
FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal(const FLAC__byte *value, uint32_t length)
FLAC__StreamMetadata_CueSheet_Track
Definition: format.h:666
FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST
Definition: format.h:745
FLAC__EntropyCodingMethod_PartitionedRiceContents::parameters
uint32_t * parameters
Definition: format.h:216
FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN
const uint32_t FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN
FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
const uint32_t FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
FLAC__MAX_CHANNELS
#define FLAC__MAX_CHANNELS
Definition: format.h:106
FLAC__FRAME_HEADER_SYNC
const uint32_t FLAC__FRAME_HEADER_SYNC
FLAC__format_cuesheet_is_legal
FLAC__bool FLAC__format_cuesheet_is_legal(const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation)
FLAC__StreamMetadata_Padding
Definition: format.h:554
FLAC__Subframe_LPC::quantization_level
int quantization_level
Definition: format.h:325
FLAC__StreamMetadata_CueSheet_Index
Definition: format.h:647
FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
FLAC__SUBFRAME_TYPE_LEN
const uint32_t FLAC__SUBFRAME_TYPE_LEN
FLAC__Subframe_LPC::residual
const FLAC__int32 * residual
Definition: format.h:334
FLAC__STREAM_METADATA_IS_LAST_LEN
const uint32_t FLAC__STREAM_METADATA_IS_LAST_LEN
FLAC__format_seektable_sort
uint32_t FLAC__format_seektable_sort(FLAC__StreamMetadata_SeekTable *seek_table)
FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN
FLAC__Subframe
Definition: format.h:344
FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN
FLAC__SUBFRAME_TYPE_LPC
Definition: format.h:271
FLAC__StreamMetadata_CueSheet_Track::pre_emphasis
uint32_t pre_emphasis
Definition: format.h:679
FLAC__FrameHeader::blocksize
uint32_t blocksize
Definition: format.h:412
FLAC__STREAM_METADATA_APPLICATION_ID_LEN
const uint32_t FLAC__STREAM_METADATA_APPLICATION_ID_LEN
FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
FLAC__StreamMetadata_CueSheet::num_tracks
uint32_t num_tracks
Definition: format.h:716
FLAC__FrameHeader
Definition: format.h:411
FLAC__StreamMetadata_SeekPoint::sample_number
FLAC__uint64 sample_number
Definition: format.h:575
FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK
const uint32_t FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK
FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE
Definition: format.h:748
FLAC__STREAM_METADATA_PICTURE_COLORS_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_COLORS_LEN
FLAC__StreamMetadata_CueSheet_Track::num_indices
FLAC__byte num_indices
Definition: format.h:682
FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN
FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN
const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN
FLAC__FrameHeader::sample_rate
uint32_t sample_rate
Definition: format.h:415
FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
FLAC__METADATA_TYPE_STREAMINFO
Definition: format.h:491
FLAC__Frame
Definition: format.h:473
FLAC__StreamMetadata_VorbisComment
Definition: format.h:634
FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER
Definition: format.h:736
FLAC__format_vorbiscomment_entry_is_legal
FLAC__bool FLAC__format_vorbiscomment_entry_is_legal(const FLAC__byte *entry, uint32_t length)
FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER
Definition: format.h:733
FLAC__SubframeType
FLAC__SubframeType
Definition: format.h:267
FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN
FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN
const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN
FLAC__MetadataTypeString
const char *const FLAC__MetadataTypeString[]
FLAC__StreamMetadata_CueSheet_Index::offset
FLAC__uint64 offset
Definition: format.h:648
FLAC__MAX_FIXED_ORDER
#define FLAC__MAX_FIXED_ORDER
Definition: format.h:148
FLAC__Subframe_Verbatim::data
const FLAC__int32 * data
Definition: format.h:292
FLAC__StreamMetadata::is_last
FLAC__bool is_last
Definition: format.h:840
FLAC__STREAM_METADATA_TYPE_LEN
const uint32_t FLAC__STREAM_METADATA_TYPE_LEN
FLAC__FRAME_HEADER_RESERVED_LEN
const uint32_t FLAC__FRAME_HEADER_RESERVED_LEN
FLAC__Subframe_LPC
Definition: format.h:315
FLAC__StreamMetadata_Picture::type
FLAC__StreamMetadata_Picture_Type type
Definition: format.h:770
FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION
Definition: format.h:746
FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN
FLAC__FrameNumberTypeString
const char *const FLAC__FrameNumberTypeString[]
FLAC__StreamMetadata
Definition: format.h:834
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER
FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE
Definition: format.h:383
FLAC__StreamMetadata_SeekPoint::stream_offset
FLAC__uint64 stream_offset
Definition: format.h:578
FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE
Definition: format.h:753
FLAC__format_sample_rate_is_valid
FLAC__bool FLAC__format_sample_rate_is_valid(uint32_t sample_rate)
FLAC__METADATA_TYPE_PICTURE
Definition: format.h:509
FLAC__Subframe_Fixed::order
uint32_t order
Definition: format.h:302
FLAC__FRAME_HEADER_CRC_LEN
const uint32_t FLAC__FRAME_HEADER_CRC_LEN
FLAC__FRAME_HEADER_SYNC_LEN
const uint32_t FLAC__FRAME_HEADER_SYNC_LEN
FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK
const uint32_t FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK
FLAC__StreamMetadata_Unknown
Definition: format.h:827
FLAC__format_vorbiscomment_entry_name_is_legal
FLAC__bool FLAC__format_vorbiscomment_entry_name_is_legal(const char *name)
FLAC__VERSION_STRING
const char * FLAC__VERSION_STRING
FLAC__StreamMetadata_CueSheet_Track::indices
FLAC__StreamMetadata_CueSheet_Index * indices
Definition: format.h:685
FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
FLAC__FRAME_HEADER_BLOCK_SIZE_LEN
const uint32_t FLAC__FRAME_HEADER_BLOCK_SIZE_LEN
FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN
FLAC__EntropyCodingMethodType
FLAC__EntropyCodingMethodType
Definition: format.h:194
FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN
const uint32_t FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN
FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST
Definition: format.h:741
FLAC__SUBFRAME_TYPE_CONSTANT
Definition: format.h:268
FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
FLAC__MetadataType
FLAC__MetadataType
Definition: format.h:489
FLAC__METADATA_TYPE_SEEKTABLE
Definition: format.h:500
FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION
Definition: format.h:751
FLAC__METADATA_TYPE_APPLICATION
Definition: format.h:497
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE
Definition: format.h:195
FLAC__StreamMetadata_VorbisComment_Entry
Definition: format.h:624
FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN
FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN
FLAC__SUBFRAME_TYPE_FIXED
Definition: format.h:270
FLAC__StreamMetadata_StreamInfo
Definition: format.h:529
FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN
const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN
FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN
FLAC__StreamMetadata_Picture::data_length
FLAC__uint32 data_length
Definition: format.h:805
FLAC__MAX_METADATA_TYPE_CODE
#define FLAC__MAX_METADATA_TYPE_CODE
Definition: format.h:93
FLAC__STREAM_SYNC
const uint32_t FLAC__STREAM_SYNC
FLAC__FrameHeader::channels
uint32_t channels
Definition: format.h:418
FLAC__StreamMetadata_Application
Definition: format.h:565
FLAC__EntropyCodingMethod_PartitionedRiceContents::capacity_by_order
uint32_t capacity_by_order
Definition: format.h:224
FLAC__STREAM_METADATA_LENGTH_LEN
const uint32_t FLAC__STREAM_METADATA_LENGTH_LEN
FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN
FLAC__STREAM_SYNC_LEN
const uint32_t FLAC__STREAM_SYNC_LEN
FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE
Definition: format.h:384
FLAC__StreamMetadata_Picture_Type
FLAC__StreamMetadata_Picture_Type
Definition: format.h:732
FLAC__ChannelAssignment
FLAC__ChannelAssignment
Definition: format.h:381
FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT
Definition: format.h:382
FLAC__MAX_LPC_ORDER
#define FLAC__MAX_LPC_ORDER
Definition: format.h:131
FLAC__METADATA_TYPE_PADDING
Definition: format.h:494
FLAC__VENDOR_STRING
const char * FLAC__VENDOR_STRING
FLAC__StreamMetadata_Padding::dummy
int dummy
Definition: format.h:555
FLAC__StreamMetadata_CueSheet::lead_in
FLAC__uint64 lead_in
Definition: format.h:710
FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN
const uint32_t FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN
FLAC__StreamMetadata_CueSheet
Definition: format.h:703
FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
const uint32_t FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
FLAC__FrameHeader::number_type
FLAC__FrameNumberType number_type
Definition: format.h:427
FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN
FLAC__StreamMetadata_CueSheet_Track::offset
FLAC__uint64 offset
Definition: format.h:667
FLAC__StreamMetadata::type
FLAC__MetadataType type
Definition: format.h:835
FLAC__format_picture_is_legal
FLAC__bool FLAC__format_picture_is_legal(const FLAC__StreamMetadata_Picture *picture, const char **violation)
FLAC__STREAM_METADATA_PICTURE_TYPE_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_TYPE_LEN
FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN
FLAC__Subframe_LPC::entropy_coding_method
FLAC__EntropyCodingMethod entropy_coding_method
Definition: format.h:316
FLAC__SUBFRAME_TYPE_VERBATIM
Definition: format.h:269
FLAC__FrameFooter
Definition: format.h:460
FLAC__MAX_METADATA_TYPE
Definition: format.h:515
FLAC__StreamMetadata_CueSheet_Index::number
FLAC__byte number
Definition: format.h:653
FLAC__Subframe_LPC::qlp_coeff_precision
uint32_t qlp_coeff_precision
Definition: format.h:322
FLAC__STREAM_METADATA_PICTURE_TYPE_FISH
Definition: format.h:750
FLAC__StreamMetadata::length
uint32_t length
Definition: format.h:843
FLAC__EntropyCodingMethod
Definition: format.h:255
FLAC__EntropyCodingMethod_PartitionedRiceContents
Definition: format.h:214
FLAC__StreamMetadata_SeekPoint::frame_samples
uint32_t frame_samples
Definition: format.h:582
FLAC__STREAM_METADATA_PICTURE_TYPE_BAND
Definition: format.h:743
FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN
const uint32_t FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN
FLAC__STREAM_SYNC_STRING
const FLAC__byte FLAC__STREAM_SYNC_STRING[4]
FLAC__EntropyCodingMethodTypeString
const char *const FLAC__EntropyCodingMethodTypeString[]
FLAC__SubframeTypeString
const char *const FLAC__SubframeTypeString[]
FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON
Definition: format.h:735
FLAC__Subframe_Fixed::residual
const FLAC__int32 * residual
Definition: format.h:308
FLAC__FrameNumberType
FLAC__FrameNumberType
Definition: format.h:396
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2
Definition: format.h:199
FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN
const uint32_t FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN
FLAC__StreamMetadata_SeekPoint
Definition: format.h:574
FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN
FLAC__StreamMetadata_Picture::data
FLAC__byte * data
Definition: format.h:808
FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE
Definition: format.h:749
FLAC__Subframe_Constant::value
FLAC__int32 value
Definition: format.h:285
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN
const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN
FLAC__StreamMetadata_Picture
Definition: format.h:769
FLAC__Subframe_Verbatim
Definition: format.h:291
FLAC__Subframe_Fixed::entropy_coding_method
FLAC__EntropyCodingMethod entropy_coding_method
Definition: format.h:299
FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN
const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN
FLAC__Subframe_Fixed
Definition: format.h:298
FLAC__StreamMetadata_Picture::depth
FLAC__uint32 depth
Definition: format.h:797
FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK
const uint32_t FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK
FLAC__Subframe_LPC::order
uint32_t order
Definition: format.h:319

Copyright (c) 2000-2009 Josh Coalson Copyright (c) 2011-2016 Xiph.Org Foundation |