FLAC 1.4.2
Free Lossless Audio Codec
Classes | Macros | Typedefs | Enumerations | Enumerator | Functions | Variables
FLAC/format.h: format components

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 []
 
uint32_t * FLAC__EntropyCodingMethod_PartitionedRiceContents::parameters
 
uint32_t * FLAC__EntropyCodingMethod_PartitionedRiceContents::raw_bits
 
uint32_t FLAC__EntropyCodingMethod_PartitionedRiceContents::capacity_by_order
 
uint32_t FLAC__EntropyCodingMethod_PartitionedRice::order
 
const FLAC__EntropyCodingMethod_PartitionedRiceContentsFLAC__EntropyCodingMethod_PartitionedRice::contents
 
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
 
FLAC__EntropyCodingMethodType FLAC__EntropyCodingMethod::type
 
FLAC__EntropyCodingMethod_PartitionedRice   FLAC__EntropyCodingMethod::partitioned_rice
 
union {
   FLAC__EntropyCodingMethod_PartitionedRice   partitioned_rice
 
FLAC__EntropyCodingMethod::data
 
const uint32_t FLAC__ENTROPY_CODING_METHOD_TYPE_LEN
 
const char *const FLAC__SubframeTypeString []
 
FLAC__int64 FLAC__Subframe_Constant::value
 
const FLAC__int32 *   FLAC__Subframe_Verbatim::int32
 
const FLAC__int64 *   FLAC__Subframe_Verbatim::int64
 
union {
   const FLAC__int32 *   FLAC__Subframe_Verbatim::int32
 
   const FLAC__int64 *   FLAC__Subframe_Verbatim::int64
 
FLAC__Subframe_Verbatim::data
 
FLAC__VerbatimSubframeDataType FLAC__Subframe_Verbatim::data_type
 
FLAC__EntropyCodingMethod FLAC__Subframe_Fixed::entropy_coding_method
 
uint32_t FLAC__Subframe_Fixed::order
 
FLAC__int64 FLAC__Subframe_Fixed::warmup [FLAC__MAX_FIXED_ORDER]
 
const FLAC__int32 * FLAC__Subframe_Fixed::residual
 
FLAC__EntropyCodingMethod FLAC__Subframe_LPC::entropy_coding_method
 
uint32_t FLAC__Subframe_LPC::order
 
uint32_t FLAC__Subframe_LPC::qlp_coeff_precision
 
int FLAC__Subframe_LPC::quantization_level
 
FLAC__int32 FLAC__Subframe_LPC::qlp_coeff [FLAC__MAX_LPC_ORDER]
 
FLAC__int64 FLAC__Subframe_LPC::warmup [FLAC__MAX_LPC_ORDER]
 
const FLAC__int32 * FLAC__Subframe_LPC::residual
 
const uint32_t FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN
 
const uint32_t FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
 
FLAC__SubframeType FLAC__Subframe::type
 
FLAC__Subframe_Constant   FLAC__Subframe::constant
 
FLAC__Subframe_Fixed   FLAC__Subframe::fixed
 
FLAC__Subframe_LPC   FLAC__Subframe::lpc
 
FLAC__Subframe_Verbatim   FLAC__Subframe::verbatim
 
union {
   FLAC__Subframe_Constant   constant
 
   FLAC__Subframe_Fixed   fixed
 
   FLAC__Subframe_LPC   lpc
 
   FLAC__Subframe_Verbatim   verbatim
 
FLAC__Subframe::data
 
uint32_t FLAC__Subframe::wasted_bits
 
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 []
 
uint32_t FLAC__FrameHeader::blocksize
 
uint32_t FLAC__FrameHeader::sample_rate
 
uint32_t FLAC__FrameHeader::channels
 
FLAC__ChannelAssignment FLAC__FrameHeader::channel_assignment
 
uint32_t FLAC__FrameHeader::bits_per_sample
 
FLAC__FrameNumberType FLAC__FrameHeader::number_type
 
FLAC__uint32   FLAC__FrameHeader::frame_number
 
FLAC__uint64   FLAC__FrameHeader::sample_number
 
union {
   FLAC__uint32   frame_number
 
