FLAC: include/FLAC/format.h File Reference

FLAC 1.5.0 Free Lossless Audio Codec

Classes | Macros | Typedefs | Enumerations | Functions | Variables
format.h File Reference
`#include "export.h"`
`#include "ordinals.h"`

Go to the source code of this file.

## Classes
struct | FLAC__EntropyCodingMethod_PartitionedRiceContents
struct | FLAC__EntropyCodingMethod_PartitionedRice
struct | FLAC__EntropyCodingMethod
struct | FLAC__Subframe_Constant
struct | FLAC__Subframe_Verbatim
struct | FLAC__Subframe_Fixed
struct | FLAC__Subframe_LPC
struct | FLAC__Subframe
struct | FLAC__FrameHeader
struct | FLAC__FrameFooter
struct | FLAC__Frame
struct | FLAC__StreamMetadata_StreamInfo
struct | FLAC__StreamMetadata_Padding
struct | FLAC__StreamMetadata_Application
struct | FLAC__StreamMetadata_SeekPoint
struct | FLAC__StreamMetadata_SeekTable
struct | FLAC__StreamMetadata_VorbisComment_Entry
struct | FLAC__StreamMetadata_VorbisComment
struct | FLAC__StreamMetadata_CueSheet_Index
struct | FLAC__StreamMetadata_CueSheet_Track
struct | FLAC__StreamMetadata_CueSheet
struct | FLAC__StreamMetadata_Picture
struct | FLAC__StreamMetadata_Unknown
struct | FLAC__StreamMetadata

## Macros
#define | FLAC__MAX_METADATA_TYPE_CODE (126u)
#define | FLAC__MIN_BLOCK_SIZE (16u)
#define | FLAC__MAX_BLOCK_SIZE (65535u)
#define | FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ (4608u)
#define | FLAC__MAX_CHANNELS (8u)
#define | FLAC__MIN_BITS_PER_SAMPLE (4u)
#define | FLAC__MAX_BITS_PER_SAMPLE (32u)
#define | FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE (32u)
#define | FLAC__MAX_SAMPLE_RATE (1048575u)
#define | FLAC__MAX_LPC_ORDER (32u)
#define | FLAC__SUBSET_MAX_LPC_ORDER_48000HZ (12u)
#define | FLAC__MIN_QLP_COEFF_PRECISION (5u)
#define | FLAC__MAX_QLP_COEFF_PRECISION (15u)
#define | FLAC__MAX_FIXED_ORDER (4u)
#define | FLAC__MAX_RICE_PARTITION_ORDER (15u)
#define | FLAC__SUBSET_MAX_RICE_PARTITION_ORDER (8u)
#define | FLAC__STREAM_SYNC_LENGTH (4u)
#define | FLAC__STREAM_METADATA_STREAMINFO_LENGTH (34u)
#define | FLAC__STREAM_METADATA_SEEKPOINT_LENGTH (18u)
#define | FLAC__STREAM_METADATA_HEADER_LENGTH (4u)

## Typedefs
typedef struct FLAC__StreamMetadata | FLAC__StreamMetadata

## Enumerations
enum | FLAC__EntropyCodingMethodType { FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE = 0 , FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2 = 1 }
enum | FLAC__SubframeType { FLAC__SUBFRAME_TYPE_CONSTANT = 0 , FLAC__SUBFRAME_TYPE_VERBATIM = 1 , FLAC__SUBFRAME_TYPE_FIXED = 2 , FLAC__SUBFRAME_TYPE_LPC = 3 }
enum | FLAC__VerbatimSubframeDataType { FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT32 , FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT64 }
enum | FLAC__ChannelAssignment { FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT = 0 , FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE = 1 , FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE = 2 , FLAC__CHANNEL_ASSIGNMENT_MID_SIDE = 3 }
enum | FLAC__FrameNumberType { FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER , FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER }
enum | FLAC__MetadataType { FLAC__METADATA_TYPE_STREAMINFO = 0 , FLAC__METADATA_TYPE_PADDING = 1 , FLAC__METADATA_TYPE_APPLICATION = 2 , FLAC__METADATA_TYPE_SEEKTABLE = 3 , FLAC__METADATA_TYPE_VORBIS_COMMENT = 4 , FLAC__METADATA_TYPE_CUESHEET = 5 , FLAC__METADATA_TYPE_PICTURE = 6 , FLAC__METADATA_TYPE_UNDEFINED = 7 , FLAC__MAX_METADATA_TYPE = FLAC__MAX_METADATA_TYPE_CODE }
enum | FLAC__StreamMetadata_Picture_Type { FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER = 0 , FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD = 1 , FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON = 2 , FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER = 3 , FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER = 4 , FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE = 5 , FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA = 6 , FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST = 7 , FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST = 8 , FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR = 9 , FLAC__STREAM_METADATA_PICTURE_TYPE_BAND = 10 , FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER = 11 , FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST = 12 , FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION = 13 , FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING = 14 , FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE = 15 , FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE = 16 , FLAC__STREAM_METADATA_PICTURE_TYPE_FISH = 17 , FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION = 18 , FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE = 19 , FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE = 20 , FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED }

## Functions
FLAC__bool | FLAC__format_sample_rate_is_valid (uint32_t sample_rate)
FLAC__bool | FLAC__format_blocksize_is_subset (uint32_t blocksize, uint32_t sample_rate)
FLAC__bool | FLAC__format_sample_rate_is_subset (uint32_t sample_rate)
FLAC__bool | FLAC__format_vorbiscomment_entry_name_is_legal (const char *name)
FLAC__bool | FLAC__format_vorbiscomment_entry_value_is_legal (const FLAC__byte *value, uint32_t length)
FLAC__bool | FLAC__format_vorbiscomment_entry_is_legal (const FLAC__byte *entry, uint32_t length)
FLAC__bool | FLAC__format_seektable_is_legal (const FLAC__StreamMetadata_SeekTable *seek_table)
uint32_t | FLAC__format_seektable_sort (FLAC__StreamMetadata_SeekTable *seek_table)
FLAC__bool | FLAC__format_cuesheet_is_legal (const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation)
FLAC__bool | FLAC__format_picture_is_legal (const FLAC__StreamMetadata_Picture *picture, const char **violation)

## Variables
const char * | FLAC__VERSION_STRING
const char * | FLAC__VENDOR_STRING
const FLAC__byte | FLAC__STREAM_SYNC_STRING [4]
const uint32_t | FLAC__STREAM_SYNC
const uint32_t | FLAC__STREAM_SYNC_LEN
const char *const | FLAC__EntropyCodingMethodTypeString []
const uint32_t | FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN
const uint32_t | FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN
const uint32_t | FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN
const uint32_t | FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN
const uint32_t | FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER
const uint32_t | FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER
const uint32_t | FLAC__ENTROPY_CODING_METHOD_TYPE_LEN
const char *const | FLAC__SubframeTypeString []
const uint32_t | FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN
const uint32_t | FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
const uint32_t | FLAC__SUBFRAME_ZERO_PAD_LEN
const uint32_t | FLAC__SUBFRAME_TYPE_LEN
const uint32_t | FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN
const uint32_t | FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK
const uint32_t | FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK
const uint32_t | FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK
const uint32_t | FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK
const char *const | FLAC__ChannelAssignmentString []
const char *const | FLAC__FrameNumberTypeString []
const uint32_t | FLAC__FRAME_HEADER_SYNC
const uint32_t | FLAC__FRAME_HEADER_SYNC_LEN
const uint32_t | FLAC__FRAME_HEADER_RESERVED_LEN
const uint32_t | FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
const uint32_t | FLAC__FRAME_HEADER_BLOCK_SIZE_LEN
const uint32_t | FLAC__FRAME_HEADER_SAMPLE_RATE_LEN
const uint32_t | FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN
const uint32_t | FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN
const uint32_t | FLAC__FRAME_HEADER_ZERO_PAD_LEN
const uint32_t | FLAC__FRAME_HEADER_CRC_LEN
const uint32_t | FLAC__FRAME_FOOTER_CRC_LEN
const char *const | FLAC__MetadataTypeString []
const uint32_t | FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN
const uint32_t | FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN
const uint32_t | FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN
const uint32_t | FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN
const uint32_t | FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN
const uint32_t | FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN
const uint32_t | FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
const uint32_t | FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN
const uint32_t | FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN
const uint32_t | FLAC__STREAM_METADATA_APPLICATION_ID_LEN
const uint32_t | FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN
const uint32_t | FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN
const uint32_t | FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN
const FLAC__uint64 | FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER
const uint32_t | FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
const uint32_t | FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
const uint32_t | FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
const char *const | FLAC__StreamMetadata_Picture_TypeString []
const uint32_t | FLAC__STREAM_METADATA_PICTURE_TYPE_LEN
const uint32_t | FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN
const uint32_t | FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN
const uint32_t | FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN
const uint32_t | FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN
const uint32_t | FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN
const uint32_t | FLAC__STREAM_METADATA_PICTURE_COLORS_LEN
const uint32_t | FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN
const uint32_t | FLAC__STREAM_METADATA_IS_LAST_LEN
const uint32_t | FLAC__STREAM_METADATA_TYPE_LEN
const uint32_t | FLAC__STREAM_METADATA_LENGTH_LEN

## Detailed Description

This module contains structure definitions for the representation of FLAC format components in memory. These are the basic structures used by the rest of the interfaces.

See the detailed documentation in the format module.

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