<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson -->
<!-- Permission is granted to copy, distribute and/or modify this document -->
<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
<!-- or any later version published by the Free Software Foundation; -->
<!-- with no invariant sections. -->
<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<meta name="author" content="Josh Coalson" />
	<meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
	<meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
	<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
	<link rel="stylesheet" type="text/css" href="flac.css" />
	<title>FLAC - format</title>
</head>

<body>

<div class="logo">
	<a href="http://flac.sourceforge.net/"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
</div>

<div class="above_nav"></div>

<div class="navbar">
	&nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
	&nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
	&nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
	&nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
	&nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
	&nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
	&nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
	&nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
	&nbsp;<a href="developers.html">developers</a>&nbsp;
</div>

<div class="langbar">
	&nbsp;english&nbsp;&nbsp;|
	&nbsp;<a href="ru/format.html">russian</a>&nbsp;
</div>

<div class="below_nav"></div>

<div class="box">
	<div class="box_title">
		format
	</div>
	<div class="box_header"></div>
	<div class="box_body">
		This is a detailed description of the FLAC format.  There is also a companion document that describes <a href="ogg_mapping.html">FLAC-to-Ogg mapping</a>.<br />
		<br />
		For a user-oriented overview, see <a href="documentation_format_overview.html">About the FLAC Format</a>.<br />
		<br />
		<a name="toc"><font size="+1"><b><u>Table of Contents</u></b></font></a>
		<ul>
			<li><a href="#acknowledgments">Acknowledgments</a></li>
			<li><a href="#scope">Scope</a></li>
			<li><a href="#architecture">Architecture</a></li>
			<li><a href="#definitions">Definitions</a></li>
			<li><a href="#blocking">Blocking</a></li>
			<li><a href="#interchannel">Interchannel Decorrelation</a></li>
			<li><a href="#prediction">Prediction</a></li>
			<li><a href="#residualcoding">Residual Coding</a></li>
			<li><a href="#format_overview">Format</a></li>
			<li><a href="#subset">FLAC Subset</a></li>
			<li>Specification
				<ul>
					<li><a href="#stream">STREAM</a>
						<ul>
							<li><a href="#metadata_block">METADATA_BLOCK</a>
								<ul>
									<li><a href="#metadata_block_header">METADATA_BLOCK_HEADER</a></li>
									<li><a href="#metadata_block_data">METADATA_BLOCK_DATA</a>
										<ul>
											<li><a href="#metadata_block_streaminfo">METADATA_BLOCK_STREAMINFO</a></li>
											<li><a href="#metadata_block_padding">METADATA_BLOCK_PADDING</a></li>
											<li><a href="#metadata_block_application">METADATA_BLOCK_APPLICATION</a></li>
											<li><a href="#metadata_block_seektable">METADATA_BLOCK_SEEKTABLE</a>
												<ul>
													<li><a href="#seekpoint">SEEKPOINT</a></li>
												</ul>
											</li>
											<li><a href="#metadata_block_vorbis_comment">METADATA_BLOCK_VORBIS_COMMENT</a></li>
											<li><a href="#metadata_block_cuesheet">METADATA_BLOCK_CUESHEET</a>
												<ul>
													<li><a href="#cuesheet_track">CUESHEET_TRACK</a>
														<ul>
															<li><a href="#cuesheet_track_index">CUESHEET_TRACK_INDEX</a></li>
														</ul>
													</li>
												</ul>
											</li>
											<li><a href="#metadata_block_picture">METADATA_BLOCK_PICTURE</a></li>
										</ul>
									</li>
								</ul>
							</li>
						</ul>
					</li>
					<li>
						<ul>
							<li><a href="#frame">FRAME</a>
								<ul>
									<li><a href="#frame_header">FRAME_HEADER</a></li>
									<li><a href="#frame_footer">FRAME_FOOTER</a></li>
									<li><a href="#subframe">SUBFRAME</a>
										<ul>
											<li><a href="#subframe_header">SUBFRAME_HEADER</a></li>
											<li><a href="#subframe_constant">SUBFRAME_CONSTANT</a></li>
											<li><a href="#subframe_fixed">SUBFRAME_FIXED</a></li>
											<li><a href="#subframe_lpc">SUBFRAME_LPC</a></li>
											<li><a href="#subframe_verbatim">SUBFRAME_VERBATIM</a>
												<ul>
													<li><a href="#residual">RESIDUAL</a>
														<ul>
															<li><a href="#partitioned_rice">RESIDUAL_CODING_METHOD_PARTITIONED_RICE</a>
																<ul>
																	<li><a href="#rice_partition">RICE_PARTITION</a></li>
																</ul>
															</li>
														</ul>
													</li>
												</ul>
											</li>
										</ul>
									</li>
								</ul>
							</li>
						</ul>
					</li>
				</ul>
			</li>
		</ul>
		<a name="acknowledgments"><font size="+1"><b><u>Acknowledgments</u></b></font></a><br />
		<br />
		FLAC owes much to the many people who have advanced the audio compression field so freely.  For instance:
		<ul>
			<li>
				<a href="http://svr-www.eng.cam.ac.uk/~ajr/">A. J. Robinson</a> for his work on <a href="http://www-svr.eng.cam.ac.uk/reports/abstracts/robinson_tr156.html">Shorten</a>; his paper is a good starting point on some of the basic methods used by FLAC.  FLAC trivially extends and improves the fixed predictors, LPC coefficient quantization, and Rice coding used in Shorten.
			</li>
			<li>
				<a href="http://commsci.usc.edu/faculty/golomb.html">S. W. Golomb</a> and Robert F. Rice; their universal codes are used by FLAC's entropy coder.
			</li>
			<li>
				N. Levinson and J. Durbin; the reference encoder uses an algorithm developed and refined by them for determining the LPC coefficients from the autocorrelation coefficients.
			</li>
			<li>
				And of course, <a href="http://en.wikipedia.org/wiki/Claude_Shannon">Claude Shannon</a>
			</li>
		</ul>
		<a name="scope"><font size="+1"><b><u>Scope</u></b></font></a><br />
		<br />
		It is a known fact that no algorithm can losslessly compress all possible input, so most compressors restrict themselves to a useful domain and try to work as well as possible within that domain.  FLAC's domain is audio data.  Though it can losslessly <b>code</b> any input, only certain kinds of input will get smaller.  FLAC exploits the fact that audio data typically has a high degree of sample-to-sample correlation.<br />
		<br />
		Within the audio domain, there are many possible subdomains.  For example: low bitrate speech, high-bitrate multi-channel music, etc.  FLAC itself does not target a specific subdomain but many of the default parameters of the reference encoder are tuned to CD-quality music data (i.e. 44.1kHz, 2 channel, 16 bits per sample).  The effect of the encoding parameters on different kinds of audio data will be examined later.<br />
		<br />
		<a name="architecture"><font size="+1"><b><u>Architecture</u></b></font></a><br />
		<br />
		Similar to many audio coders, a FLAC encoder has the following stages:
		<ul>
			<li>
				<a href="#blocking">Blocking</a>.  The input is broken up into many contiguous blocks.  With FLAC, the blocks may vary in size.  The optimal size of the block is usually affected by many factors, including the sample rate, spectral characteristics over time, etc.  Though FLAC allows the block size to vary within a stream, the reference encoder uses a fixed block size.
			</li>
			<li>
				<a href="#interchannel">Interchannel Decorrelation</a>.  In the case of stereo streams, the encoder will create mid and side signals based on the average and difference (respectively) of the left and right channels.  The encoder will then pass the best form of the signal to the next stage.
			</li>
			<li>
				<a href="#prediction">Prediction</a>.  The block is passed through a prediction stage where the encoder tries to find a mathematical description (usually an approximate one) of the signal.  This description is typically much smaller than the raw signal itself.  Since the methods of prediction are known to both the encoder and decoder, only the parameters of the predictor need be included in the compressed stream.  FLAC currently uses four different classes of predictors (described in the <a href="#prediction">prediction</a> section), but the format has reserved space for additional methods.  FLAC allows the class of predictor to change from block to block, or even within the channels of a block.
			</li>
			<li>
				<a href="#residualcoding">Residual coding</a>.  If the predictor does not describe the signal exactly, the difference between the original signal and the predicted signal (called the error or residual signal) must be coded losslessy.  If the predictor is effective, the residual signal will require fewer bits per sample than the original signal.  FLAC currently uses only one method for encoding the residual (see the <a href="#residualcoding">Residual coding</a> section), but the format has reserved space for additional methods.  FLAC allows the residual coding method to change from block to block, or even within the channels of a block.
			</li>
		</ul>
		In addition, FLAC specifies a metadata system, which allows arbitrary information about the stream to be included at the beginning of the stream.<br />
		<br />
		<a name="definitions"><font size="+1"><b><u>Definitions</u></b></font></a><br />
		<br />
		Many terms like "block" and "frame" are used to mean different things in differenct encoding schemes.  For example, a frame in MP3 corresponds to many samples across several channels, whereas an S/PDIF frame represents just one sample for each channel.  The definitions we use for FLAC follow.  Note that when we talk about blocks and subblocks we are refering to the raw unencoded audio data that is the input to the encoder, and when we talk about frames and subframes, we are refering to the FLAC-encoded data.
		<ul>
			<li>
				<b>Block</b>: One or more audio samples that span several channels.
			</li>
			<li>
				<b>Subblock</b>: One or more audio samples within a channel.  So a block contains one subblock for each channel, and all subblocks contain the same number of samples.
			</li>
			<li>
				<b>Blocksize</b>: The number of samples in any of a block's subblocks.  For example, a one second block sampled at 44.1KHz has a blocksize of 44100, regardless of the number of channels.
			</li>
			<li>
				<b>Frame</b>: A frame header plus one or more subframes.
			</li>
			<li>
				<b>Subframe</b>: A subframe header plus one or more encoded samples from a given channel.  All subframes within a frame will contain the same number of samples.
			</li>
		</ul>
		<a name="blocking"><font size="+1"><b><u>Blocking</u></b></font></a><br />
		<br />
		The size used for blocking the audio data has a direct effect on the compression ratio.  If the block size is too small, the resulting large number of frames mean that excess bits will be wasted on frame headers.  If the block size is too large, the characteristics of the signal may vary so much that the encoder will be unable to find a good predictor.  In order to simplify encoder/decoder design, FLAC imposes a minimum block size of 16 samples, and a maximum block size of 65535 samples.  This range covers the optimal size for all of the audio data FLAC supports.<br />
		<br />
		Currently the reference encoder uses a fixed block size, optimized on the sample rate of the input.  Future versions may vary the block size depending on the characteristics of the signal.<br />
		<br />
		Blocked data is passed to the predictor stage one subblock (channel) at a time.  Each subblock is independently coded into a subframe, and the subframes are concatenated into a frame.  Because each channel is coded separately, it means that one channel of a stereo frame may be encoded as a constant subframe, and the other an LPC subframe.<br />
		<br />
		<a name="interchannel"><font size="+1"><b><u>Interchannel Decorrelation</u></b></font></a><br />
		<br />
		In stereo streams, in many cases there is an exploitable amount of correlation between the left and right channels.  FLAC allows the frames of stereo streams to have different channel assignments, and an encoder may choose to use the best representation on a frame-by-frame basis.
		<ul>
			<li>
				<b>Independent</b>.  The left and right channels are coded independently.
			</li>
			<li>
				<b>Mid-side</b>.  The left and right channels are transformed into mid and side channels.  The mid channel is the midpoint (average) of the left and right signals, and the side is the difference signal (left minus right).
			</li>
			<li>
				<b>Left-side</b>.  The left channel and side channel are coded.
			</li>
			<li>
				<b>Right-side</b>.  The right channel and side channel are coded
			</li>
		</ul>
		Surprisingly, the left-side and right-side forms can be the most efficient in many frames, even though the raw number of bits per sample needed for the original signal is slightly more than that needed for independent or mid-side coding.<br />
		<br />
		<a name="prediction"><font size="+1"><b><u>Prediction</u></b></font></a><br />
		<br />
		FLAC uses four methods for modeling the input signal:
		<ul>
			<li>
				<b>Verbatim</b>.  This is essentially a zero-order predictor of the signal.  The predicted signal is zero, meaning the residual is the signal itself, and the compression is zero.  This is the baseline against which the other predictors are measured.  If you feed random data to the encoder, the verbatim predictor will probably be used for every subblock.  Since the raw signal is not actually passed through the residual coding stage (it is added to the stream 'verbatim'), the encoding results will not be the same as a zero-order linear predictor.
			</li>
			<li>
				<b>Constant</b>.  This predictor is used whenever the subblock is pure DC ("digital silence"), i.e. a constant value throughout.  The signal is run-length encoded and added to the stream.
			</li>
			<li>
				<b>Fixed linear predictor</b>.  FLAC uses a class of computationally-efficient fixed linear predictors (for a good description, see <a href="http://www.hpl.hp.com/techreports/1999/HPL-1999-144.pdf">audiopak</a> and <a href="http://svr-www.eng.cam.ac.uk/~ajr/GroupPubs/Robinson94-tr156/index.html">shorten</a>).  FLAC adds a fourth-order predictor to the zero-to-third-order predictors used by Shorten.  Since the predictors are fixed, the predictor order is the only parameter that needs to be stored in the compressed stream.  The error signal is then passed to the residual coder.
			</li>
			<li>
				<b>FIR Linear prediction</b>.  For more accurate modeling (at a cost of slower encoding), FLAC supports up to 32nd order FIR linear prediction (again, for info on linear prediction, see <a href="http://www.hpl.hp.com/techreports/1999/HPL-1999-144.pdf">audiopak</a> and <a href="http://svr-www.eng.cam.ac.uk/~ajr/GroupPubs/Robinson94-tr156/index.html">shorten</a>).  The reference encoder uses the Levinson-Durbin method for calculating the LPC coefficients from the autocorrelation coefficients, and the coefficients are quantized before computing the residual.  Whereas encoders such as Shorten used a fixed quantization for the entire input, FLAC allows the quantized coefficient precision to vary from subframe to subframe.  The FLAC reference encoder estimates the optimal precision to use based on the block size and dynamic range of the original signal.
			</li>
		</ul>
		<a name="residualcoding"><font size="+1"><b><u>Residual Coding</u></b></font></a><br />
		<br />
		FLAC currently defines two similar methods for the coding of the error signal from the prediction stage.  The error signal is coded using Rice codes in one of two ways: 1) the encoder estimates a single rice parameter based on the variance of the residual and Rice codes the entire residual using this parameter; 2) the residual is partitioned into several equal-length regions of contiguous samples, and each region is coded with its own Rice parameter based on the region's mean.  (Note that the first method is a special case of the second method with one partition, except the Rice parameter is based on the residual variance instead of the mean.)<br />
		<br />
		The FLAC format has reserved space for other coding methods.  Some possiblities for volunteers would be to explore better context-modeling of the Rice parameter, or Huffman coding.  See <a href="http://www.hpl.hp.com/techreports/98/HPL-98-193.html">LOCO-I</a> and <a href="http://www.cs.tut.fi/~albert/Dev/pucrunch/packing.html">pucrunch</a> for descriptions of several universal codes.<br />
		<br />
		<a name="format_overview"><font size="+1"><b><u>Format</u></b></font></a><br />
		<br />
		This section specifies the FLAC bitstream format.  FLAC has no format version information, but it does contain reserved space in several places.  Future versions of the format may use this reserved space safely without breaking the format of older streams.  Older decoders may choose to abort decoding or skip data encoded with newer methods.  Apart from reserved patterns, in places the format specifies invalid patterns, meaning that the patterns may never appear in any valid bitstream, in any prior, present, or future versions of the format.  These invalid patterns are usually used to make the synchronization mechanism more robust.<br />
		<br />
		All numbers used in a FLAC bitstream are integers; there are no floating-point representations.  All numbers are big-endian coded.  All numbers are unsigned unless otherwise specified.<br />
		<br />
		Before the formal description of the stream, an overview might be helpful.
		<ul>
			<li>
				A FLAC bitstream consists of the "fLaC" marker at the beginning of the stream, followed by a mandatory metadata block (called the STREAMINFO block), any number of other metadata blocks, then the audio frames.
			</li>
			<li>
				FLAC supports up to 128 kinds of metadata blocks; currently the following are defined:
				<ul>
					<li><a name="def_STREAMINFO"><b>STREAMINFO</b></a>: This block has information about the whole stream, like sample rate, number of channels, total number of samples, etc.  It must be present as the first metadata block in the stream.  Other metadata blocks may follow, and ones that the decoder doesn't understand, it will skip.</li>
					<li><a name="def_APPLICATION"><b>APPLICATION</b></a>: This block is for use by third-party applications.  The only mandatory field is a 32-bit identifier.  This ID is granted upon request to an application by the FLAC maintainers.  The remainder is of the block is defined by the registered application.  Visit the <a href="id.html">registration page</a> if you would like to register an ID for your application with FLAC.</li>
					<li><a name="def_PADDING"><b>PADDING</b></a>: This block allows for an arbitrary amount of padding.  The contents of a PADDING block have no meaning.  This block is useful when it is known that metadata will be edited after encoding; the user can instruct the encoder to reserve a PADDING block of sufficient size so that when metadata is added, it will simply overwrite the padding (which is relatively quick) instead of having to insert it into the right place in the existing file (which would normally require rewriting the entire file).</li>
					<li><a name="def_SEEKTABLE"><b>SEEKTABLE</b></a>: This is an optional block for storing seek points.  It is possible to seek to any given sample in a FLAC stream without a seek table, but the delay can be unpredictable since the bitrate may vary widely within a stream.  By adding seek points to a stream, this delay can be significantly reduced.  Each seek point takes 18 bytes, so 1% resolution within a stream adds less than 2k.  There can be only one SEEKTABLE in a stream, but the table can have any number of seek points.  There is also a special 'placeholder' seekpoint which will be ignored by decoders but which can be used to reserve space for future seek point insertion.</li>
					<li><a name="def_VORBIS_COMMENT"><b>VORBIS_COMMENT</b></a>: This block is for storing a list of human-readable name/value pairs.  Values are encoded using UTF-8.  It is an implementation of the <a href="http://xiph.org/vorbis/doc/v-comment.html">Vorbis comment specification</a>.  This is the only officially supported tagging mechanism in FLAC.  There may be only one VORBIS_COMMENT block in a stream.  In some external documentation, Vorbis comments are called FLAC tags to lessen confusion.</li>
					<li><a name="def_CUESHEET"><b>CUESHEET</b></a>: This block is for storing various information that can be used in a cue sheet.  It supports track and index points, compatible with Red Book CD digital audio discs, as well as other CD-DA metadata such as media catalog number and track ISRCs.  The CUESHEET block is especially useful for backing up CD-DA discs, but it can be used as a general purpose cueing mechanism for playback.</li>
					<li><a name="def_PICTURE"><b>PICTURE</b></a>: This block is for storing pictures associated with the file, most commonly cover art from CDs.  There may be more than one PICTURE block in a file.  The picture format is similar to the <a href="http://www.id3.org/id3v2.4.0-frames.txt">APIC frame in ID3v2</a>.  The PICTURE block has a type, MIME type, and UTF-8 description like ID3v2, and supports external linking via URL (though this is discouraged).  The differences are that there is no uniqueness constraint on the description field, and the MIME type is mandatory.  The FLAC PICTURE block also includes the resolution, color depth, and palette size so that the client can search for a suitable picture without having to scan them all.</li>
				</ul>
			</li>
			<li>
				The audio data is composed of one or more audio frames.  Each frame consists of a frame header, which contains a sync code, info about the frame like the block size, sample rate, number of channels, et cetera, and an 8-bit CRC.  The frame header also contains either the sample number of the first sample in the frame (for variable-blocksize streams), or the frame number (for fixed-blocksize streams).  This allows for fast, sample-accurate seeking to be performed.  Following the frame header are encoded subframes, one for each channel, and finally, the frame is zero-padded to a byte boundary.  Each subframe has its own header that specifies how the subframe is encoded.
			</li>
			<li>
				Since a decoder may start decoding in the middle of a stream, there must be a method to determine the start of a frame.  A 14-bit sync code begins each frame.  The sync code will not appear anywhere else in the frame header.  However, since it may appear in the subframes, the decoder has two other ways of ensuring a correct sync.  The first is to check that the rest of the frame header contains no invalid data.  Even this is not foolproof since valid header patterns can still occur within the subframes.  The decoder's final check is to generate an 8-bit CRC of the frame header and compare this to the CRC stored at the end of the frame header.
			</li>
			<li>
				Again, since a decoder may start decoding at an arbitrary frame in the stream, each frame header must contain some basic information about the stream because the decoder may not have access to the STREAMINFO metadata block at the start of the stream.  This information includes sample rate, bits per sample, number of channels, etc.  Since the frame header is pure overhead, it has a direct effect on the compression ratio.  To keep the frame header as small as possible, FLAC uses lookup tables for the most commonly used values for frame parameters.  For instance, the sample rate part of the frame header is specified using 4 bits.  Eight of the bit patterns correspond to the commonly used sample rates of 8/16/22.05/24/32/44.1/48/96 kHz.  However, odd sample rates can be specified by using one of the 'hint' bit patterns, directing the decoder to find the exact sample rate at the end of the frame header.  The same method is used for specifying the block size and bits per sample.  In this way, the frame header size stays small for all of the most common forms of audio data.
			</li>
			<li>
				Individual subframes (one for each channel) are coded separately within a frame, and appear serially in the stream.  In other words, the encoded audio data is NOT channel-interleaved.  This reduces decoder complexity at the cost of requiring larger decode buffers.  Each subframe has its own header specifying the attributes of the subframe, like prediction method and order, residual coding parameters, etc.  The header is followed by the encoded audio data for that channel.
			</li>
			<li>
				<a name="subset">FLAC</a> specifies a subset of itself as the Subset format.  The purpose of this is to ensure that any streams encoded according to the Subset are truly "streamable", meaning that a decoder that cannot seek within the stream can still pick up in the middle of the stream and start decoding.  It also makes hardware decoder implementations more practical by limiting the encoding parameters such that decoder buffer sizes and other resource requirements can be easily determined.  "flac" generates Subset streams by default unless the "--lax" command-line option is used.  The Subset makes the following limitations on what may be used in the stream:
				<ul>
				<li>
					The blocksize bits in the <a href="#frame_header">frame header</a> must be 0001-0101 or 1000-1110, specifying a fixed-blocksize stream (the exception being the last block as described in the table) and a few allowable blocksizes.  This also means that the STREAMINFO metadata block must specify equal mininum and maximum blocksizes.  If the sample rate is &lt;= 48000Hz, the blocksize must be &lt;=4608, i.e. blocksize bits 0001-0101 or 1000-1100.
				</li>
				<li>
					The sample rate bits in the <a href="#frame_header">frame header</a> must be 0001-1011.
				</li>
				<li>
					The bits-per-sample bits in the <a href="#frame_header">frame header</a> must be 001-111.
				</li>
				<li>
					If the sample rate is &lt;= 48000Hz, the filter order in <a href="#subframe_lpc">LPC subframes</a> must be less than or equal to 12, i.e. the subframe type bits in the <a href="#subframe_header">subframe header</a> may not be 101100-111111.
				</li>
				<li>
					The Rice partition order in a <a href="#partitioned_rice">Rice-coded residual section</a> must be less than or equal to 8.
				</li>
				</ul>
			</li>
		</ul>

		The following tables constitute a formal description of the FLAC format.  Numbers in angle brackets indicate how many bits are used for a given field.<br />
	</div>
	<div class="box_footer"></div>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="stream"><font size="+1"><b>STREAM</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;32&gt;
			</td>
			<td>
				"fLaC", the FLAC stream marker in ASCII, meaning byte 0 of the stream is 0x66, followed by 0x4C 0x61 0x43
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#metadata_block_streaminfo"><i>METADATA_BLOCK</i></a>
			</td>
			<td>
				This is the mandatory STREAMINFO metadata block that has the basic properties of the stream
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#metadata_block"><i>METADATA_BLOCK</i></a>*
			</td>
			<td>
				Zero or more metadata blocks
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#frame"><i>FRAME</i></a>+
			</td>
			<td>
				One or more audio frames
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="metadata_block"><font size="+1"><b>METADATA_BLOCK</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#metadata_block_header"><i>METADATA_BLOCK_HEADER</i></a>
			</td>
			<td>
				A block header that specifies the type and size of the metadata block data.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#metadata_block_data"><i>METADATA_BLOCK_DATA</i></a>
			</td>
			<td>
				&nbsp;
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="metadata_block_header"><font size="+1"><b>METADATA_BLOCK_HEADER</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;1&gt;
			</td>
			<td>
				Last-metadata-block flag: '1' if this block is the last metadata block before the audio blocks, '0' otherwise.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;7&gt;
			</td>
			<td>
				BLOCK_TYPE<br />
				<ul>
				<li>
					<tt>0</tt> : STREAMINFO
				</li>
				<li>
					<tt>1</tt> : PADDING
				</li>
				<li>
					<tt>2</tt> : APPLICATION
				</li>
				<li>
					<tt>3</tt> : SEEKTABLE
				</li>
				<li>
					<tt>4</tt> : VORBIS_COMMENT
				</li>
				<li>
					<tt>5</tt> : CUESHEET
				</li>
				<li>
					<tt>6</tt> : PICTURE
				</li>
				<li>
					<tt>7-126</tt> : reserved
				</li>
				<li>
					<tt>127</tt> : invalid, to avoid confusion with a frame sync code
				</li>
				</ul>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;24&gt;
			</td>
			<td>
				Length (in bytes) of metadata to follow (does not include the size of the METADATA_BLOCK_HEADER)
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="metadata_block_data"><font size="+1"><b>METADATA_BLOCK_DATA</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#metadata_block_streaminfo"><i>METADATA_BLOCK_STREAMINFO</i></a><br />
				|| <a href="#metadata_block_padding"><i>METADATA_BLOCK_PADDING</i></a><br />
				|| <a href="#metadata_block_application"><i>METADATA_BLOCK_APPLICATION</i></a><br />
				|| <a href="#metadata_block_seektable"><i>METADATA_BLOCK_SEEKTABLE</i></a><br />
				|| <a href="#metadata_block_vorbis_comment"><i>METADATA_BLOCK_VORBIS_COMMENT</i></a><br />
				|| <a href="#metadata_block_cuesheet"><i>METADATA_BLOCK_CUESHEET</i></a><br />
				|| <a href="#metadata_block_picture"><i>METADATA_BLOCK_PICTURE</i></a>
			</td>
			<td>
				The block data must match the block type in the block header.
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="metadata_block_streaminfo"><font size="+1"><b>METADATA_BLOCK_STREAMINFO</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;16&gt;
			</td>
			<td>
				The minimum block size (in samples) used in the stream.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;16&gt;
			</td>
			<td>
				The maximum block size (in samples) used in the stream.  (Minimum blocksize == maximum blocksize) implies a fixed-blocksize stream.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;24&gt;
			</td>
			<td>
				The minimum frame size (in bytes) used in the stream.  May be 0 to imply the value is not known.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;24&gt;
			</td>
			<td>
				The maximum frame size (in bytes) used in the stream.  May be 0 to imply the value is not known.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;20&gt;
			</td>
			<td>
				Sample rate in Hz.  Though 20 bits are available, the maximum sample rate is limited by the structure of frame headers to 1048570Hz.  Also, a value of 0 is invalid.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;3&gt;
			</td>
			<td>
				(number of channels)-1.  FLAC supports from 1 to 8 channels
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;5&gt;
			</td>
			<td>
				(bits per sample)-1.  FLAC supports from 4 to 32 bits per sample.  Currently the reference encoder and decoders only support up to 24 bits per sample.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;36&gt;
			</td>
			<td>
				Total samples in stream.  'Samples' means inter-channel sample, i.e. one second of 44.1Khz audio will have 44100 samples regardless of the number of channels.  A value of zero here means the number of total samples is unknown.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;128&gt;
			</td>
			<td>
				MD5 signature of the unencoded audio data.  This allows the decoder to determine if an error exists in the audio data even when the error does not result in an invalid bitstream.
			</td>
		</tr>
		<tr>
			<td>
			</td>
			<td bgcolor="#F4F4CC">
				<font size="+1">NOTES</font><br />
				<ul>
				<li>
					FLAC specifies a minimum block size of 16 and a maximum block size of 65535, meaning the bit patterns corresponding to the numbers 0-15 in the minimum blocksize and maximum blocksize fields are invalid.
				</li>
				</ul>
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="metadata_block_padding"><font size="+1"><b>METADATA_BLOCK_PADDING</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n&gt;
			</td>
			<td>
				n '0' bits (n must be a multiple of 8)
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="metadata_block_application"><font size="+1"><b>METADATA_BLOCK_APPLICATION</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;32&gt;
			</td>
			<td>
				Registered application ID.  (Visit the <a href="id.html">registration page</a> to register an ID with FLAC.)
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n&gt;
			</td>
			<td>
				Application data (n must be a multiple of 8)
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="metadata_block_seektable"><font size="+1"><b>METADATA_BLOCK_SEEKTABLE</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#seekpoint"><i>SEEKPOINT</i></a>+
			</td>
			<td>
				One or more seek points.
			</td>
		</tr>
		<tr>
			<td>
			</td>
			<td bgcolor="#F4F4CC">
				<font size="+1">NOTE</font><br />
				<ul>
				<li>
					The number of seek points is implied by the metadata header 'length' field, i.e. equal to length / 18.
				</li>
				</ul>
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="seekpoint"><font size="+1"><b>SEEKPOINT</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;64&gt;
			</td>
			<td>
				Sample number of first sample in the target frame, or 0xFFFFFFFFFFFFFFFF for a placeholder point.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;64&gt;
			</td>
			<td>
				Offset (in bytes) from the first byte of the first frame header to the first byte of the target frame's header.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;16&gt;
			</td>
			<td>
				Number of samples in the target frame.
			</td>
		</tr>
		<tr>
			<td>
			</td>
			<td bgcolor="#F4F4CC">
				<font size="+1">NOTES</font><br />
				<ul>
				<li>
					For placeholder points, the second and third field values are undefined.
				</li>
				<li>
					Seek points within a table must be sorted in ascending order by sample number.
				</li>
				<li>
					Seek points within a table must be unique by sample number, with the exception of placeholder points.
				</li>
				<li>
					The previous two notes imply that there may be any number of placeholder points, but they must all occur at the end of the table.
				</li>
				</ul>
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="metadata_block_vorbis_comment"><font size="+1"><b>METADATA_BLOCK_VORBIS_COMMENT</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n&gt;
			</td>
			<td>
				Also known as FLAC tags, the contents of a vorbis comment packet as specified <a href="http://www.xiph.org/vorbis/doc/v-comment.html">here</a>, including the vendor string.  Note that the vorbis comment spec allows for on the order of 2 ^ 64 bytes of data where as the FLAC metadata block is limited to 2 ^ 24 bytes.  Given the stated purpose of vorbis comments, i.e. human-readable textual information, this limit is unlikely to be restrictive.  Also note that the 32-bit field lengths are little-endian coded according to the vorbis spec, as opposed to the usual big-endian coding of fixed-length integers in the rest of FLAC.
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="metadata_block_cuesheet"><font size="+1"><b>METADATA_BLOCK_CUESHEET</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;128*8&gt;
			</td>
			<td>
				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.  For CD-DA, this is a thirteen digit number, followed by 115 NUL bytes.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;64&gt;
			</td>
			<td>
				The number of lead-in samples.  This field has meaning only for CD-DA cuesheets; for other uses it should be 0.  For CD-DA, the lead-in is the TRACK 00 area where the table of contents is stored; more precisely, it is the number of samples from the first sample of the media to the first sample of the first index point of the first track.  According to the Red Book, the lead-in must be silence and CD grabbing software does not usually store it; additionally, the lead-in must be at least two seconds but may be longer.  For these reasons the lead-in length is stored here so that the absolute position of the first track can be computed.  Note that the lead-in stored here is the number of samples up to the first index point of the first track, not necessarily to INDEX 01 of the first track; even the first track may have INDEX 00 data.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;1&gt;
			</td>
			<td>
				<tt>1</tt> if the CUESHEET corresponds to a Compact Disc, else <tt>0</tt>.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;7+258*8&gt;
			</td>
			<td>
				Reserved.  All bits must be set to zero.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;8&gt;
			</td>
			<td>
				The number of tracks.  For CD-DA, this number must be no more than 100 (99 regular tracks and one leadout track).
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#cuesheet_track"><i>CUESHEET_TRACK</i></a>+
			</td>
			<td>
				One or more tracks.  A CUESHEET block is required to have a lead-out track; it is always the last track in the CUESHEET.  For CD-DA, the lead-out track number must be 170 as specified by the Red Book.
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="cuesheet_track"><font size="+1"><b>CUESHEET_TRACK</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;64&gt;
			</td>
			<td>
				Track offset in samples, relative to the beginning of the FLAC audio stream.  It is the offset to the first index point of the track.  (Note how this differs from CD-DA, where the track's offset in the TOC is that of the track's INDEX 01 even if there is an INDEX 00.)  For CD-DA, the offset must be evenly divisible by 588 samples (588 samples = 44100 samples/sec * 1/75th of a sec).
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;8&gt;
			</td>
			<td>
				Track number.  A track number of 0 is not allowed to avoid conflicting with the CD-DA spec, which reserves this for the lead-in. For CD-DA the number must be 1-99, or 170 for the lead-out.  It is not required but encouraged to start with track 1 and increase sequentially.  Track numbers must be unique within a CUESHEET.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;12*8&gt;
			</td>
			<td>
				Track ISRC.  This is a 12-digit alphanumeric code; see <a href="http://www.ifpi.org/isrc/isrc_handbook.html">here</a> and <a href="http://www.disctronics.co.uk/technology/cdaudio/cdaud_isrc.htm">here</a>.  A value of 12 ASCII NUL characters may be used to denote absence of an ISRC.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;1&gt;
			</td>
			<td>
				The track type: 0 for audio, 1 for non-audio.  This corresponds to the CD-DA Q-channel control bit 3.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;1&gt;
			</td>
			<td>
				The pre-emphasis flag: 0 for no pre-emphasis, 1 for pre-emphasis.  This corresponds to the CD-DA Q-channel control bit 5; see <a href="http://www.chipchapin.com/CDMedia/cdda9.php3">here</a>.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;6+13*8&gt;
			</td>
			<td>
				Reserved.  All bits must be set to zero.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;8&gt;
			</td>
			<td>
				The number of track index points.  There must be at least one index in every track in a CUESHEET except for the lead-out track, which must have zero.  For CD-DA, this number may be no more than 100.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#cuesheet_track_index"><i>CUESHEET_TRACK_INDEX</i></a>+
			</td>
			<td>
				For all tracks except the lead-out track, one or more track index points.
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="cuesheet_track_index"><font size="+1"><b>CUESHEET_TRACK_INDEX</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;64&gt;
			</td>
			<td>
				Offset in samples, relative to the track offset, of the index point.  For CD-DA, the offset must be evenly divisible by 588 samples (588 samples = 44100 samples/sec * 1/75th of a sec).  Note that the offset is from the beginning of the track, not the beginning of the audio data.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;8&gt;
			</td>
			<td>
				The index point number.  For CD-DA, an index number of 0 corresponds to the track pre-gap.  The first index in a track must have a number of 0 or 1, and subsequently, index numbers must increase by 1.  Index numbers must be unique within a track.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;3*8&gt;
			</td>
			<td>
				Reserved.  All bits must be set to zero.
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="metadata_block_picture"><font size="+1"><b>METADATA_BLOCK_PICTURE</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;32&gt;
			</td>
			<td>
				The picture type according to the ID3v2 APIC frame:<br />
				<ul>
					<li>0 - Other</li>
					<li>1 - 32x32 pixels 'file icon' (PNG only)</li>
					<li>2 - Other file icon</li>
					<li>3 - Cover (front)</li>
					<li>4 - Cover (back)</li>
					<li>5 - Leaflet page</li>
					<li>6 - Media (e.g. label side of CD)</li>
					<li>7 - Lead artist/lead performer/soloist</li>
					<li>8 - Artist/performer</li>
					<li>9 - Conductor</li>
					<li>10 - Band/Orchestra</li>
					<li>11 - Composer</li>
					<li>12 - Lyricist/text writer</li>
					<li>13 - Recording Location</li>
					<li>14 - During recording</li>
					<li>15 - During performance</li>
					<li>16 - Movie/video screen capture</li>
					<li>17 - A bright coloured fish</li>
					<li>18 - Illustration</li>
					<li>19 - Band/artist logotype</li>
					<li>20 - Publisher/Studio logotype</li>
				</ul>
				Others are reserved and should not be used.  There may only be one each of picture type 1 and 2 in a file.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;32&gt;
			</td>
			<td>
				The length of the MIME type string in bytes.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n*8&gt;
			</td>
			<td>
				The MIME type string, in printable ASCII characters 0x20-0x7e.  The MIME type may also be <tt>--&gt;</tt> to signify that the data part is a URL of the picture instead of the picture data itself.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;32&gt;
			</td>
			<td>
				The length of the description string in bytes.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n*8&gt;
			</td>
			<td>
				The description of the picture, in UTF-8.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;32&gt;
			</td>
			<td>
				The width of the picture in pixels.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;32&gt;
			</td>
			<td>
				The height of the picture in pixels.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;32&gt;
			</td>
			<td>
				The color depth of the picture in bits-per-pixel.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;32&gt;
			</td>
			<td>
				For indexed-color pictures (e.g. GIF), the number of colors used, or <tt>0</tt> for non-indexed pictures.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;32&gt;
			</td>
			<td>
				The length of the picture data in bytes.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n*8&gt;
			</td>
			<td>
				The binary picture data.
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="frame"><font size="+1"><b>FRAME</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#frame_header"><i>FRAME_HEADER</i></a>
			</td>
			<td>
				&nbsp;
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#subframe"><i>SUBFRAME</i></a>+
			</td>
			<td>
				One SUBFRAME per channel.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;?&gt;
			</td>
			<td>
				Zero-padding to byte alignment.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#frame_footer"><i>FRAME_FOOTER</i></a>
			</td>
			<td>
				&nbsp;
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="frame_header"><font size="+1"><b>FRAME_HEADER</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;14&gt;
			</td>
			<td>
				Sync code '<tt>11111111111110</tt>'
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;2&gt;
			</td>
			<td>
				Reserved:<br />
				<ul>
				<li>
					<tt>00</tt> : mandatory value
				</li>
				<li>
					<tt>01-11</tt> : reserved for future use
				</li>
				</ul>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;4&gt;
			</td>
			<td>
				Block size in inter-channel samples:<br />
				<ul>
				<li>
					<tt>0000</tt> : get from STREAMINFO metadata block
				</li>
				<li>
					<tt>0001</tt> : 192 samples
				</li>
				<li>
					<tt>0010-0101</tt> : 576 * (2^(n-2)) samples, i.e. 576/1152/2304/4608
				</li>
				<li>
					<tt>0110</tt> : get 8 bit (blocksize-1) from end of header
				</li>
				<li>
					<tt>0111</tt> : get 16 bit (blocksize-1) from end of header
				</li>
				<li>
					<tt>1000-1111</tt> : 256 * (2^(n-8)) samples, i.e. 256/512/1024/2048/4096/8192/16384/32768
				</li>
				</ul>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;4&gt;
			</td>
			<td>
				Sample rate:<br />
				<ul>
				<li>
					<tt>0000</tt> : get from STREAMINFO metadata block
				</li>
				<li>
					<tt>0001-0011</tt> : reserved
				</li>
				<li>
					<tt>0100</tt> : 8kHz
				</li>
				<li>
					<tt>0101</tt> : 16kHz
				</li>
				<li>
					<tt>0110</tt> : 22.05kHz
				</li>
				<li>
					<tt>0111</tt> : 24kHz
				</li>
				<li>
					<tt>1000</tt> : 32kHz
				</li>
				<li>
					<tt>1001</tt> : 44.1kHz
				</li>
				<li>
					<tt>1010</tt> : 48kHz
				</li>
				<li>
					<tt>1011</tt> : 96kHz
				</li>
				<li>
					<tt>1100</tt> : get 8 bit sample rate (in kHz) from end of header
				</li>
				<li>
					<tt>1101</tt> : get 16 bit sample rate (in Hz) from end of header
				</li>
				<li>
					<tt>1110</tt> : get 16 bit sample rate (in tens of Hz) from end of header
				</li>
				<li>
					<tt>1111</tt> : invalid, to prevent sync-fooling string of 1s
				</li>
				</ul>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;4&gt;
			</td>
			<td>
				Channel assignment
				<ul>
				<li>
					<tt>0000-0111</tt> : (number of independent channels)-1.  Where defined, the channel order follows SMPTE/ITU-R recommendations.  The assignments are as follows:
					<ul>
						<li>1 channel: mono</li>
						<li>2 channels: left, right</li>
						<li>3 channels: left, right, center</li>
						<li>4 channels: left, right, back left, back right</li>
						<li>5 channels: left, right, center, back/surround left, back/surround right</li>
						<li>6 channels: left, right, center, LFE, back/surround left, back/surround right</li>
						<li>7 channels: not defined</li>
						<li>8 channels: not defined</li>
					</ul>
				</li>
				<li>
					<tt>1000</tt> : left/side stereo: channel 0 is the left channel, channel 1 is the side(difference) channel
				</li>
				<li>
					<tt>1001</tt> : right/side stereo: channel 0 is the side(difference) channel, channel 1 is the right channel
				</li>
				<li>
					<tt>1010</tt> : mid/side stereo: channel 0 is the mid(average) channel, channel 1 is the side(difference) channel
				</li>
				<li>
					<tt>1011-1111</tt> : reserved
				</li>
				</ul>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;3&gt;
			</td>
			<td>
				Sample size in bits:<br />
				<ul>
				<li>
					<tt>000</tt> : get from STREAMINFO metadata block
				</li>
				<li>
					<tt>001</tt> : 8 bits per sample
				</li>
				<li>
					<tt>010</tt> : 12 bits per sample
				</li>
				<li>
					<tt>011</tt> : reserved
				</li>
				<li>
					<tt>100</tt> : 16 bits per sample
				</li>
				<li>
					<tt>101</tt> : 20 bits per sample
				</li>
				<li>
					<tt>110</tt> : 24 bits per sample
				</li>
				<li>
					<tt>111</tt> : reserved
				</li>
				</ul>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;1&gt;
			</td>
			<td>
				Zero bit padding, to prevent sync-fooling string of 1s
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;?&gt;
			</td>
			<td>
				if(variable blocksize)<br />
				&nbsp;&nbsp;&nbsp;&lt;8-56&gt;:"UTF-8" coded sample number (decoded number is 36 bits)<br />
				else<br />
				&nbsp;&nbsp;&nbsp;&lt;8-48&gt;:"UTF-8" coded frame number (decoded number is 31 bits)
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;?&gt;
			</td>
			<td>
				if(blocksize bits == 011x)<br />
				&nbsp;&nbsp;&nbsp;8/16 bit (blocksize-1)
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;?&gt;
			</td>
			<td>
				if(sample rate bits == 11xx)<br />
				&nbsp;&nbsp;&nbsp;8/16 bit sample rate
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;8&gt;
			</td>
			<td>
				CRC-8 (polynomial = x^8 + x^2 + x^1 + x^0, initialized with 0) of everything before the crc, including the sync code
			</td>
		</tr>
		<tr>
			<td>
			</td>
			<td bgcolor="#F4F4CC">
				<font size="+1">NOTES</font><br />
				<ul>
				<li>
					The blocksize bits 0000-0101 and 1000-1111 may only be used if the blocksize is fixed throughout the entire stream.  Blocksize bits 0110-0111 may be used in any case but the decoder will have to pessimistically guess that it is a variable-blocksize stream unless it has STREAMINFO metadata and the min_blocksize and max_blocksize values in it match.  There is only one special case: the encoder may use blocksize bits 0110-0111 on the last frame of a fixed-blocksize stream, as long as the blocksize is not greater than the stream blocksize.
				</li>
				<li>
					The "UTF-8" coding used for the sample/frame number is the same variable length code used to store compressed UCS-2, extended to handle larger input.
				</li>
				</ul>
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="frame_footer"><font size="+1"><b>FRAME_FOOTER</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;16&gt;
			</td>
			<td>
				CRC-16 (polynomial = x^16 + x^15 + x^2 + x^0, initialized with 0) of everything before the crc, back to and including the frame header sync code
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="subframe"><font size="+1"><b>SUBFRAME</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#subframe_header"><i>SUBFRAME_HEADER</i></a>
			</td>
			<td>
				&nbsp;
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#subframe_constant"><i>SUBFRAME_CONSTANT</i></a><br />|| <a href="#subframe_fixed"><i>SUBFRAME_FIXED</i></a><br />|| <a href="#subframe_lpc"><i>SUBFRAME_LPC</i></a><br />|| <a href="#subframe_verbatim"><i>SUBFRAME_VERBATIM</i></a>
			</td>
			<td valign="top">
				The SUBFRAME_HEADER specifies which one.
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="subframe_header"><font size="+1"><b>SUBFRAME_HEADER</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;1&gt;
			</td>
			<td>
				Zero bit padding, to prevent sync-fooling string of 1s
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;6&gt;
			</td>
			<td>
				Subframe type:
				<ul>
				<li>
					<tt>000000</tt> : <a href="#subframe_constant">SUBFRAME_CONSTANT</a>
				</li>
				<li>
					<tt>000001</tt> : <a href="#subframe_verbatim">SUBFRAME_VERBATIM</a>
				</li>
				<li>
					<tt>00001x</tt> : reserved
				</li>
				<li>
					<tt>0001xx</tt> : reserved
				</li>
				<li>
					<tt>001xxx</tt> : if(xxx &lt;= 4) <a href="#subframe_fixed">SUBFRAME_FIXED</a>, xxx=order ; else reserved
				</li>
				<li>
					<tt>01xxxx</tt> : reserved
				</li>
				<li>
					<tt>1xxxxx</tt> : <a href="#subframe_lpc">SUBFRAME_LPC</a>, xxxxx=order-1
				</li>
				</ul>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;1+k&gt;
			</td>
			<td>
				'Wasted bits-per-sample' flag:
				<ul>
				<li>
					<tt>0</tt> : no wasted bits-per-sample in source subblock, k=0
				</li>
				<li>
					<tt>1</tt> : k wasted bits-per-sample in source subblock, k-1 follows, unary coded; e.g. k=3 =&gt; 001 follows, k=7 =&gt; 0000001 follows.
				</li>
				</ul>
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="subframe_constant"><font size="+1"><b>SUBFRAME_CONSTANT</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n&gt;
			</td>
			<td>
				Unencoded constant value of the subblock, n = frame's bits-per-sample.
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="subframe_fixed"><font size="+1"><b>SUBFRAME_FIXED</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n&gt;
			</td>
			<td>
				Unencoded warm-up samples (n = frame's bits-per-sample * predictor order).
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#residual"><i>RESIDUAL</i></a>
			</td>
			<td>
				Encoded residual
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="subframe_lpc"><font size="+1"><b>SUBFRAME_LPC</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n&gt;
			</td>
			<td>
				Unencoded warm-up samples (n = frame's bits-per-sample * lpc order).
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;4&gt;
			</td>
			<td>
				(Quantized linear predictor coefficients' precision in bits)-1 (1111 = invalid).
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;5&gt;
			</td>
			<td>
				Quantized linear predictor coefficient shift needed in bits (NOTE: this number is signed two's-complement).
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n&gt;
			</td>
			<td>
				Unencoded predictor coefficients (n = qlp coeff precision * lpc order) (NOTE: the coefficients are signed two's-complement).
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#residual"><i>RESIDUAL</i></a>
			</td>
			<td>
				Encoded residual
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="subframe_verbatim"><font size="+1"><b>SUBFRAME_VERBATIM</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;n*i&gt;
			</td>
			<td>
				Unencoded subblock; n = frame's bits-per-sample, i = frame's blocksize.
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="residual"><font size="+1"><b>RESIDUAL</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;2&gt;
			</td>
			<td>
				Residual coding method:<br />
				<ul>
				<li>
					<tt>00</tt> : partitioned rice coding
				</li>
				<li>
					<tt>01-11</tt> : reserved
				</li>
				</ul>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#partitioned_rice"><i>RESIDUAL_CODING_METHOD_PARTITIONED_RICE</i></a>
			</td>
			<td>
				&nbsp;
			</td>
		</tr>
		<tr>
			<td>
			</td>
			<td bgcolor="#F4F4CC">
				<font size="+1">NOTES</font><br />
				<ul>
				<li>
					Currently, FLAC specifies only one entropy coding method.
				</li>
				</ul>
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="partitioned_rice"><font size="+1"><b>RESIDUAL_CODING_METHOD_PARTITIONED_RICE</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;4&gt;
			</td>
			<td>
				Partition order.
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				<a href="#rice_partition"><i>RICE_PARTITION</i></a>+
			</td>
			<td>
				There will be 2^order partitions.
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>

<br />

<div class="box">
	<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
	<table width="100%" border="1" bgcolor="#EEEED4">
		<tr>
			<td colspan="2" bgcolor="#D3D4C5">
				<a name="rice_partition"><font size="+1"><b>RICE_PARTITION</b></font></a>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;4(+5)&gt;
			</td>
			<td>
				Encoding parameter:<br />
				<ul>
				<li>
					<tt>0000-1110</tt> : Rice parameter.
				</li>
				<li>
					<tt>1111</tt> : Escape code, meaning the partition is in unencoded binary form using n bits per sample; n follows as a 5-bit number.
				</li>
				</ul>
			</td>
		</tr>
		<tr>
			<td align="right" valign="top" bgcolor="#F4F4CC">
				&lt;?&gt;
			</td>
			<td>
				Encoded residual.  The number of samples (n) in the partition is determined as follows:<br />
				<ul>
				<li>
					if the partition order is zero, n = frame's blocksize - predictor order
				</li>
				<li>
					else if this is not the first partition of the subframe, n = (frame's blocksize / (2^partition order))
				</li>
				<li>
					else n = (frame's blocksize / (2^partition order)) - predictor order
				</li>
				</ul>
			</td>
		</tr>
	</table>
	</td></tr></table>
</div>


<div class="copyright">
	<!-- @@@ oh so hacky -->
	<table>
		<tr>
			<td align="left">
				Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
			</td>
			<td width="1%" align="right">
				<a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
			</td>
			<td width="1%" align="right">
				<a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
			</td>
			<td width="1%" align="right">
				<a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
			</td>
		</tr>
	</table>
</div>

</body>
</html>