   FLAC__uint64   sample_number
 
FLAC__FrameHeader::number
 
FLAC__uint8 FLAC__FrameHeader::crc
 
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
 
FLAC__uint16 FLAC__FrameFooter::crc
 
const uint32_t FLAC__FRAME_FOOTER_CRC_LEN
 
FLAC__FrameHeader FLAC__Frame::header
 
FLAC__Subframe FLAC__Frame::subframes [FLAC__MAX_CHANNELS]
 
FLAC__FrameFooter FLAC__Frame::footer
 
const char *const FLAC__MetadataTypeString []
 
uint32_t FLAC__StreamMetadata_StreamInfo::min_blocksize
 
uint32_t FLAC__StreamMetadata_StreamInfo::max_blocksize
 
uint32_t FLAC__StreamMetadata_StreamInfo::min_framesize
 
uint32_t FLAC__StreamMetadata_StreamInfo::max_framesize
 
uint32_t FLAC__StreamMetadata_StreamInfo::sample_rate
 
uint32_t FLAC__StreamMetadata_StreamInfo::channels
 
uint32_t FLAC__StreamMetadata_StreamInfo::bits_per_sample
 
FLAC__uint64 FLAC__StreamMetadata_StreamInfo::total_samples
 
FLAC__byte FLAC__StreamMetadata_StreamInfo::md5sum [16]
 
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
 
int FLAC__StreamMetadata_Padding::dummy
 
FLAC__byte FLAC__StreamMetadata_Application::id [4]
 
FLAC__byte * FLAC__StreamMetadata_Application::data
 
const uint32_t FLAC__STREAM_METADATA_APPLICATION_ID_LEN
 
FLAC__uint64 FLAC__StreamMetadata_SeekPoint::sample_number
 
FLAC__uint64 FLAC__StreamMetadata_SeekPoint::stream_offset
 
uint32_t FLAC__StreamMetadata_SeekPoint::frame_samples
 
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
 
uint32_t FLAC__StreamMetadata_SeekTable::num_points
 
FLAC__StreamMetadata_SeekPointFLAC__StreamMetadata_SeekTable::points
 
FLAC__uint32 FLAC__StreamMetadata_VorbisComment_Entry::length
 
FLAC__byte * FLAC__StreamMetadata_VorbisComment_Entry::entry
 
const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
 
FLAC__StreamMetadata_VorbisComment_Entry FLAC__StreamMetadata_VorbisComment::vendor_string
 
FLAC__uint32 FLAC__StreamMetadata_VorbisComment::num_comments
 
FLAC__StreamMetadata_VorbisComment_EntryFLAC__StreamMetadata_VorbisComment::comments
 
const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
 
FLAC__uint64 FLAC__StreamMetadata_CueSheet_Index::offset
 
FLAC__byte FLAC__StreamMetadata_CueSheet_Index::number
 
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
 
FLAC__uint64 FLAC__StreamMetadata_CueSheet_Track::offset
 
FLAC__byte FLAC__StreamMetadata_CueSheet_Track::number
 
char FLAC__StreamMetadata_CueSheet_Track::isrc [13]
 
uint32_t FLAC__StreamMetadata_CueSheet_Track::type:1
 
uint32_t FLAC__StreamMetadata_CueSheet_Track::pre_emphasis:1
 
FLAC__byte FLAC__StreamMetadata_CueSheet_Track::num_indices
 
FLAC__StreamMetadata_CueSheet_IndexFLAC__StreamMetadata_CueSheet_Track::indices
 
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
 
char FLAC__StreamMetadata_CueSheet::media_catalog_number [129]
 
FLAC__uint64 FLAC__StreamMetadata_CueSheet::lead_in
 
FLAC__bool FLAC__StreamMetadata_CueSheet::is_cd
 
uint32_t FLAC__StreamMetadata_CueSheet::num_tracks
 
FLAC__StreamMetadata_CueSheet_TrackFLAC__StreamMetadata_CueSheet::tracks
 
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 []
 
FLAC__StreamMetadata_Picture_Type FLAC__StreamMetadata_Picture::type
 
char * FLAC__StreamMetadata_Picture::mime_type
 
FLAC__byte * FLAC__StreamMetadata_Picture::description
 
FLAC__uint32 FLAC__StreamMetadata_Picture::width
 
FLAC__uint32 FLAC__StreamMetadata_Picture::height
 
FLAC__uint32 FLAC__StreamMetadata_Picture::depth
 
FLAC__uint32 FLAC__StreamMetadata_Picture::colors
 
FLAC__uint32 FLAC__StreamMetadata_Picture::data_length
 
FLAC__byte * FLAC__StreamMetadata_Picture::data
 
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
 
FLAC__byte * FLAC__StreamMetadata_Unknown::data
 
FLAC__MetadataType FLAC__StreamMetadata::type
 
FLAC__bool FLAC__StreamMetadata::is_last
 
uint32_t FLAC__StreamMetadata::length
 
FLAC__StreamMetadata_StreamInfo   FLAC__StreamMetadata::stream_info
 
FLAC__StreamMetadata_Padding   FLAC__StreamMetadata::padding
 
FLAC__StreamMetadata_Application   FLAC__StreamMetadata::application
 
FLAC__StreamMetadata_SeekTable   FLAC__StreamMetadata::seek_table
 
FLAC__StreamMetadata_VorbisComment   FLAC__StreamMetadata::vorbis_comment
 
FLAC__StreamMetadata_CueSheet   FLAC__StreamMetadata::cue_sheet
 
FLAC__StreamMetadata_Picture   FLAC__StreamMetadata::picture
 
FLAC__StreamMetadata_Unknown   FLAC__StreamMetadata::unknown
 
union {
   FLAC__StreamMetadata_StreamInfo   stream_info
 
   FLAC__StreamMetadata_Padding   padding
 
   FLAC__StreamMetadata_Application   application
 
   FLAC__StreamMetadata_SeekTable   seek_table
 
   FLAC__StreamMetadata_VorbisComment   vorbis_comment
 
   FLAC__StreamMetadata_CueSheet   cue_sheet
 
   FLAC__StreamMetadata_Picture   picture
 
