The "GR-PEACH_Audio_Playback_7InchLCD_Sample" is a sample code that can provides high-resolution audio playback of FLAC format files. It also allows the user to audio-playback control functions such as play, pause, and stop by manipulating key switches.

Dependencies:   GR-PEACH_video R_BSP TLV320_RBSP USBHost_custom

Fork of GR-PEACH_Audio_Playback_Sample by Renesas

Embed: (wiki syntax)

« Back to documentation index

FLAC/format.h: format components

FLAC/format.h: format components

This module contains structure definitions for the representation of FLAC format components in memory. More...

Data Structures

struct  FLAC__EntropyCodingMethod_PartitionedRiceContents
 Contents of a Rice partitioned residual. More...
struct  FLAC__EntropyCodingMethod_PartitionedRice
 Header for a Rice partitioned residual. More...
struct  FLAC__EntropyCodingMethod
 Header for the entropy coding method. More...
struct  FLAC__Subframe_Constant
 CONSTANT subframe. More...
struct  FLAC__Subframe_Verbatim
 VERBATIM subframe. More...
struct  FLAC__Subframe_Fixed
 FIXED subframe. More...
struct  FLAC__Subframe_LPC
 LPC subframe. More...
struct  FLAC__Subframe
 FLAC subframe structure. More...
struct  FLAC__FrameHeader
 FLAC frame header structure. More...
struct  FLAC__FrameFooter
 FLAC frame footer structure. More...
struct  FLAC__Frame
 FLAC frame structure. More...
struct  FLAC__StreamMetadata_StreamInfo
 FLAC STREAMINFO structure. More...
struct  FLAC__StreamMetadata_Padding
 FLAC PADDING structure. More...
struct  FLAC__StreamMetadata_Application
 FLAC APPLICATION structure. More...
struct  FLAC__StreamMetadata_SeekPoint
 SeekPoint structure used in SEEKTABLE blocks. More...
struct  FLAC__StreamMetadata_SeekTable
 FLAC SEEKTABLE structure. More...
struct  FLAC__StreamMetadata_VorbisComment_Entry
 Vorbis comment entry structure used in VORBIS_COMMENT blocks. More...
struct  FLAC__StreamMetadata_VorbisComment
 FLAC VORBIS_COMMENT structure. More...
struct  FLAC__StreamMetadata_CueSheet_Index
 FLAC CUESHEET track index structure. More...
struct  FLAC__StreamMetadata_CueSheet_Track
 FLAC CUESHEET track structure. More...
struct  FLAC__StreamMetadata_CueSheet
 FLAC CUESHEET structure. More...
struct  FLAC__StreamMetadata_Picture
 FLAC PICTURE structure. More...
struct  FLAC__StreamMetadata_Unknown
 Structure that is used when a metadata block of unknown type is loaded. More...
struct  FLAC__StreamMetadata
 FLAC metadata block structure. More...

Enumerations

enum  FLAC__EntropyCodingMethodType { FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE = 0, FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2 = 1 }
 

An enumeration of the available entropy coding methods.

More...
enum  FLAC__SubframeType { FLAC__SUBFRAME_TYPE_CONSTANT = 0, FLAC__SUBFRAME_TYPE_VERBATIM = 1, FLAC__SUBFRAME_TYPE_FIXED = 2, FLAC__SUBFRAME_TYPE_LPC = 3 }
 

An enumeration of the available subframe types.

More...
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 }
 

An enumeration of the available channel assignments.

More...
enum  FLAC__FrameNumberType { FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER, FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER }
 

An enumeration of the possible frame numbering methods.

More...
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
}
 

An enumeration of the available metadata block types.

More...
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
}
 

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

More...

Functions

FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid (unsigned sample_rate)
 Tests that a sample rate is valid for FLAC.
FLAC_API FLAC__bool FLAC__format_blocksize_is_subset (unsigned blocksize, unsigned sample_rate)
 Tests that a blocksize at the given sample rate is valid for the FLAC subset.
FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset (unsigned sample_rate)
 Tests that a sample rate is valid for the FLAC subset.
FLAC_API 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.
FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal (const FLAC__byte *value, unsigned length)
 Check a Vorbis comment entry value to see if it conforms to the Vorbis comment specification.
FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal (const FLAC__byte *entry, unsigned length)
 Check a Vorbis comment entry to see if it conforms to the Vorbis comment specification.
FLAC_API 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.
FLAC_API unsigned FLAC__format_seektable_sort (FLAC__StreamMetadata_SeekTable *seek_table)
 Sort a seek table's seek points according to the format specification.
FLAC_API 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.
FLAC_API 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.

Variables

FLAC_API const char * FLAC__VERSION_STRING
 The version string of the release, stamped onto the libraries and binaries.
FLAC_API const char * FLAC__VENDOR_STRING
 The vendor string inserted by the encoder into the VORBIS_COMMENT block.
FLAC_API const FLAC__byte FLAC__STREAM_SYNC_STRING [4]
 The byte string representation of the beginning of a FLAC stream.
FLAC_API const unsigned FLAC__STREAM_SYNC
 The 32-bit integer big-endian representation of the beginning of a FLAC stream.
FLAC_API const unsigned FLAC__STREAM_SYNC_LEN
 The length of the FLAC signature in bits.
FLAC_API const char *const FLAC__EntropyCodingMethodTypeString []
 Maps a FLAC__EntropyCodingMethodType to a C string.
FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN
 == 4 (bits)
FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN
 == 4 (bits)
FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN
 == 5 (bits)
FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN
 == 5 (bits)
FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER
 == (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN)-1
FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER
 == (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN)-1
FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_TYPE_LEN
 == 2 (bits)
FLAC_API const char *const FLAC__SubframeTypeString []
 Maps a FLAC__SubframeType to a C string.
FLAC_API const unsigned FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN
 == 4 (bits)
FLAC_API const unsigned FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN
 == 5 (bits)
FLAC_API const unsigned FLAC__SUBFRAME_ZERO_PAD_LEN
 == 1 (bit)
FLAC_API const unsigned FLAC__SUBFRAME_TYPE_LEN
 == 6 (bits)
FLAC_API const unsigned FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN
 == 1 (bit)
FLAC_API const unsigned FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK
 = 0x00
FLAC_API const unsigned FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK
 = 0x02
FLAC_API const unsigned FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK
 = 0x10
FLAC_API const unsigned FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK
 = 0x40
FLAC_API const char *const FLAC__ChannelAssignmentString []
 Maps a FLAC__ChannelAssignment to a C string.
FLAC_API const char *const FLAC__FrameNumberTypeString []
 Maps a FLAC__FrameNumberType to a C string.
FLAC_API const unsigned FLAC__FRAME_HEADER_SYNC
 == 0x3ffe; the frame header sync code
FLAC_API const unsigned FLAC__FRAME_HEADER_SYNC_LEN
 == 14 (bits)
FLAC_API const unsigned FLAC__FRAME_HEADER_RESERVED_LEN
 == 1 (bits)
FLAC_API const unsigned FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN
 == 1 (bits)
FLAC_API const unsigned FLAC__FRAME_HEADER_BLOCK_SIZE_LEN
 == 4 (bits)
FLAC_API const unsigned FLAC__FRAME_HEADER_SAMPLE_RATE_LEN
 == 4 (bits)
FLAC_API const unsigned FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN
 == 4 (bits)
FLAC_API const unsigned FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN
 == 3 (bits)
FLAC_API const unsigned FLAC__FRAME_HEADER_ZERO_PAD_LEN
 == 1 (bit)
FLAC_API const unsigned FLAC__FRAME_HEADER_CRC_LEN
 == 8 (bits)
FLAC_API const unsigned FLAC__FRAME_FOOTER_CRC_LEN
 == 16 (bits)
FLAC_API const char *const FLAC__MetadataTypeString []
 Maps a FLAC__MetadataType to a C string.
FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN
 == 16 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN
 == 16 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN
 == 24 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN
 == 24 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN
 == 20 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN
 == 3 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN
 == 5 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN
 == 36 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN
 == 128 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_APPLICATION_ID_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN
 == 64 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN
 == 64 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN
 == 16 (bits)
FLAC_API const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER
 The value used in the sample_number field of FLAC__StreamMetadataSeekPoint used to indicate a placeholder point (== 0xffffffffffffffff).
FLAC_API const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN
 == 64 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN
 == 8 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN
 == 3*8 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN
 == 64 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN
 == 8 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN
 == 12*8 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN
 == 1 (bit)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN
 == 1 (bit)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN
 == 6+13*8 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN
 == 8 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN
 == 128*8 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN
 == 64 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN
 == 1 (bit)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN
 == 7+258*8 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
 == 8 (bits)
FLAC_API const char *const FLAC__StreamMetadata_Picture_TypeString []
 Maps a FLAC__StreamMetadata_Picture_Type to a C string.
FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_TYPE_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_COLORS_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN
 == 32 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_IS_LAST_LEN
 == 1 (bit)
FLAC_API const unsigned FLAC__STREAM_METADATA_TYPE_LEN
 == 7 (bits)