   FLAC__StreamMetadata_Unknown   unknown
 
FLAC__StreamMetadata::data
 
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.

First, you should be familiar with the FLAC format. Many of the values here follow directly from the specification. As a user of libFLAC, the interesting parts really are the structures that describe the frame header and metadata blocks.

The format structures here are very primitive, designed to store information in an efficient way. Reading information from the structures is easy but creating or modifying them directly is more complex. For the most part, as a user of a library, editing is not necessary; however, for metadata blocks it is, so there are convenience functions provided in the metadata module to simplify the manipulation of metadata blocks.

Note
It's not the best convention, but symbols ending in _LEN are in bits and _LENGTH are in bytes. _LENGTH symbols are #defines instead of global variables because they are usually used when declaring byte arrays and some compilers require compile-time knowledge of array sizes when declared on the stack.

Macro Definition Documentation

◆ FLAC__MAX_METADATA_TYPE_CODE

#define FLAC__MAX_METADATA_TYPE_CODE   (126u)

The largest legal metadata type code.

◆ FLAC__MIN_BLOCK_SIZE

#define FLAC__MIN_BLOCK_SIZE   (16u)

The minimum block size, in samples, permitted by the format.

◆ FLAC__MAX_BLOCK_SIZE

#define FLAC__MAX_BLOCK_SIZE   (65535u)

The maximum block size, in samples, permitted by the format.

◆ FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ

#define FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ   (4608u)

The maximum block size, in samples, permitted by the FLAC subset for sample rates up to 48kHz.

◆ FLAC__MAX_CHANNELS

#define FLAC__MAX_CHANNELS   (8u)

The maximum number of channels permitted by the format.

◆ FLAC__MIN_BITS_PER_SAMPLE

#define FLAC__MIN_BITS_PER_SAMPLE   (4u)

The minimum sample resolution permitted by the format.

◆ FLAC__MAX_BITS_PER_SAMPLE

#define FLAC__MAX_BITS_PER_SAMPLE   (32u)

The maximum sample resolution permitted by the format.

◆ FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE

#define FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE   (32u)

The maximum sample resolution permitted by libFLAC.

FLAC__MAX_BITS_PER_SAMPLE is the limit of the FLAC format. However, the reference encoder/decoder used to be limited to 24 bits. This value was used to signal that limit.

◆ FLAC__MAX_SAMPLE_RATE

#define FLAC__MAX_SAMPLE_RATE   (1048575u)

The maximum sample rate permitted by the format. The value is ((2 ^ 20) - 1)

◆ FLAC__MAX_LPC_ORDER

#define FLAC__MAX_LPC_ORDER   (32u)

The maximum LPC order permitted by the format.

◆ FLAC__SUBSET_MAX_LPC_ORDER_48000HZ

#define FLAC__SUBSET_MAX_LPC_ORDER_48000HZ   (12u)

The maximum LPC order permitted by the FLAC subset for sample rates up to 48kHz.

◆ FLAC__MIN_QLP_COEFF_PRECISION

#define FLAC__MIN_QLP_COEFF_PRECISION   (5u)

The minimum quantized linear predictor coefficient precision permitted by the format.

◆ FLAC__MAX_QLP_COEFF_PRECISION

#define FLAC__MAX_QLP_COEFF_PRECISION   (15u)

The maximum quantized linear predictor coefficient precision permitted by the format.

◆ FLAC__MAX_FIXED_ORDER

#define FLAC__MAX_FIXED_ORDER   (4u)

The maximum order of the fixed predictors permitted by the format.

◆ FLAC__MAX_RICE_PARTITION_ORDER

#define FLAC__MAX_RICE_PARTITION_ORDER   (15u)

The maximum Rice partition order permitted by the format.

◆ FLAC__SUBSET_MAX_RICE_PARTITION_ORDER

#define FLAC__SUBSET_MAX_RICE_PARTITION_ORDER   (8u)

The maximum Rice partition order permitted by the FLAC Subset.

◆ FLAC__STREAM_SYNC_LENGTH

#define FLAC__STREAM_SYNC_LENGTH   (4u)

The length of the FLAC signature in bytes.

◆ FLAC__STREAM_METADATA_STREAMINFO_LENGTH

#define FLAC__STREAM_METADATA_STREAMINFO_LENGTH   (34u)

The total stream length of the STREAMINFO block in bytes.

◆ FLAC__STREAM_METADATA_SEEKPOINT_LENGTH

#define FLAC__STREAM_METADATA_SEEKPOINT_LENGTH   (18u)

The total stream length of a seek point in bytes.

◆ FLAC__STREAM_METADATA_HEADER_LENGTH

#define FLAC__STREAM_METADATA_HEADER_LENGTH   (4u)

The total stream length of a metadata block header in bytes.

Typedef Documentation

◆ FLAC__StreamMetadata

FLAC metadata block structure. (c.f. format specification)

Enumeration Type Documentation

◆ FLAC__EntropyCodingMethodType

An enumeration of the available entropy coding methods.

Enumerator
FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE 

Residual is coded by partitioning into contexts, each with it's own 4-bit Rice parameter.

FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2 

Residual is coded by partitioning into contexts, each with it's own 5-bit Rice parameter.

◆ FLAC__SubframeType

An enumeration of the available subframe types.

Enumerator
FLAC__SUBFRAME_TYPE_CONSTANT 

constant signal

FLAC__SUBFRAME_TYPE_VERBATIM 

uncompressed signal

FLAC__SUBFRAME_TYPE_FIXED 

fixed polynomial prediction

FLAC__SUBFRAME_TYPE_LPC 

linear prediction

◆ FLAC__VerbatimSubframeDataType

An enumeration of the possible verbatim subframe data types.

Enumerator
FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT32 

verbatim subframe has 32-bit int

FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT64 

verbatim subframe has 64-bit int

◆ FLAC__ChannelAssignment

An enumeration of the available channel assignments.

Enumerator
FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT 

independent channels

FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE 

left+side stereo

FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE 

right+side stereo

FLAC__CHANNEL_ASSIGNMENT_MID_SIDE 

mid+side stereo

◆ FLAC__FrameNumberType

An enumeration of the possible frame numbering methods.

Enumerator
FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER 

number contains the frame number

FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER 

number contains the sample number of first sample in frame

◆ FLAC__MetadataType

An enumeration of the available metadata block types.

Enumerator
FLAC__METADATA_TYPE_STREAMINFO 

STREAMINFO block

FLAC__METADATA_TYPE_PADDING 

PADDING block

FLAC__METADATA_TYPE_APPLICATION 

APPLICATION block

FLAC__METADATA_TYPE_SEEKTABLE 

SEEKTABLE block

FLAC__METADATA_TYPE_VORBIS_COMMENT 

VORBISCOMMENT block (a.k.a. FLAC tags)

FLAC__METADATA_TYPE_CUESHEET 

CUESHEET block

FLAC__METADATA_TYPE_PICTURE 

PICTURE block

FLAC__METADATA_TYPE_UNDEFINED 

marker to denote beginning of undefined type range; this number will increase as new metadata types are added

FLAC__MAX_METADATA_TYPE 

No type will ever be greater than this. There is not enough room in the protocol block.

◆ FLAC__StreamMetadata_Picture_Type

An enumeration of the PICTURE types (see FLAC__StreamMetadataPicture and id3 v2.4 APIC tag).

Enumerator
FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER 

Other

FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD 

32x32 pixels 'file icon' (PNG only)

FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON 

Other file icon

FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER 

Cover (front)

FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER 

Cover (back)

FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE 

Leaflet page

FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA 

Media (e.g. label side of CD)

FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST 

Lead artist/lead performer/soloist

FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST 

Artist/performer

FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR 

Conductor

FLAC__STREAM_METADATA_PICTURE_TYPE_BAND 

Band/Orchestra

FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER 

Composer

FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST 

Lyricist/text writer

FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION 

Recording Location

FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING 

During recording

FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE 

During performance

FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE 

Movie/video screen capture

FLAC__STREAM_METADATA_PICTURE_TYPE_FISH 

A bright coloured fish

FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION 

Illustration

FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE 

Band/artist logotype

FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE 

Publisher/Studio logotype

Function Documentation

◆ FLAC__format_sample_rate_is_valid()

FLAC__bool FLAC__format_sample_rate_is_valid ( uint32_t  sample_rate)

Tests that a sample rate is valid for FLAC.

Parameters
sample_rateThe sample rate to test for compliance.
Return values
FLAC__booltrue if the given sample rate conforms to the specification, else false.

◆ FLAC__format_blocksize_is_subset()

FLAC__bool FLAC__format_blocksize_is_subset ( uint32_t  blocksize,
uint32_t  sample_rate 
)

Tests that a blocksize at the given sample rate is valid for the FLAC subset.

Parameters
blocksizeThe blocksize to test for compliance.
sample_rateThe sample rate is needed, since the valid subset blocksize depends on the sample rate.
Return values
FLAC__booltrue if the given blocksize conforms to the specification for the subset at the given sample rate, else false.

◆ FLAC__format_sample_rate_is_subset()

FLAC__bool FLAC__format_sample_rate_is_subset ( uint32_t  sample_rate)

Tests that a sample rate is valid for the FLAC subset. The subset rules for valid sample rates are slightly more complex since the rate has to be expressible completely in the frame header.

Parameters
sample_rateThe sample rate to test for compliance.
Return values
FLAC__booltrue if the given sample rate conforms to the specification for the subset, else false.

◆ FLAC__format_vorbiscomment_entry_name_is_legal()

FLAC__bool FLAC__format_vorbiscomment_entry_name_is_legal ( const char *  name)

Check a Vorbis comment entry name to see if it conforms to the Vorbis comment specification.

Vorbis comment names must be composed only of characters from [0x20-0x3C,0x3E-0x7D].

Parameters
nameA NUL-terminated string to be checked.
Assertions:
name != NULL
Return values
FLAC__boolfalse if entry name is illegal, else true.

◆ FLAC__format_vorbiscomment_entry_value_is_legal()

FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal ( const FLAC__byte *  value,
uint32_t  length 
)

Check a Vorbis comment entry value to see if it conforms to the Vorbis comment specification.

Vorbis comment values must be valid UTF-8 sequences.

Parameters
valueA string to be checked.
lengthA the length of value in bytes. May be (uint32_t)(-1) to indicate that value is a plain UTF-8 NUL-terminated string.
Assertions:
value != NULL
Return values
FLAC__boolfalse if entry name is illegal, else true.

◆ FLAC__format_vorbiscomment_entry_is_legal()

FLAC__bool FLAC__format_vorbiscomment_entry_is_legal ( const FLAC__byte *  entry,
uint32_t  length 
)

Check a Vorbis comment entry to see if it conforms to the Vorbis comment specification.

Vorbis comment entries must be of the form 'name=value', and 'name' and 'value' must be legal according to FLAC__format_vorbiscomment_entry_name_is_legal() and FLAC__format_vorbiscomment_entry_value_is_legal() respectively.

Parameters
entryAn entry to be checked.
lengthThe length of entry in bytes.
Assertions:
value != NULL
Return values
FLAC__boolfalse if entry name is illegal, else true.

◆ FLAC__format_seektable_is_legal()

FLAC__bool FLAC__format_seektable_is_legal ( const FLAC__StreamMetadata_SeekTable seek_table)

Check a seek table to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the seek table.

Parameters
seek_tableA pointer to a seek table to be checked.
Assertions:
seek_table != NULL
Return values
FLAC__boolfalse if seek table is illegal, else true.

◆ FLAC__format_seektable_sort()

uint32_t FLAC__format_seektable_sort ( FLAC__StreamMetadata_SeekTable seek_table)

Sort a seek table's seek points according to the format specification. This includes a "unique-ification" step to remove duplicates, i.e. seek points with identical sample_number values. Duplicate seek points are converted into placeholder points and sorted to the end of the table.

Parameters
seek_tableA pointer to a seek table to be sorted.
Assertions:
seek_table != NULL
Return values
uint32_tThe number of duplicate seek points converted into placeholders.

◆ 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 
)

Check a cue sheet to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the cue sheet.

Parameters
cue_sheetA pointer to an existing cue sheet to be checked.
check_cd_da_subsetIf true, check CUESHEET against more stringent requirements for a CD-DA (audio) disc.
violationAddress of a pointer to a string. If there is a violation, a pointer to a string explanation of the violation will be returned here. violation may be NULL if you don't need the returned string. Do not free the returned string; it will always point to static data.
Assertions:
cue_sheet != NULL
Return values
FLAC__boolfalse if cue sheet is illegal, else true.

◆ FLAC__format_picture_is_legal()

FLAC__bool FLAC__format_picture_is_legal ( const FLAC__StreamMetadata_Picture picture,
const char **  violation 
)

Check picture data to see if it conforms to the FLAC specification. See the format specification for limits on the contents of the PICTURE block.

Parameters
pictureA pointer to existing picture data to be checked.
violationAddress of a pointer to a string. If there is a violation, a pointer to a string explanation of the violation will be returned here. violation may be NULL if you don't need the returned string. Do not free the returned string; it will always point to static data.
Assertions:
picture != NULL
Return values
FLAC__boolfalse if picture data is illegal, else true.

Variable Documentation

◆ FLAC__VERSION_STRING

const char* FLAC__VERSION_STRING
extern

The version string of the release, stamped onto the libraries and binaries.

Note
This does not correspond to the shared library version number, which is used to determine binary compatibility.

◆ FLAC__VENDOR_STRING

const char* FLAC__VENDOR_STRING
extern

The vendor string inserted by the encoder into the VORBIS_COMMENT block. This is a NUL-terminated ASCII string; when inserted into the VORBIS_COMMENT the trailing null is stripped.

◆ FLAC__STREAM_SYNC_STRING

const FLAC__byte FLAC__STREAM_SYNC_STRING[4]
extern

The byte string representation of the beginning of a FLAC stream.

◆ FLAC__STREAM_SYNC

const uint32_t FLAC__STREAM_SYNC
extern

The 32-bit integer big-endian representation of the beginning of a FLAC stream.

◆ FLAC__STREAM_SYNC_LEN

const uint32_t FLAC__STREAM_SYNC_LEN
extern

The length of the FLAC signature in bits.

◆ FLAC__EntropyCodingMethodTypeString

const char* const FLAC__EntropyCodingMethodTypeString[]
extern

Maps a FLAC__EntropyCodingMethodType to a C string.

Using a FLAC__EntropyCodingMethodType as the index to this array will give the string equivalent. The contents should not be modified.

◆ parameters

uint32_t* FLAC__EntropyCodingMethod_PartitionedRiceContents::parameters

The Rice parameters for each context.

◆ raw_bits

uint32_t* FLAC__EntropyCodingMethod_PartitionedRiceContents::raw_bits

Widths for escape-coded partitions. Will be non-zero for escaped partitions and zero for unescaped partitions.

◆ capacity_by_order

uint32_t FLAC__EntropyCodingMethod_PartitionedRiceContents::capacity_by_order

The capacity of the parameters and raw_bits arrays specified as an order, i.e. the number of array elements allocated is 2 ^ capacity_by_order.

◆ order [1/3]

uint32_t FLAC__EntropyCodingMethod_PartitionedRice::order

The partition order, i.e. # of contexts = 2 ^ order.

◆ contents

const FLAC__EntropyCodingMethod_PartitionedRiceContents* FLAC__EntropyCodingMethod_PartitionedRice::contents

The context's Rice parameters and/or raw bits.

◆ FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN

const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN
extern

== 4 (bits)

◆ FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN

const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN
extern

== 4 (bits)

◆ FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN

const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN
extern

== 5 (bits)

◆ FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN

const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN
extern

== 5 (bits)

◆ FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER

const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER
extern

== (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN)-1

◆ FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER

const uint32_t FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER
extern

== (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN)-1

◆ FLAC__ENTROPY_CODING_METHOD_TYPE_LEN

const uint32_t FLAC__ENTROPY_CODING_METHOD_TYPE_LEN
extern

== 2 (bits)

◆ FLAC__SubframeTypeString

const char* const FLAC__SubframeTypeString[]
extern

Maps a FLAC__SubframeType to a C string.

Using a FLAC__SubframeType as the index to this array will give the string equivalent. The contents should not be modified.

◆ value

FLAC__int64 FLAC__Subframe_Constant::value

The constant signal value.

◆ int32 [1/2]

const FLAC__int32* FLAC__Subframe_Verbatim::int32

A FLAC__int32 pointer to verbatim signal.

◆  [2/2]

const FLAC__int32* { ... } ::int32

A FLAC__int32 pointer to verbatim signal.

◆ int64 [1/2]

const FLAC__int64* FLAC__Subframe_Verbatim::int64

A FLAC__int64 pointer to verbatim signal.

◆  [2/2]

const FLAC__int64* { ... } ::int64

A FLAC__int64 pointer to verbatim signal.

◆ entropy_coding_method [1/2]

FLAC__EntropyCodingMethod FLAC__Subframe_Fixed::entropy_coding_method

The residual coding method.

◆ order [2/3]

uint32_t FLAC__Subframe_Fixed::order

The polynomial order.

◆ warmup [1/2]

FLAC__int64 FLAC__Subframe_Fixed::warmup[FLAC__MAX_FIXED_ORDER]

Warmup samples to prime the predictor, length == order.

◆ residual [1/2]

const FLAC__int32* FLAC__Subframe_Fixed::residual

The residual signal, length == (blocksize minus order) samples.

◆ entropy_coding_method [2/2]

FLAC__EntropyCodingMethod FLAC__Subframe_LPC::entropy_coding_method

The residual coding method.

◆ order [3/3]

uint32_t FLAC__Subframe_LPC::order

The FIR order.

◆ qlp_coeff_precision

uint32_t FLAC__Subframe_LPC::qlp_coeff_precision

Quantized FIR filter coefficient precision in bits.

◆ quantization_level

int FLAC__Subframe_LPC::quantization_level

The qlp coeff shift needed.

◆ qlp_coeff

FLAC__int32 FLAC__Subframe_LPC::qlp_coeff[FLAC__MAX_LPC_ORDER]

FIR filter coefficients.

◆ warmup [2/2]

FLAC__int64 FLAC__Subframe_LPC::warmup[FLAC__MAX_LPC_ORDER]

Warmup samples to prime the predictor, length == order.

◆ residual [2/2]

const FLAC__int32* FLAC__Subframe_LPC::residual

The residual signal, length == (blocksize minus order) samples.

◆ FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN

const uint32_t FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN
extern

== 4 (bits)

◆ FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN

const uint32_t FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
extern

== 5 (bits)

◆ FLAC__SUBFRAME_ZERO_PAD_LEN

const uint32_t FLAC__SUBFRAME_ZERO_PAD_LEN
extern

== 1 (bit)

This used to be a zero-padding bit (hence the name FLAC__SUBFRAME_ZERO_PAD_LEN) but is now a reserved bit. It still has a mandatory value of 0 but in the future may take on the value 0 or 1 to mean something else.

◆ FLAC__SUBFRAME_TYPE_LEN

const uint32_t FLAC__SUBFRAME_TYPE_LEN
extern

== 6 (bits)

◆ FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN

const uint32_t FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN
extern

== 1 (bit)

◆ FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK

const uint32_t FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK
extern

= 0x00

◆ FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK

const uint32_t FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK
extern

= 0x02

◆ FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK

const uint32_t FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK
extern

= 0x10

◆ FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK

const uint32_t FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK
extern

= 0x40

◆ FLAC__ChannelAssignmentString

const char* const FLAC__ChannelAssignmentString[]
extern

Maps a FLAC__ChannelAssignment to a C string.

Using a FLAC__ChannelAssignment as the index to this array will give the string equivalent. The contents should not be modified.

◆ FLAC__FrameNumberTypeString

const char* const FLAC__FrameNumberTypeString[]
extern

Maps a FLAC__FrameNumberType to a C string.

Using a FLAC__FrameNumberType as the index to this array will give the string equivalent. The contents should not be modified.

◆ blocksize

uint32_t FLAC__FrameHeader::blocksize

The number of samples per subframe.

◆ sample_rate

uint32_t FLAC__FrameHeader::sample_rate

The sample rate in Hz.

◆ channels

uint32_t FLAC__FrameHeader::channels

The number of channels (== number of subframes).

◆ channel_assignment

FLAC__ChannelAssignment FLAC__FrameHeader::channel_assignment

The channel assignment for the frame.

◆ bits_per_sample

uint32_t FLAC__FrameHeader::bits_per_sample

The sample resolution.

◆ number_type

FLAC__FrameNumberType FLAC__FrameHeader::number_type

The numbering scheme used for the frame. As a convenience, the decoder will always convert a frame number to a sample number because the rules are complex.

◆  [1/3]

union { ... } FLAC__FrameHeader::number

The frame number or sample number of first sample in frame; use the number_type value to determine which to use.

◆ crc [1/2]

FLAC__uint8 FLAC__FrameHeader::crc

CRC-8 (polynomial = x^8 + x^2 + x^1 + x^0, initialized with 0) of the raw frame header bytes, meaning everything before the CRC byte including the sync code.

◆ FLAC__FRAME_HEADER_SYNC

const uint32_t FLAC__FRAME_HEADER_SYNC
extern

== 0x3ffe; the frame header sync code

◆ FLAC__FRAME_HEADER_SYNC_LEN

const uint32_t FLAC__FRAME_HEADER_SYNC_LEN
extern

== 14 (bits)

◆ FLAC__FRAME_HEADER_RESERVED_LEN

const uint32_t FLAC__FRAME_HEADER_RESERVED_LEN
extern

== 1 (bits)

◆ FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN

const uint32_t FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
extern

== 1 (bits)

◆ FLAC__FRAME_HEADER_BLOCK_SIZE_LEN

const uint32_t FLAC__FRAME_HEADER_BLOCK_SIZE_LEN
extern

== 4 (bits)

◆ FLAC__FRAME_HEADER_SAMPLE_RATE_LEN

const uint32_t FLAC__FRAME_HEADER_SAMPLE_RATE_LEN
extern

== 4 (bits)

◆ FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN

const uint32_t FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN
extern

== 4 (bits)

◆ FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN

const uint32_t FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN
extern

== 3 (bits)

◆ FLAC__FRAME_HEADER_ZERO_PAD_LEN

const uint32_t FLAC__FRAME_HEADER_ZERO_PAD_LEN
extern

== 1 (bit)

◆ FLAC__FRAME_HEADER_CRC_LEN

const uint32_t FLAC__FRAME_HEADER_CRC_LEN
extern

== 8 (bits)

◆ crc [2/2]

FLAC__uint16 FLAC__FrameFooter::crc

CRC-16 (polynomial = x^16 + x^15 + x^2 + x^0, initialized with 0) of the bytes before the crc, back to and including the frame header sync code.

◆ FLAC__FRAME_FOOTER_CRC_LEN

const uint32_t FLAC__FRAME_FOOTER_CRC_LEN
extern

== 16 (bits)

◆ FLAC__MetadataTypeString

const char* const FLAC__MetadataTypeString[]
extern

Maps a FLAC__MetadataType to a C string.

Using a FLAC__MetadataType as the index to this array will give the string equivalent. The contents should not be modified.

◆ FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN

const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN
extern

== 16 (bits)

◆ FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN

const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN
extern

== 16 (bits)

◆ FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN

const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN
extern

== 24 (bits)

◆ FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN

const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN
extern

== 24 (bits)

◆ FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN

const uint32_t FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN
extern

== 20 (bits)

◆ FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN

const uint32_t FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN
extern

== 3 (bits)

◆ FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN

const uint32_t FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
extern

== 5 (bits)

◆ FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN

const uint32_t FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN
extern

== 36 (bits)

◆ FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN

const uint32_t FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN
extern

== 128 (bits)

◆ dummy

int FLAC__StreamMetadata_Padding::dummy

Conceptually this is an empty struct since we don't store the padding bytes. Empty structs are not allowed by some C compilers, hence the dummy.

◆ FLAC__STREAM_METADATA_APPLICATION_ID_LEN

const uint32_t FLAC__STREAM_METADATA_APPLICATION_ID_LEN
extern

== 32 (bits)

◆ sample_number

FLAC__uint64 FLAC__StreamMetadata_SeekPoint::sample_number

The sample number of the target frame.

◆ stream_offset

FLAC__uint64 FLAC__StreamMetadata_SeekPoint::stream_offset

The offset, in bytes, of the target frame with respect to beginning of the first frame.

◆ frame_samples

uint32_t FLAC__StreamMetadata_SeekPoint::frame_samples

The number of samples in the target frame.

◆ FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN

const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN
extern

== 64 (bits)

◆ FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN

const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN
extern

== 64 (bits)

◆ FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN

const uint32_t FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN
extern

== 16 (bits)

◆ FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER

const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER
extern

The value used in the sample_number field of FLAC__StreamMetadataSeekPoint used to indicate a placeholder point (== 0xffffffffffffffff).

◆ FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN

const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
extern

== 32 (bits)

◆ FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN

const uint32_t FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
extern

== 32 (bits)

◆ offset [1/2]

FLAC__uint64 FLAC__StreamMetadata_CueSheet_Index::offset

Offset in samples, relative to the track offset, of the index point.

◆ number [2/3]

FLAC__byte FLAC__StreamMetadata_CueSheet_Index::number

The index point number.

◆ FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN
extern

== 64 (bits)

◆ FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN
extern

== 8 (bits)

◆ FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN
extern

== 3*8 (bits)

◆ offset [2/2]

FLAC__uint64 FLAC__StreamMetadata_CueSheet_Track::offset

Track offset in samples, relative to the beginning of the FLAC audio stream.

◆ number [3/3]

FLAC__byte FLAC__StreamMetadata_CueSheet_Track::number

The track number.

◆ isrc

char FLAC__StreamMetadata_CueSheet_Track::isrc[13]

Track ISRC. This is a 12-digit alphanumeric code plus a trailing NUL byte

◆ type [1/3]

uint32_t FLAC__StreamMetadata_CueSheet_Track::type

The track type: 0 for audio, 1 for non-audio.

◆ pre_emphasis

uint32_t FLAC__StreamMetadata_CueSheet_Track::pre_emphasis

The pre-emphasis flag: 0 for no pre-emphasis, 1 for pre-emphasis.

◆ num_indices

FLAC__byte FLAC__StreamMetadata_CueSheet_Track::num_indices

The number of track index points.

◆ indices

FLAC__StreamMetadata_CueSheet_Index* FLAC__StreamMetadata_CueSheet_Track::indices

NULL if num_indices == 0, else pointer to array of index points.

◆ FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN
extern

== 64 (bits)

◆ FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN
extern

== 8 (bits)

◆ FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN
extern

== 12*8 (bits)

◆ FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN
extern

== 1 (bit)

◆ FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN
extern

== 1 (bit)

◆ FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN
extern

== 6+13*8 (bits)

◆ FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN
extern

== 8 (bits)

◆ media_catalog_number

char FLAC__StreamMetadata_CueSheet::media_catalog_number[129]

Media catalog number, in ASCII printable characters 0x20-0x7e. In general, the media catalog number may be 0 to 128 bytes long; any unused characters should be right-padded with NUL characters.

◆ lead_in

FLAC__uint64 FLAC__StreamMetadata_CueSheet::lead_in

The number of lead-in samples.

◆ is_cd

FLAC__bool FLAC__StreamMetadata_CueSheet::is_cd

true if CUESHEET corresponds to a Compact Disc, else false.

◆ num_tracks

uint32_t FLAC__StreamMetadata_CueSheet::num_tracks

The number of tracks.

◆ tracks

FLAC__StreamMetadata_CueSheet_Track* FLAC__StreamMetadata_CueSheet::tracks

NULL if num_tracks == 0, else pointer to array of tracks.

◆ FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
extern

== 128*8 (bits)

◆ FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
extern

== 64 (bits)

◆ FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN
extern

== 1 (bit)

◆ FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
extern

== 7+258*8 (bits)

◆ FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN

const uint32_t FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
extern

== 8 (bits)

◆ FLAC__StreamMetadata_Picture_TypeString

const char* const FLAC__StreamMetadata_Picture_TypeString[]
extern

Maps a FLAC__StreamMetadata_Picture_Type to a C string.

Using a FLAC__StreamMetadata_Picture_Type as the index to this array will give the string equivalent. The contents should not be modified.

◆ type [2/3]

FLAC__StreamMetadata_Picture_Type FLAC__StreamMetadata_Picture::type

The kind of picture stored.

◆ mime_type

char* FLAC__StreamMetadata_Picture::mime_type

Picture data's MIME type, in ASCII printable characters 0x20-0x7e, NUL terminated. For best compatibility with players, use picture data of MIME type image/jpeg or image/png. A MIME type of '-->' is also allowed, in which case the picture data should be a complete URL. In file storage, the MIME type is stored as a 32-bit length followed by the ASCII string with no NUL terminator, but is converted to a plain C string in this structure for convenience.

◆ description

FLAC__byte* FLAC__StreamMetadata_Picture::description

Picture's description in UTF-8, NUL terminated. In file storage, the description is stored as a 32-bit length followed by the UTF-8 string with no NUL terminator, but is converted to a plain C string in this structure for convenience.

◆ width

FLAC__uint32 FLAC__StreamMetadata_Picture::width

Picture's width in pixels.

◆ height

FLAC__uint32 FLAC__StreamMetadata_Picture::height

Picture's height in pixels.

◆ depth

FLAC__uint32 FLAC__StreamMetadata_Picture::depth

Picture's color depth in bits-per-pixel.

◆ colors

FLAC__uint32 FLAC__StreamMetadata_Picture::colors

For indexed palettes (like GIF), picture's number of colors (the number of palette entries), or 0 for non-indexed (i.e. 2^depth).

◆ data_length

FLAC__uint32 FLAC__StreamMetadata_Picture::data_length

Length of binary picture data in bytes.

◆ data [1/2]

FLAC__byte* FLAC__StreamMetadata_Picture::data

Binary picture data.

◆ FLAC__STREAM_METADATA_PICTURE_TYPE_LEN

const uint32_t FLAC__STREAM_METADATA_PICTURE_TYPE_LEN
extern

== 32 (bits)

◆ FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN

const uint32_t FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN
extern

== 32 (bits)

◆ FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN

const uint32_t FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN
extern

== 32 (bits)

◆ FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN

const uint32_t FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN
extern

== 32 (bits)

◆ FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN

const uint32_t FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN
extern

== 32 (bits)

◆ FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN

const uint32_t FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN
extern

== 32 (bits)

◆ FLAC__STREAM_METADATA_PICTURE_COLORS_LEN

const uint32_t FLAC__STREAM_METADATA_PICTURE_COLORS_LEN
extern

== 32 (bits)

◆ FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN

const uint32_t FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN
extern

== 32 (bits)

◆ type [3/3]

FLAC__MetadataType FLAC__StreamMetadata::type

The type of the metadata block; used determine which member of the data union to dereference. If type >= FLAC__METADATA_TYPE_UNDEFINED then data.unknown must be used.

◆ is_last

FLAC__bool FLAC__StreamMetadata::is_last

true if this metadata block is the last, else false

◆ length

uint32_t FLAC__StreamMetadata::length

Length, in bytes, of the block data as it appears in the stream.

◆  [2/2]

union { ... } FLAC__StreamMetadata::data

Polymorphic block data; use the type value to determine which to use.

◆ FLAC__STREAM_METADATA_IS_LAST_LEN

const uint32_t FLAC__STREAM_METADATA_IS_LAST_LEN
extern

== 1 (bit)

◆ FLAC__STREAM_METADATA_TYPE_LEN

const uint32_t FLAC__STREAM_METADATA_TYPE_LEN
extern

== 7 (bits)

◆ FLAC__STREAM_METADATA_LENGTH_LEN

const uint32_t FLAC__STREAM_METADATA_LENGTH_LEN
extern

== 24 (bits)


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