FLAC_API const unsigned FLAC__STREAM_METADATA_LENGTH_LEN
 == 24 (bits)

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.

Enumeration Type Documentation

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

Definition at line 381 of file include/FLAC/format.h.

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.

Definition at line 194 of file include/FLAC/format.h.

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

Definition at line 396 of file include/FLAC/format.h.

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.

Definition at line 489 of file include/FLAC/format.h.

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.

Definition at line 732 of file include/FLAC/format.h.

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

Definition at line 267 of file include/FLAC/format.h.


Function Documentation

FLAC_API FLAC__bool FLAC__format_blocksize_is_subset ( unsigned  blocksize,
unsigned  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.

Definition at line 212 of file format.c.

FLAC_API 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.

 cue_sheet != NULL 
Return values:
FLAC__boolfalse if cue sheet is illegal, else true.

Definition at line 412 of file format.c.

FLAC_API 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.

 picture != NULL 
Return values:
FLAC__boolfalse if picture data is illegal, else true.

Definition at line 491 of file format.c.

FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset ( unsigned  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.

Definition at line 222 of file format.c.

FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid ( unsigned  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.

Definition at line 203 of file format.c.

FLAC_API 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.

 seek_table != NULL 
Return values:
FLAC__boolfalse if seek table is illegal, else true.

Definition at line 238 of file format.c.

FLAC_API unsigned 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.

 seek_table != NULL 
Return values:
unsignedThe number of duplicate seek points converted into placeholders.

Definition at line 274 of file format.c.

FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_is_legal ( const FLAC__byte *  entry,
unsigned  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.

 value != NULL 
Return values:
FLAC__boolfalse if entry name is illegal, else true.

Definition at line 386 of file format.c.

FLAC_API 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.

 name != NULL 
Return values:
FLAC__boolfalse if entry name is illegal, else true.

Definition at line 353 of file format.c.

FLAC_API FLAC__bool FLAC__format_vorbiscomment_entry_value_is_legal ( const FLAC__byte *  value,
unsigned  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 (unsigned)(-1) to indicate that value is a plain UTF-8 NUL-terminated string.

 value != NULL 
Return values:
FLAC__boolfalse if entry name is illegal, else true.

Definition at line 362 of file format.c.


Variable Documentation

FLAC_API const char* const FLAC__ChannelAssignmentString[]

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.

Definition at line 157 of file format.c.

== (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN)-1

Definition at line 131 of file format.c.

== 5 (bits)

Definition at line 127 of file format.c.

== (1<<FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN)-1

Definition at line 130 of file format.c.

== 4 (bits)

Definition at line 125 of file format.c.

== 4 (bits)

Definition at line 126 of file format.c.

== 5 (bits)

Definition at line 128 of file format.c.

FLAC_API const unsigned FLAC__ENTROPY_CODING_METHOD_TYPE_LEN

== 2 (bits)

Definition at line 124 of file format.c.

FLAC_API const char* const FLAC__EntropyCodingMethodTypeString[]

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.

Definition at line 133 of file format.c.

FLAC_API const unsigned FLAC__FRAME_FOOTER_CRC_LEN

== 16 (bits)

Definition at line 122 of file format.c.

FLAC_API const unsigned FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN

== 3 (bits)

Definition at line 118 of file format.c.

FLAC_API const unsigned FLAC__FRAME_HEADER_BLOCK_SIZE_LEN

== 4 (bits)

Definition at line 115 of file format.c.

== 1 (bits)

Definition at line 114 of file format.c.

== 4 (bits)

Definition at line 117 of file format.c.

FLAC_API const unsigned FLAC__FRAME_HEADER_CRC_LEN

== 8 (bits)

Definition at line 120 of file format.c.

FLAC_API const unsigned FLAC__FRAME_HEADER_RESERVED_LEN

== 1 (bits)

Definition at line 113 of file format.c.

FLAC_API const unsigned FLAC__FRAME_HEADER_SAMPLE_RATE_LEN

== 4 (bits)

Definition at line 116 of file format.c.

FLAC_API const unsigned FLAC__FRAME_HEADER_SYNC

== 0x3ffe; the frame header sync code

Definition at line 111 of file format.c.

FLAC_API const unsigned FLAC__FRAME_HEADER_SYNC_LEN

== 14 (bits)

Definition at line 112 of file format.c.

FLAC_API const unsigned FLAC__FRAME_HEADER_ZERO_PAD_LEN

== 1 (bit)

Definition at line 119 of file format.c.

FLAC_API const char* const FLAC__FrameNumberTypeString[]

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.

Definition at line 164 of file format.c.

FLAC_API const char* const FLAC__MetadataTypeString[]

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.

Definition at line 169 of file format.c.

== 32 (bits)

Definition at line 69 of file format.c.

== 8 (bits)

Definition at line 81 of file format.c.

== 64 (bits)

Definition at line 80 of file format.c.

== 3*8 (bits)

Definition at line 82 of file format.c.

== 1 (bit)

Definition at line 94 of file format.c.

== 64 (bits)

Definition at line 93 of file format.c.

== 128*8 (bits)

Definition at line 92 of file format.c.

== 8 (bits)

Definition at line 96 of file format.c.

== 7+258*8 (bits)

Definition at line 95 of file format.c.

== 12*8 (bits)

Definition at line 86 of file format.c.

== 8 (bits)

Definition at line 90 of file format.c.

== 8 (bits)

Definition at line 85 of file format.c.

== 64 (bits)

Definition at line 84 of file format.c.

== 1 (bit)

Definition at line 88 of file format.c.

== 6+13*8 (bits)

Definition at line 89 of file format.c.

== 1 (bit)

Definition at line 87 of file format.c.

FLAC_API const unsigned FLAC__STREAM_METADATA_IS_LAST_LEN

== 1 (bit)

Definition at line 107 of file format.c.

FLAC_API const unsigned FLAC__STREAM_METADATA_LENGTH_LEN

== 24 (bits)

Definition at line 109 of file format.c.

== 32 (bits)

Definition at line 104 of file format.c.

== 32 (bits)

Definition at line 105 of file format.c.

FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN

== 32 (bits)

Definition at line 103 of file format.c.

== 32 (bits)

Definition at line 100 of file format.c.

== 32 (bits)

Definition at line 102 of file format.c.

== 32 (bits)

Definition at line 99 of file format.c.

FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_TYPE_LEN

== 32 (bits)

Definition at line 98 of file format.c.

FLAC_API const unsigned FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN

== 32 (bits)

Definition at line 101 of file format.c.

== 16 (bits)

Definition at line 73 of file format.c.

FLAC_API const FLAC__uint64 FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER

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

Definition at line 75 of file format.c.

== 64 (bits)

Definition at line 71 of file format.c.

== 64 (bits)

Definition at line 72 of file format.c.

== 5 (bits)

Definition at line 65 of file format.c.

== 3 (bits)

Definition at line 64 of file format.c.

== 16 (bits)

Definition at line 60 of file format.c.

== 24 (bits)

Definition at line 62 of file format.c.

== 128 (bits)

Definition at line 67 of file format.c.

== 16 (bits)

Definition at line 59 of file format.c.

== 24 (bits)

Definition at line 61 of file format.c.

== 20 (bits)

Definition at line 63 of file format.c.

== 36 (bits)

Definition at line 66 of file format.c.

FLAC_API const unsigned FLAC__STREAM_METADATA_TYPE_LEN

== 7 (bits)

Definition at line 108 of file format.c.

== 32 (bits)

Definition at line 77 of file format.c.

== 32 (bits)

Definition at line 78 of file format.c.

FLAC_API const unsigned FLAC__STREAM_SYNC

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

Definition at line 56 of file format.c.

FLAC_API const unsigned FLAC__STREAM_SYNC_LEN

The length of the FLAC signature in bits.

Definition at line 57 of file format.c.

FLAC_API const FLAC__byte FLAC__STREAM_SYNC_STRING[4]

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

Definition at line 55 of file format.c.

FLAC_API const char* const FLAC__StreamMetadata_Picture_TypeString[]

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.

Definition at line 179 of file format.c.

== 4 (bits)

Definition at line 138 of file format.c.

FLAC_API const unsigned FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN

== 5 (bits)

Definition at line 139 of file format.c.

= 0x00

Definition at line 145 of file format.c.

= 0x10

Definition at line 147 of file format.c.

FLAC_API const unsigned FLAC__SUBFRAME_TYPE_LEN

== 6 (bits)

Definition at line 142 of file format.c.

= 0x40

Definition at line 148 of file format.c.

= 0x02

Definition at line 146 of file format.c.

FLAC_API const unsigned FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN

== 1 (bit)

Definition at line 143 of file format.c.

FLAC_API const unsigned FLAC__SUBFRAME_ZERO_PAD_LEN

== 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.

Definition at line 141 of file format.c.

FLAC_API const char* const FLAC__SubframeTypeString[]

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.

Definition at line 150 of file format.c.

FLAC_API const char* FLAC__VENDOR_STRING

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.

Definition at line 53 of file format.c.

FLAC_API const char* FLAC__VERSION_STRING

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.

Definition at line 51 of file format.c.