summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJosh Coalson <jcoalson@users.sourceforce.net>2005-02-09 03:37:59 +0000
committerJosh Coalson <jcoalson@users.sourceforce.net>2005-02-09 03:37:59 +0000
commit950e3ca1b489720702eae75e9aac053f42a16bac (patch)
tree8c8dcd11b61fa724681c78aa227da8105c7a4f5e /doc
parent66142c9b5b75005a349136b62d2f63e5dc524411 (diff)
downloadflac-950e3ca1b489720702eae75e9aac053f42a16bac.tar.gz
revamp html to be xhtml 1.0 compliant, also use css
Diffstat (limited to 'doc')
-rw-r--r--doc/html/Makefile.am1
-rw-r--r--doc/html/changelog.html736
-rw-r--r--doc/html/comparison.html2351
-rw-r--r--doc/html/developers.html255
-rw-r--r--doc/html/documentation.html2832
-rw-r--r--doc/html/download.html462
-rw-r--r--doc/html/faq.html687
-rw-r--r--doc/html/features.html268
-rw-r--r--doc/html/flac.css197
-rw-r--r--doc/html/format.html2867
-rw-r--r--doc/html/goals.html234
-rw-r--r--doc/html/id.html401
-rw-r--r--doc/html/index.html464
-rw-r--r--doc/html/license.html194
-rw-r--r--doc/html/links.html640
-rw-r--r--doc/html/news.html1290
-rw-r--r--doc/html/ogg_mapping.html258
17 files changed, 6701 insertions, 7436 deletions
diff --git a/doc/html/Makefile.am b/doc/html/Makefile.am
index eb8f453e..7af64e77 100644
--- a/doc/html/Makefile.am
+++ b/doc/html/Makefile.am
@@ -30,6 +30,7 @@ doc_DATA = \
faq.html \
favicon.ico \
features.html \
+ flac.css \
format.html \
goals.html \
id.html \
diff --git a/doc/html/changelog.html b/doc/html/changelog.html
index 9792ec07..aac77ef1 100644
--- a/doc/html/changelog.html
+++ b/doc/html/changelog.html
@@ -1,407 +1,381 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Copyright (c) 2004,2005 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>
- <TITLE>FLAC - changelog</TITLE>
-</HEAD>
+<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 - changelog</title>
+</head>
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
+<body>
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
+<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>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
+<div class="above_nav"></div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;changelog&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
+<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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
+ &nbsp;changelog&nbsp;&nbsp;|
+ &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
+ &nbsp;<a href="developers.html">developers</a>&nbsp;
+</div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/changelog.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/changelog.html">russian</a>&nbsp;
+</div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<CENTER>
+<div class="below_nav"></div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
+<div class="box">
+ <div class="box_title">
+ changelog
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ This is an informal changelog, a summary of changes in each release. Particulary important for developers is the precise description of changes to the library interfaces.
+ <br /><br />
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">changelog</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
+ <a name="flac_1_1_2"><b>FLAC 1.1.2</b></a>
- <P>
- This is an informal changelog, a summary of changes in each release. Particulary important for developers is the precise description of changes to the library interfaces.
- </P>
+ <br />
- <P>
- <A NAME="flac_1_1_2"><B>FLAC 1.1.2</B></A>
- </P>
- <P>
- <UL>
- <LI>
- General:
- <UL>
- <LI>Sped up decoding by a few percent overall.<LI>
- <LI>Sped up encoding when not using LPC (i.e. when using <TT>flac</TT> options <TT>-0</TT>, <TT>-1</TT>, <TT>-2</TT>, or <TT>-l 0</TT>).</LI>
- <LI>Fixed a decoding bug that could cause sync errors with some ID3v1-tagged FLAC files.</LI>
- <LI>Added <A HREF="documentation.html#metaflac">HTML documentation for metaflac</A>.</LI>
- </UL>
- </LI>
- <LI>
- FLAC format:
- <UL>
- <LI>(none)</LI>
- </UL>
- </LI>
- <LI>
- Ogg FLAC format:
- <UL>
- <LI>(none)</LI>
- </UL>
- </LI>
- <LI>
- flac:
- <UL>
- <LI>New option <A HREF="documentation.html#flac_options_input_size"><TT>--input-size</TT></A> to manually specify the input size when encoding raw samples from stdin.</LI>
- </UL>
- </LI>
- <LI>
- metaflac:
- <UL>
- <LI>(none)</LI>
- </UL>
- </LI>
- <LI>
- plugins:
- <UL>
- <LI>Added support for HTTP streaming in XMMS plugin. <B>NOTE</B>: there is a <A HREF="http://bugs.xmms.org/show_bug.cgi?id=2038">bug</A> in the XMMS mpg123 plugin that hijacks FLAC streams; to fix it you will need to add the '.flac' extension to the list of exceptions in <TT>Input/mpg123/mpg123.c:is_our_file()</TT> in the XMMS sources and recompile.</LI>
- </UL>
- </LI>
- <LI>
- build system:
- <UL>
- <LI>(none)</LI>
- </UL>
- </LI>
- <LI>
- libraries:
- <UL>
- <LI>libFLAC: Sped up Rice block decoding in the bitbuffer, resulting in decoding speed gains of a few percent.</LI>
- <LI>libFLAC: Sped up encoding when not using LPC (i.e. <TT>max_lpc_order == 0</TT>).</LI>
- <LI>libFLAC: Trailing NUL characters maintained on Vorbis comment entries so they can be treated like C strings.</LI>
- <LI>libFLAC: More FLAC tag (i.e. Vorbis comment) validation.</LI>
- <LI>libFLAC: Fixed a bug in the logic that determines the frame or sample number in a frame header; the bug could cause sync errors with some ID3v1-tagged FLAC files.</LI>
- <LI>libFLAC, libOggFLAC: Can now be compiled to use only integer instructions, including encoding. The decoder is almost completely integer anyway but there were a couple places that needed a fixed-point replacement. There is no fixed-point version of LPC analysis yet, so if libFLAC is compiled integer-only, the encoder will behave as if the max LPC order is 0 (i.e. used fixed predictors only). LPC decoding is supported in all cases as it always was integer-only.</LI>
- </UL>
- </LI>
- <LI>
- Interface changes:
- <UL>
- <LI>
- libFLAC:
- <UL>
- <LI><B>Changed:</B> Metadata object interface now maintains a trailing NUL on Vorbis comment entries for convenience.</LI>
- <LI><B>Changed:</B> Metadata object interface now validates all Vorbis comment entries on input and returns false if an entry does not conform to the Vorbis comment spec.</LI>
- <LI><B>Added</B> FLAC__format_vorbiscomment_entry_name_is_legal()</LI>
- <LI><B>Added</B> FLAC__format_vorbiscomment_entry_value_is_legal()</LI>
- <LI><B>Added</B> FLAC__format_vorbiscomment_entry_is_legal()</LI>
- <LI><B>Added</B> FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair()</LI>
- <LI><B>Added</B> FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair()</LI>
- <LI><B>Changed</B> the signature of FLAC__metadata_object_vorbiscomment_entry_matches(): the first argument is now <TT>FLAC__StreamMetadata_VorbisComment_Entry entry</TT> (was <TT>const FLAC__StreamMetadata_VorbisComment_Entry *entry</TT>), i.e. <TT>entry</TT> is now pass-by-value.</LI>
- </UL>
- </LI>
- <LI>
- libFLAC++:
- <UL>
- <LI><B>Changed:</B> Metadata object interface now maintains a trailing NUL on Vorbis comment values for convenience.</LI>
- <LI><B>Changed:</B> Metadata object interface now validates all Vorbis comment entries on input and returns false if an entry does not conform to the Vorbis comment spec.</LI>
- <LI><B>Changed:</B> All Metadata objects' operator=() methods now return a reference to themselves.</LI>
- <LI><B>Added</B> methods to FLAC::Metadata::VorbisComment::Entry for setting comment values from null-terminated strings:
- <UL>
- <LI>Entry(const char *field)</LI>
- <LI>Entry(const char *field_name, const char *field_value)</LI>
- <LI>bool set_field(const char *field)</LI>
- <LI>bool set_field_value(const char *field_value)</LI>
- </UL>
- </LI>
- <LI><B>Changed</B> the signature of FLAC::Metadata::VorbisComment::get_vendor_string() and FLAC::Metadata::VorbisComment::set_vendor_string() to use a UTF-8, NUL-terminated string <TT>const FLAC__byte *</TT> for the vendor string instead of <TT>FLAC::Metadata::VorbisComment::Entry</TT>.</LI>
- <LI><B>Added</B> FLAC::Metadata::*::assign() to all Metadata objects.</LI>
- <LI><B>Added</B> bool FLAC::Metadata::get_tags(const char *filename, VorbisComment &amp;tags)</LI>
- </UL>
- </LI>
- <LI>
- libOggFLAC:
- <UL>
- <LI>(none)</LI>
- </UL>
- </LI>
- <LI>
- libOggFLAC++:
- <UL>
- <LI>(none)</LI>
- </UL>
- </LI>
- </UL>
- </LI>
- </UL>
- </P>
+ <ul>
+ <li>
+ General:
+ <ul>
+ <li>Sped up decoding by a few percent overall.</li>
+ <li>Sped up encoding when not using LPC (i.e. when using <span class="commandname">flac</span> options <span class="argument">-0</span>, <span class="argument">-1</span>, <span class="argument">-2</span>, or <span class="argument">-l 0</span>).</li>
+ <li>Fixed a decoding bug that could cause sync errors with some ID3v1-tagged FLAC files.</li>
+ <li>Added <a href="documentation.html#metaflac">HTML documentation for metaflac</a>.</li>
+ </ul>
+ </li>
+ <li>
+ FLAC format:
+ <ul>
+ <li>(none)</li>
+ </ul>
+ </li>
+ <li>
+ Ogg FLAC format:
+ <ul>
+ <li>(none)</li>
+ </ul>
+ </li>
+ <li>
+ flac:
+ <ul>
+ <li>New option <a href="documentation.html#flac_options_input_size"><span class="argument">--input-size</span></a> to manually specify the input size when encoding raw samples from stdin.</li>
+ </ul>
+ </li>
+ <li>
+ metaflac:
+ <ul>
+ <li>(none)</li>
+ </ul>
+ </li>
+ <li>
+ plugins:
+ <ul>
+ <li>Added support for HTTP streaming in XMMS plugin. <b>NOTE</b>: there is a <a href="http://bugs.xmms.org/show_bug.cgi?id=2038">bug</a> in the XMMS mpg123 plugin that hijacks FLAC streams; to fix it you will need to add the '.flac' extension to the list of exceptions in <span class="code">Input/mpg123/mpg123.c:is_our_file()</span> in the XMMS sources and recompile.</li>
+ </ul>
+ </li>
+ <li>
+ build system:
+ <ul>
+ <li>(none)</li>
+ </ul>
+ </li>
+ <li>
+ libraries:
+ <ul>
+ <li>libFLAC: Sped up Rice block decoding in the bitbuffer, resulting in decoding speed gains of a few percent.</li>
+ <li>libFLAC: Sped up encoding when not using LPC (i.e. <span class="code">max_lpc_order == 0</span>).</li>
+ <li>libFLAC: Trailing NUL characters maintained on Vorbis comment entries so they can be treated like C strings.</li>
+ <li>libFLAC: More FLAC tag (i.e. Vorbis comment) validation.</li>
+ <li>libFLAC: Fixed a bug in the logic that determines the frame or sample number in a frame header; the bug could cause sync errors with some ID3v1-tagged FLAC files.</li>
+ <li>libFLAC, libOggFLAC: Can now be compiled to use only integer instructions, including encoding. The decoder is almost completely integer anyway but there were a couple places that needed a fixed-point replacement. There is no fixed-point version of LPC analysis yet, so if libFLAC is compiled integer-only, the encoder will behave as if the max LPC order is 0 (i.e. used fixed predictors only). LPC decoding is supported in all cases as it always was integer-only.</li>
+ </ul>
+ </li>
+ <li>
+ Interface changes:
+ <ul>
+ <li>
+ libFLAC:
+ <ul>
+ <li><b>Changed:</b> Metadata object interface now maintains a trailing NUL on Vorbis comment entries for convenience.</li>
+ <li><b>Changed:</b> Metadata object interface now validates all Vorbis comment entries on input and returns false if an entry does not conform to the Vorbis comment spec.</li>
+ <li><b>Added</b> FLAC__format_vorbiscomment_entry_name_is_legal()</li>
+ <li><b>Added</b> FLAC__format_vorbiscomment_entry_value_is_legal()</li>
+ <li><b>Added</b> FLAC__format_vorbiscomment_entry_is_legal()</li>
+ <li><b>Added</b> FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair()</li>
+ <li><b>Added</b> FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair()</li>
+ <li><b>Changed</b> the signature of FLAC__metadata_object_vorbiscomment_entry_matches(): the first argument is now <span class="code">FLAC__StreamMetadata_VorbisComment_Entry entry</span> (was <span class="code">const FLAC__StreamMetadata_VorbisComment_Entry *entry</span>), i.e. <span class="code">entry</span> is now pass-by-value.</li>
+ </ul>
+ </li>
+ <li>
+ libFLAC++:
+ <ul>
+ <li><b>Changed:</b> Metadata object interface now maintains a trailing NUL on Vorbis comment values for convenience.</li>
+ <li><b>Changed:</b> Metadata object interface now validates all Vorbis comment entries on input and returns false if an entry does not conform to the Vorbis comment spec.</li>
+ <li><b>Changed:</b> All Metadata objects' operator=() methods now return a reference to themselves.</li>
+ <li><b>Added</b> methods to FLAC::Metadata::VorbisComment::Entry for setting comment values from null-terminated strings:
+ <ul>
+ <li>Entry(const char *field)</li>
+ <li>Entry(const char *field_name, const char *field_value)</li>
+ <li>bool set_field(const char *field)</li>
+ <li>bool set_field_value(const char *field_value)</li>
+ </ul>
+ </li>
+ <li><b>Changed</b> the signature of FLAC::Metadata::VorbisComment::get_vendor_string() and FLAC::Metadata::VorbisComment::set_vendor_string() to use a UTF-8, NUL-terminated string <span class="code">const FLAC__byte *</span> for the vendor string instead of <span class="code">FLAC::Metadata::VorbisComment::Entry</span>.</li>
+ <li><b>Added</b> FLAC::Metadata::*::assign() to all Metadata objects.</li>
+ <li><b>Added</b> bool FLAC::Metadata::get_tags(const char *filename, VorbisComment &amp;tags)</li>
+ </ul>
+ </li>
+ <li>
+ libOggFLAC:
+ <ul>
+ <li>(none)</li>
+ </ul>
+ </li>
+ <li>
+ libOggFLAC++:
+ <ul>
+ <li>(none)</li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
- <P>
- <A NAME="flac_1_1_1"><B>FLAC 1.1.1</B></A>
- </P>
- <P>
- <UL>
- <LI>
- General:
- <UL>
- <LI>Ogg FLAC seeking now works</LI>
- <LI>New optimizations almost double the decoding speed on PowerPC (e.g. Mac G4/G5)</LI>
- <LI>A native OS X release thanks to updated Project Builder and autotools files</LI>
- </UL>
- </LI>
- <LI>
- FLAC format:
- <UL>
- <LI>Made invalid the metadata block type 127 so that audio frames can always be distinguished from metadata by seeing 0xff as the first byte. (This was also required for the Ogg FLAC mapping.)</LI>
- </UL>
- </LI>
- <LI>
- Ogg FLAC format:
- <UL>
- <LI>First official FLAC-&gt;Ogg bitstream mapping standardized (see new <A HREF="ogg_mapping.html">FLAC-to-Ogg mapping specification</A>). See the documentation for the <A HREF="documentation.html#flac_options_ogg"><TT>--ogg</TT></A> switch about having to re-encode older Ogg FLAC files.</LI>
- </UL>
- </LI>
- <LI>
- flac:
- <UL>
- <LI>Print an error when output file already exists instead of automatically overwriting.</LI>
- <LI>New option <A HREF="documentation.html#flac_options_force"><TT>-f</TT> (<TT>--force</TT>)</A> to force overwriting if the output file already exists.</LI>
- <LI>New option <A HREF="documentation.html#flac_options_cue"><TT>--cue</TT></A> to select a specific section to decode using cuesheet track/index points.</LI>
- <LI>New option <A HREF="documentation.html#flac_options_totally_silent"><TT>--totally-silent</TT></A> to suppress all output.</LI>
- <LI>New (but undocumented) option <TT>--apply-replaygain-which-is-not-lossless</TT> which applies ReplayGain to the decoded output. See <A HREF="http://www.hydrogenaudio.org/forums/index.php?showtopic=17293&st=11">this thread</A> for usage and caveats.</LI>
- <LI>When encoding to Ogg FLAC, use a random serial number (instead of 0 as was done before) when a serial number is not specified.</LI>
- <LI>When encoding multiple Ogg FLAC streams, <TT>--serial-number</TT> or random serial number sets the first number, which is then incremented for subsequent streams (before, the same serial number was used for all streams).</LI>
- <LI>Decoder no longer exits with an error when writing to stdout and the pipe is broken.</LI>
- <LI>Better explanation of common error messages.</LI>
- <LI>Default extension when writing AIFF files is .aif (before, it was .aiff).</LI>
- <LI>Write more common representation of SANE numbers in AIFF files.</LI>
- <LI>Bug fix: calculating ReplayGain on 48kHz streams.</LI>
- <LI>Bug fix: check for supported block alignments in WAVE files.</LI>
- <LI>Bug fix: "offset" field in AIFF SSND chunk properly handled.</LI>
- <LI>Bug fix: <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=679166&group_id=13478&atid=113478">#679166</A>: flac doesn't respect RIFF subchunk padding byte.</LI>
- <LI>Bug fix: <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=828391&group_id=13478&atid=113478">#828391</A>: --add-replay-gain segfaults.</LI>
- <LI>Bug fix: <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=851155&group_id=13478&atid=113478">#851155</A>: Can't seek to position in flac file.</LI>
- <LI>Bug fix: <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=851756&group_id=13478&atid=113478">#851756</A>: flac --skip --until reads entire file.</LI>
- <LI>Bug fix: <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=877122&group_id=13478&atid=113478">#877122</A>: problem parsing cuesheet with CATALOG entry.</LI>
- <LI>Bug fix: <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=896057&group_id=13478&atid=113478">#896057</A>: parsing ISRC number from cuesheet.</LI>
- </UL>
- </LI>
- <LI>
- metaflac:
- <UL>
- <LI>Renamed the tag editing options as follows (the <TT>...-vc-...</TT> options still work but are deprecated):
- <UL>
- <LI><TT>--show-vc-vendor</TT> becomes <TT>--show-vendor-tag</TT></LI>
- <LI><TT>--show-vc-field</TT> becomes <TT>--show-tag</TT></LI>
- <LI><TT>--remove-vc-all</TT> becomes <TT>--remove-all-tags</TT></LI>
- <LI><TT>--remove-vc-field</TT> becomes <TT>--remove-tag</TT></LI>
- <LI><TT>--remove-vc-firstfield</TT> becomes <TT>--remove-first-tag</TT></LI>
- <LI><TT>--set-vc-field</TT> becomes <TT>--set-tag</TT></LI>
- <LI><TT>--import-vc-from</TT> becomes <TT>--import-tags-from</TT></LI>
- <LI><TT>--export-vc-to</TT> becomes <TT>--export-tags-to</TT></LI>
- </UL>
- </LI>
- <LI>Better explanation of common error messages.</LI>
- <LI>Bug fix: calculating ReplayGain on 48kHz streams.</LI>
- <LI>Bug fix: incorrect numbers when printing seek points.</LI>
- </UL>
- </LI>
- <LI>
- plugins:
- <UL>
- <LI>Speed optimization in ReplayGain synthesis.</LI>
- <LI>Speed optimization in XMMS playback.</LI>
- <LI>Support for big-endian architectures in XMMS plugin.</LI>
- <LI>Removed support for ID3 tags.</LI>
- <LI>Bug fix: make hard limiter default to off in XMMS plugin.</LI>
- <LI>Bug fix: stream length calculation bug in XMMS plugin, debian bug #200435; <A HREF="http://sourceforge.net/mailarchive/forum.php?thread_id=2733072&forum_id=6312">see also</A>.</LI>
- <LI>Bug fix: small memory leak in XMMS plugin.</LI>
- </UL>
- </LI>
- <LI>
- build system:
- <UL>
- <LI><TT>ordinals.h</TT> is now static, not a build-generated file anymore.</LI>
- </UL>
- </LI>
- <LI>
- libraries:
- <UL>
- <LI>libFLAC: PPC+Altivec optimizations of some decoder routines.</LI>
- <LI>libFLAC: Make stream encoder encode the blocksize and sample rate in the frame header if at all possible (not in STREAMINFO), even if subset encoding was not requested.</LI>
- <LI>libFLAC: Bug fix: fixed seek routine where infinite loop could happen when seeking past end of stream.</LI>
- <LI>libFLAC, libFLAC++: added methods to skip single frames, useful for quickly finding frame boundaries (see interface changes below).</LI>
- <LI>libOggFLAC, libOggFLAC++: New seekable-stream and file encoder and decoder APIs to match native FLAC APIs (see interface changes below).</LI>
- </UL>
- </LI>
- <LI>
- Interface changes:
- <UL>
- <LI>
- libFLAC:
- <UL>
- <LI><B>Added</B> FLAC__metadata_get_tags()</LI>
- <LI><B>Added</B> callback-based versions of metadata editing functions:
- <UL>
- <LI>FLAC__metadata_chain_read_with_callbacks()</LI>
- <LI>FLAC__metadata_chain_write_with_callbacks()</LI>
- <LI>FLAC__metadata_chain_write_with_callbacks_and_tempfile()</LI>
- <LI>FLAC__metadata_chain_check_if_tempfile_needed()</LI>
- </UL>
- </LI>
- <LI><B>Added</B> decoder functions for skipping single frames, also useful for quickly finding frame boundaries:
- <UL>
- <LI>FLAC__stream_decoder_skip_single_frame()</LI>
- <LI>FLAC__seekable_stream_decoder_skip_single_frame()</LI>
- <LI>FLAC__file_decoder_skip_single_frame()</LI>
- </UL>
- </LI>
- <LI><B>Added</B> new required tell callback on seekable stream encoder:
- <UL>
- <LI>FLAC__SeekableStreamEncoderTellStatus and FLAC__SeekableStreamEncoderTellStatusString[]</LI>
- <LI>FLAC__SeekableStreamEncoderTellCallback</LI>
- <LI>FLAC__seekable_stream_encoder_set_tell_callback()</LI>
- </UL>
- </LI>
- <LI><B>Changed</B> FLAC__SeekableStreamEncoderState by adding FLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR</LI>
- <LI><B>Changed</B> Tell callback is now required to initialize seekable stream encoder</LI>
- <LI><B>Deleted</B> erroneous and unimplemented FLAC__file_decoder_process_remaining_frames()</LI>
- </UL>
- </LI>
- <LI>
- libFLAC++:
- <UL>
- <LI><B>Added</B> FLAC::Metadata::get_tags()</LI>
- <LI><B>Added</B> decoder functions for skipping single frames, also useful for quickly finding frame boundaries:
- <UL>
- <LI>FLAC::Decoder::Stream::skip_single_frame()</LI>
- <LI>FLAC::Decoder::SeekableStream::skip_single_frame()</LI>
- <LI>FLAC::Decoder::File::skip_single_frame()</LI>
- </UL>
- </LI>
- <LI><B>Added</B> encoder functions for setting metadata:
- <UL>
- <LI>FLAC::Encoder::Stream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</LI>
- <LI>FLAC::Encoder::SeekableStream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</LI>
- <LI>FLAC::Encoder::File::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</LI>
- </UL>
- </LI>
- <LI><B>Added</B> new required tell callback on seekable stream encoder:
- <UL>
- <LI>pure virtual FLAC::Encoder::SeekableStream::tell_callback()</LI>
- </UL>
- </LI>
- <LI><B>Changed</B> Tell callback is now required to initialize seekable stream encoder</LI>
- <LI><B>Deleted</B> the following methods:
- <UL>
- <LI>FLAC::Decoder::Stream::State::resolved_as_cstring()</LI>
- <LI>FLAC::Encoder::Stream::State::resolved_as_cstring()</LI>
- </UL>
- </LI>
- </UL>
- </LI>
- <LI>
- libOggFLAC:
- <UL>
- <LI><B>Added</B> OggFLAC__SeekableStreamDecoder interface</LI>
- <LI><B>Added</B> OggFLAC__FileDecoder interface</LI>
- <LI><B>Added</B> OggFLAC__SeekableStreamEncoder interface</LI>
- <LI><B>Added</B> OggFLAC__FileEncoder interface</LI>
- <LI><B>Added</B> OggFLAC__stream_decoder_get_resolved_state_string()</LI>
- <LI><B>Added</B> OggFLAC__stream_encoder_get_resolved_state_string()</LI>
- <LI><B>Added</B> OggFLAC__stream_encoder_set_metadata_callback()</LI>
- <LI><B>Changed</B> OggFLAC__StreamDecoderState by adding OggFLAC__STREAM_DECODER_END_OF_STREAM</LI>
- </UL>
- </LI>
- <LI>
- libOggFLAC++:
- <UL>
- <LI><B>Added</B> OggFLAC::Decoder::SeekableStream interface</LI>
- <LI><B>Added</B> OggFLAC::Decoder::File interface</LI>
- <LI><B>Added</B> OggFLAC::Encoder::SeekableStream interface</LI>
- <LI><B>Added</B> OggFLAC::Encoder::File interface</LI>
- <LI><B>Added</B> OggFLAC::Decoder::Stream::get_resolved_state_string()</LI>
- <LI><B>Added</B> OggFLAC::Encoder::Stream::get_resolved_state_string()</LI>
- <LI><B>Added</B> pure virtual OggFLAC::Encoder::Stream::metadata_callback()</LI>
- </UL>
- </LI>
- </UL>
- </LI>
- </UL>
- </P>
+ <br />
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
+ <a name="flac_1_1_1"><b>FLAC 1.1.1</b></a>
+ <br />
-</CENTER>
+ <ul>
+ <li>
+ General:
+ <ul>
+ <li>Ogg FLAC seeking now works</li>
+ <li>New optimizations almost double the decoding speed on PowerPC (e.g. Mac G4/G5)</li>
+ <li>A native OS X release thanks to updated Project Builder and autotools files</li>
+ </ul>
+ </li>
+ <li>
+ FLAC format:
+ <ul>
+ <li>Made invalid the metadata block type 127 so that audio frames can always be distinguished from metadata by seeing 0xff as the first byte. (This was also required for the Ogg FLAC mapping.)</li>
+ </ul>
+ </li>
+ <li>
+ Ogg FLAC format:
+ <ul>
+ <li>First official FLAC-&gt;Ogg bitstream mapping standardized (see new <a href="ogg_mapping.html">FLAC-to-Ogg mapping specification</a>). See the documentation for the <a href="documentation.html#flac_options_ogg"><span class="argument">--ogg</span></a> switch about having to re-encode older Ogg FLAC files.</li>
+ </ul>
+ </li>
+ <li>
+ flac:
+ <ul>
+ <li>Print an error when output file already exists instead of automatically overwriting.</li>
+ <li>New option <a href="documentation.html#flac_options_force"><span class="argument">-f</span> (<span class="argument">--force</span>)</a> to force overwriting if the output file already exists.</li>
+ <li>New option <a href="documentation.html#flac_options_cue"><span class="argument">--cue</span></a> to select a specific section to decode using cuesheet track/index points.</li>
+ <li>New option <a href="documentation.html#flac_options_totally_silent"><span class="argument">--totally-silent</span></a> to suppress all output.</li>
+ <li>New (but undocumented) option <span class="argument">--apply-replaygain-which-is-not-lossless</span> which applies ReplayGain to the decoded output. See <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=17293&amp;st=11">this thread</a> for usage and caveats.</li>
+ <li>When encoding to Ogg FLAC, use a random serial number (instead of 0 as was done before) when a serial number is not specified.</li>
+ <li>When encoding multiple Ogg FLAC streams, <span class="argument">--serial-number</span> or random serial number sets the first number, which is then incremented for subsequent streams (before, the same serial number was used for all streams).</li>
+ <li>Decoder no longer exits with an error when writing to stdout and the pipe is broken.</li>
+ <li>Better explanation of common error messages.</li>
+ <li>Default extension when writing AIFF files is .aif (before, it was .aiff).</li>
+ <li>Write more common representation of SANE numbers in AIFF files.</li>
+ <li>Bug fix: calculating ReplayGain on 48kHz streams.</li>
+ <li>Bug fix: check for supported block alignments in WAVE files.</li>
+ <li>Bug fix: "offset" field in AIFF SSND chunk properly handled.</li>
+ <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=679166&amp;group_id=13478&amp;atid=113478">#679166</a>: flac doesn't respect RIFF subchunk padding byte.</li>
+ <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=828391&amp;group_id=13478&amp;atid=113478">#828391</a>: --add-replay-gain segfaults.</li>
+ <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=851155&amp;group_id=13478&amp;atid=113478">#851155</a>: Can't seek to position in flac file.</li>
+ <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=851756&amp;group_id=13478&amp;atid=113478">#851756</a>: flac --skip --until reads entire file.</li>
+ <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=877122&amp;group_id=13478&amp;atid=113478">#877122</a>: problem parsing cuesheet with CATALOG entry.</li>
+ <li>Bug fix: <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=896057&amp;group_id=13478&amp;atid=113478">#896057</a>: parsing ISRC number from cuesheet.</li>
+ </ul>
+ </li>
+ <li>
+ metaflac:
+ <ul>
+ <li>Renamed the tag editing options as follows (the <span class="argument">...-vc-...</span> options still work but are deprecated):
+ <ul>
+ <li><span class="argument">--show-vc-vendor</span> becomes <span class="argument">--show-vendor-tag</span></li>
+ <li><span class="argument">--show-vc-field</span> becomes <span class="argument">--show-tag</span></li>
+ <li><span class="argument">--remove-vc-all</span> becomes <span class="argument">--remove-all-tags</span></li>
+ <li><span class="argument">--remove-vc-field</span> becomes <span class="argument">--remove-tag</span></li>
+ <li><span class="argument">--remove-vc-firstfield</span> becomes <span class="argument">--remove-first-tag</span></li>
+ <li><span class="argument">--set-vc-field</span> becomes <span class="argument">--set-tag</span></li>
+ <li><span class="argument">--import-vc-from</span> becomes <span class="argument">--import-tags-from</span></li>
+ <li><span class="argument">--export-vc-to</span> becomes <span class="argument">--export-tags-to</span></li>
+ </ul>
+ </li>
+ <li>Better explanation of common error messages.</li>
+ <li>Bug fix: calculating ReplayGain on 48kHz streams.</li>
+ <li>Bug fix: incorrect numbers when printing seek points.</li>
+ </ul>
+ </li>
+ <li>
+ plugins:
+ <ul>
+ <li>Speed optimization in ReplayGain synthesis.</li>
+ <li>Speed optimization in XMMS playback.</li>
+ <li>Support for big-endian architectures in XMMS plugin.</li>
+ <li>Removed support for ID3 tags.</li>
+ <li>Bug fix: make hard limiter default to off in XMMS plugin.</li>
+ <li>Bug fix: stream length calculation bug in XMMS plugin, debian bug #200435; <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=2733072&amp;forum_id=6312">see also</a>.</li>
+ <li>Bug fix: small memory leak in XMMS plugin.</li>
+ </ul>
+ </li>
+ <li>
+ build system:
+ <ul>
+ <li><span class="code">ordinals.h</span> is now static, not a build-generated file anymore.</li>
+ </ul>
+ </li>
+ <li>
+ libraries:
+ <ul>
+ <li>libFLAC: PPC+Altivec optimizations of some decoder routines.</li>
+ <li>libFLAC: Make stream encoder encode the blocksize and sample rate in the frame header if at all possible (not in STREAMINFO), even if subset encoding was not requested.</li>
+ <li>libFLAC: Bug fix: fixed seek routine where infinite loop could happen when seeking past end of stream.</li>
+ <li>libFLAC, libFLAC++: added methods to skip single frames, useful for quickly finding frame boundaries (see interface changes below).</li>
+ <li>libOggFLAC, libOggFLAC++: New seekable-stream and file encoder and decoder APIs to match native FLAC APIs (see interface changes below).</li>
+ </ul>
+ </li>
+ <li>
+ Interface changes:
+ <ul>
+ <li>
+ libFLAC:
+ <ul>
+ <li><b>Added</b> FLAC__metadata_get_tags()</li>
+ <li><b>Added</b> callback-based versions of metadata editing functions:
+ <ul>
+ <li>FLAC__metadata_chain_read_with_callbacks()</li>
+ <li>FLAC__metadata_chain_write_with_callbacks()</li>
+ <li>FLAC__metadata_chain_write_with_callbacks_and_tempfile()</li>
+ <li>FLAC__metadata_chain_check_if_tempfile_needed()</li>
+ </ul>
+ </li>
+ <li><b>Added</b> decoder functions for skipping single frames, also useful for quickly finding frame boundaries:
+ <ul>
+ <li>FLAC__stream_decoder_skip_single_frame()</li>
+ <li>FLAC__seekable_stream_decoder_skip_single_frame()</li>
+ <li>FLAC__file_decoder_skip_single_frame()</li>
+ </ul>
+ </li>
+ <li><b>Added</b> new required tell callback on seekable stream encoder:
+ <ul>
+ <li>FLAC__SeekableStreamEncoderTellStatus and FLAC__SeekableStreamEncoderTellStatusString[]</li>
+ <li>FLAC__SeekableStreamEncoderTellCallback</li>
+ <li>FLAC__seekable_stream_encoder_set_tell_callback()</li>
+ </ul>
+ </li>
+ <li><b>Changed</b> FLAC__SeekableStreamEncoderState by adding FLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR</li>
+ <li><b>Changed</b> Tell callback is now required to initialize seekable stream encoder</li>
+ <li><b>Deleted</b> erroneous and unimplemented FLAC__file_decoder_process_remaining_frames()</li>
+ </ul>
+ </li>
+ <li>
+ libFLAC++:
+ <ul>
+ <li><b>Added</b> FLAC::Metadata::get_tags()</li>
+ <li><b>Added</b> decoder functions for skipping single frames, also useful for quickly finding frame boundaries:
+ <ul>
+ <li>FLAC::Decoder::Stream::skip_single_frame()</li>
+ <li>FLAC::Decoder::SeekableStream::skip_single_frame()</li>
+ <li>FLAC::Decoder::File::skip_single_frame()</li>
+ </ul>
+ </li>
+ <li><b>Added</b> encoder functions for setting metadata:
+ <ul>
+ <li>FLAC::Encoder::Stream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</li>
+ <li>FLAC::Encoder::SeekableStream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</li>
+ <li>FLAC::Encoder::File::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)</li>
+ </ul>
+ </li>
+ <li><b>Added</b> new required tell callback on seekable stream encoder:
+ <ul>
+ <li>pure virtual FLAC::Encoder::SeekableStream::tell_callback()</li>
+ </ul>
+ </li>
+ <li><b>Changed</b> Tell callback is now required to initialize seekable stream encoder</li>
+ <li><b>Deleted</b> the following methods:
+ <ul>
+ <li>FLAC::Decoder::Stream::State::resolved_as_cstring()</li>
+ <li>FLAC::Encoder::Stream::State::resolved_as_cstring()</li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ <li>
+ libOggFLAC:
+ <ul>
+ <li><b>Added</b> OggFLAC__SeekableStreamDecoder interface</li>
+ <li><b>Added</b> OggFLAC__FileDecoder interface</li>
+ <li><b>Added</b> OggFLAC__SeekableStreamEncoder interface</li>
+ <li><b>Added</b> OggFLAC__FileEncoder interface</li>
+ <li><b>Added</b> OggFLAC__stream_decoder_get_resolved_state_string()</li>
+ <li><b>Added</b> OggFLAC__stream_encoder_get_resolved_state_string()</li>
+ <li><b>Added</b> OggFLAC__stream_encoder_set_metadata_callback()</li>
+ <li><b>Changed</b> OggFLAC__StreamDecoderState by adding OggFLAC__STREAM_DECODER_END_OF_STREAM</li>
+ </ul>
+ </li>
+ <li>
+ libOggFLAC++:
+ <ul>
+ <li><b>Added</b> OggFLAC::Decoder::SeekableStream interface</li>
+ <li><b>Added</b> OggFLAC::Decoder::File interface</li>
+ <li><b>Added</b> OggFLAC::Encoder::SeekableStream interface</li>
+ <li><b>Added</b> OggFLAC::Encoder::File interface</li>
+ <li><b>Added</b> OggFLAC::Decoder::Stream::get_resolved_state_string()</li>
+ <li><b>Added</b> OggFLAC::Encoder::Stream::get_resolved_state_string()</li>
+ <li><b>Added</b> pure virtual OggFLAC::Encoder::Stream::metadata_callback()</li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ <div class="box_footer"></div>
+</div>
-<P>&nbsp;Copyright (c) 2004,2005 Josh Coalson</P>
+<div class="copyright">
+ Copyright (c) 2004,2005 Josh Coalson
+</div>
-</BODY>
-</HTML>
+</body>
+</html>
diff --git a/doc/html/comparison.html b/doc/html/comparison.html
index 69fdea89..44a81538 100644
--- a/doc/html/comparison.html
+++ b/doc/html/comparison.html
@@ -1,1229 +1,1186 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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>
- <TITLE>FLAC - comparison</TITLE>
-</HEAD>
+<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 - comparison</title>
+</head>
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
+<body>
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
+<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>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
+<div class="above_nav"></div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;comparison&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
+<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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;comparison&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/comparison.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/comparison.html">russian</a>&nbsp;
+</div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<CENTER>
+<div class="below_nav"></div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">comparison</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
+<div class="box">
+ <div class="box_title">
+ comparison
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
The purpose of the comparison page is not only to show how compression ratios and encoding/decoding times using the flac reference encoder compare to other lossless encoders, but also to compare features (for example, some coders archive only and files must be uncompressed completely before playback can start). Keep a few things in mind:
- </P>
- <P>
- <UL>
- <LI>
- As far as I know, only two of the lossless encoders out there (FLAC and WavPack) are both actively developed and truly free (source code for Shorten and Monkey's Audio is available but the licenses are more restrictive). Most others give out free binaries, but without access to the source, you are leaving your data to the whim of the maintainer for eternity; you have no way to port the program to another OS or fix it if it breaks. This can be a serious drawback unless the format has world-class clout (like MP3).
- </LI>
- <LI>
- The compression ratios and times for flac are representative only of the reference encoder. They are not indicative of the limits of all FLAC encoders or the FLAC format itself since the format is open and extensible, and anyone is free to write a better FLAC encoder. And it is almost certain that the reference encoder itself will improve.
- </LI>
- <LI>
- Since FLAC supports streaming, it is at a slight disadvantage to the formats that don't because they don't have the extra overhead of all those frame headers.
- </LI>
- </UL>
- </P>
- <P>
- I make an effort to keep this information as accurate as possible, but if any of the data is wrong, <A HREF="mailto:jcoalson@users.sourceforge.net">let me know</A> and I'll correct it. For another comparison (with graphs) of lossless codecs, see <A HREF="http://web.inter.nl.net/users/hvdh/lossless/lossless.htm">here</A>.
- </P>
- <P>
+ <ul>
+ <li>
+ As far as I know, only two of the lossless encoders out there (FLAC and WavPack) are both actively developed and truly free (source code for Shorten and Monkey's Audio is available but the licenses are more restrictive). Most others give out free binaries, but without access to the source, you are leaving your data to the whim of the maintainer for eternity; you have no way to port the program to another OS or fix it if it breaks. This can be a serious drawback unless the format has world-class clout (like MP3).
+ </li>
+ <li>
+ The compression ratios and times for flac are representative only of the reference encoder. They are not indicative of the limits of all FLAC encoders or the FLAC format itself since the format is open and extensible, and anyone is free to write a better FLAC encoder. And it is almost certain that the reference encoder itself will improve.
+ </li>
+ <li>
+ Since FLAC supports streaming, it is at a slight disadvantage to the formats that don't because they don't have the extra overhead of all those frame headers.
+ </li>
+ </ul>
+ I make an effort to keep this information as accurate as possible, but if any of the data is wrong, <a href="mailto:jcoalson@users.sourceforge.net">let me know</a> and I'll correct it. For another comparison (with graphs) of lossless codecs, see <a href="http://web.inter.nl.net/users/hvdh/lossless/lossless.htm">here</a>.
+ <br /><br />
Reviewed encoders (besides flac of course):
- </P>
- <P>
- <UL>
- <LI>
- Apple Lossless - A new proprietary codec by Apple. Not much is known about it.
- </LI>
- <LI>
- <A HREF="http://www.logarithmic.net/pfh/bonk">Bonk</A> - An open-source source codec. No player or library support yet.
- </LI>
- <LI>
- <A HREF="http://sourceforge.net/projects/kexis">Kexis</A> - An open-source source codec. Development seems to have stopped at the alpha stage. No player or library support yet.
- </LI>
- <LI>
- <A HREF="http://www.lossless-audio.com">La</A> - A closed source symmetric adaptive codec, with Windows and Linux console binaries. Current king of compression ratios but extremely slow.
- </LI>
- <LI>
- <A HREF="http://www.nue.tu-berlin.de/wer/liebchen/lpac.html">LPAC</A> - A closed source codec. At least it's available for more than just Windows, but there's only a Winamp plugin.
- </LI>
- <LI>
- <A HREF="http://www.monkeysaudio.com/">Monkey's Audio</A> - A symmetric adaptive codec with good compression. Source is available under a non-OSI license. There are two versions available now, one by the original author Matt Ashland and one by Frank Klemm. The one tested here is from the original author.
- </LI>
- <LI>
- Ogg Squish - An open source source codec that is no longer maintained. The version I tested, 0.98, was the latest I could find. I don't have Windows timing results but it is among the 'fast' coders, based on UNIX tests.
- </LI>
- <LI>
- <A HREF="http://losslessaudiocompression.com/">optimFROG</A> - A closed source, Windows/Linux codec, with Winamp and XMMS plugins. Slow but high compression ratios.
- </LI>
- <LI>
- <A HREF="http://www.jpg.com/products/sound.html">Pegasus-SPS</A> - A closed source, Windows-only codec.
- </LI>
- <LI>
- <A HREF="http://www.msoftware.co.nz/">RKAU</A> - A closed source, Windows-only codec. No update in over two years.
- </LI>
- <LI>
- <A HREF="http://www.softsound.com/Shorten.html">Shorten</A> - A.J. Robinson's well-known codec; source is available <A HREF="http://rpmfind.net/linux/rpm2html/search.php?query=shorten">here</A>.
- </LI>
- <LI>
- WaveZIP - A closed source, Windows-only archiver. Uses the <A HREF="http://members.aol.com/_ht_a/sndspace/index.html">MUSICompress</A>[tm] engine which supposedly has a patent. I used to have a link to the company that makes WaveZIP (GadgetLabs) but apparently they have gone out of business (maybe for trying to sell something that should cost nothing).
- </LI>
- <LI>
- <A HREF="http://www.wavpack.com/">WavPack</A> - An open-source, (currently) Windows-based codec, released under the BSD license. WavPack has a very good tradeoff between compressed size and compression speed.
- </LI>
- </UL>
- </P>
- <P>
+ <ul>
+ <li>
+ Apple Lossless - A new proprietary codec by Apple. Not much is known about it.
+ </li>
+ <li>
+ <a href="http://www.logarithmic.net/pfh/bonk">Bonk</a> - An open-source source codec. No player or library support yet.
+ </li>
+ <li>
+ <a href="http://sourceforge.net/projects/kexis">Kexis</a> - An open-source source codec. Development seems to have stopped at the alpha stage. No player or library support yet.
+ </li>
+ <li>
+ <a href="http://www.lossless-audio.com">La</a> - A closed source symmetric adaptive codec, with Windows and Linux console binaries. Current king of compression ratios but extremely slow.
+ </li>
+ <li>
+ <a href="http://www.nue.tu-berlin.de/wer/liebchen/lpac.html">LPAC</a> - A closed source codec. At least it's available for more than just Windows, but there's only a Winamp plugin.
+ </li>
+ <li>
+ <a href="http://www.monkeysaudio.com/">Monkey's Audio</a> - A symmetric adaptive codec with good compression. Source is available under a non-OSI license. There are two versions available now, one by the original author Matt Ashland and one by Frank Klemm. The one tested here is from the original author.
+ </li>
+ <li>
+ Ogg Squish - An open source source codec that is no longer maintained. The version I tested, 0.98, was the latest I could find. I don't have Windows timing results but it is among the 'fast' coders, based on UNIX tests.
+ </li>
+ <li>
+ <a href="http://losslessaudiocompression.com/">optimFROG</a> - A closed source, Windows/Linux codec, with Winamp and XMMS plugins. Slow but high compression ratios.
+ </li>
+ <li>
+ <a href="http://www.jpg.com/products/sound.html">Pegasus-SPS</a> - A closed source, Windows-only codec.
+ </li>
+ <li>
+ <a href="http://www.msoftware.co.nz/">RKAU</a> - A closed source, Windows-only codec. No update in over two years.
+ </li>
+ <li>
+ <a href="http://www.softsound.com/Shorten.html">Shorten</a> - A.J. Robinson's well-known codec; source is available <a href="http://rpmfind.net/linux/rpm2html/search.php?query=shorten">here</a>.
+ </li>
+ <li>
+ WaveZIP - A closed source, Windows-only archiver. Uses the <a href="http://members.aol.com/_ht_a/sndspace/index.html">MUSICompress</a>[tm] engine which supposedly has a patent. I used to have a link to the company that makes WaveZIP (GadgetLabs) but apparently they have gone out of business (maybe for trying to sell something that should cost nothing).
+ </li>
+ <li>
+ <a href="http://www.wavpack.com/">WavPack</a> - An open-source, (currently) Windows-based codec, released under the BSD license. WavPack has a very good tradeoff between compressed size and compression speed.
+ </li>
+ </ul>
Encoders I couldn't get a copy of:
- </P>
- <P>
- <UL>
- <LI>
- AudioPak
- </LI>
- <LI>
- WavARC
- </LI>
- </UL>
- </P>
- <P>
+ <ul>
+ <li>
+ AudioPak
+ </li>
+ <li>
+ WavARC
+ </li>
+ </ul>
If you take maximum compression ratio and speed out of the picture (as you will see later, most coders exhibit similar performance), here is a subjective sort based on overall "usefulness". As far as features go, having source code gives you the most freedom since you can add anything you need that is missing; besides, open source projects tend to get better faster than closed source ones. A close second (depending on the user) would be OS support or plugin support.
- </P>
- <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0" BGCOLOR="#EEEED4"><TR><TD>
- <TABLE WIDTH="100%" BORDER="1" BGCOLOR="#EEEED4">
- <TR>
- <TD ALIGN="RIGHT">
- <FONT SIZE="+1"><B>Codec</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Source Available?</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Plugins Available?</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Hardware Support?</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Streamable?</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Seekable?</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Cost</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>OS support</B></FONT>
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- flac v1.1.1
- </TD>
- <TD>
- YES (<A HREF="http://www.opensource.org/licenses/index.html">OSI</A> approved license)
- </TD>
- <TD>
- YES (<A HREF="http://www.xmms.org/">XMMS</A>, <A HREF="http://alsaplayer.org/">AlsaPlayer</A>, <A HREF="http://www.winamp.com/">Winamp</A>, <A HREF="http://www.macamplite.com/addons/plugins.php">MacAmp Lite</A>, <A HREF="http://www.dbpoweramp.com/">dBpowerAMP</A>, <A HREF="http://www.saunalahti.fi/~cse/foobar2000/index.html">Foobar2000</A>, <A HREF="http://www.quinnware.com/">QCD</A>, <A HREF="http://www.hut.fi/~hylinen/apollo/Plug-ins.html">Apollo</A>, more)
- </TD>
- <TD>
- YES (<A HREF="http://www.request.com/us/">ARQ</A>, <A HREF="http://www.phatnoise.com/technology/encoding.php">PhatBox</A>, Kenwood MusicKeg, <A HREF="http://www.digitalnetworksna.com/shop/_templates/item_main_Rio.asp?model=220&cat=53">Rio Karma</A>, <A HREF="http://sourceforge.net/projects/rioplay/">Rio Receiver</A>, Dell Digital Audio Receiver, <A HREF="http://www.rokulabs.com/">Roku Soundbridge</A>, <A HREF="http://www.slimdevices.com/">Squeezebox</A>, <A HREF="http://file-ext-map.sourceforge.net/">AudioTron</A>)
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- FREE
- </TD>
- <TD>
- Linux, Windows, Mac OS X, *BSD, Solaris, OS/2, BeOS, others
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- Shorten v3.2
- </TD>
- <TD>
- YES (non-<A HREF="http://www.opensource.org/licenses/index.html">OSI</A> license)
- </TD>
- <TD>
- YES (Winamp, XMMS)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES (v3 only)
- </TD>
- <TD>
- FREE
- </TD>
- <TD>
- Linux, Windows, Mac OS 9, Mac OS X, *BSD, Solaris, others
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- WavPack v3.97a
- </TD>
- <TD>
- YES (<A HREF="http://www.opensource.org/licenses/index.html">OSI</A> approved license)
- </TD>
- <TD>
- YES (Winamp only)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- FREE
- </TD>
- <TD BGCOLOR="#D3D4C5">
- Windows
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- Monkey's Audio v3.99
- </TD>
- <TD>
- YES (non-<A HREF="http://www.opensource.org/licenses/index.html">OSI</A> license)
- </TD>
- <TD>
- YES (Winamp, MediaJukebox, dBpowerAMP, more)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- FREE
- </TD>
- <TD BGCOLOR="#D3D4C5">
- Windows, Linux console source
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- Apple Lossless
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES (<A HREF="http://www.apple.com/itunes/">iTunes</A>)
- </TD>
- <TD>
- YES (<A HREF="http://www.apple.com/ipod/">iPod</A>)
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- FREE
- </TD>
- <TD BGCOLOR="#D3D4C5">
- Windows, Mac OS X
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- Ogg Squish 0.98
- </TD>
- <TD>
- YES (<A HREF="http://www.opensource.org/licenses/index.html">OSI</A> approved license)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no (?)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- FREE
- </TD>
- <TD>
- Linux, Windows, other UNIX
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- Bonk 0.5
- </TD>
- <TD>
- YES (<A HREF="http://www.opensource.org/licenses/index.html">OSI</A> approved license)
- </TD>
- <TD>
- YES (XMMS)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- FREE
- </TD>
- <TD>
- Linux, Windows, other UNIX
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- La 0.3c
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES (Winamp, XMMS)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- FREE
- </TD>
- <TD BGCOLOR="#D3D4C5">
- Windows, Linux
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- optimFROG 4.21
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES (Winamp, XMMS)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- FREE
- </TD>
- <TD BGCOLOR="#D3D4C5">
- Windows, Linux
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- LPAC v1.31 (codec 3.0)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES (Winamp only)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no?
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- FREE
- </TD>
- <TD BGCOLOR="#D3D4C5">
- Windows, Linux console, Solaris console
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- RKAU v1.07
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES (Winamp only)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- YES
- </TD>
- <TD>
- FREE
- </TD>
- <TD BGCOLOR="#D3D4C5">
- Windows
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- Kexis 0.2.2
- </TD>
- <TD>
- YES (<A HREF="http://www.opensource.org/licenses/index.html">OSI</A> approved license)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- FREE
- </TD>
- <TD>
- Linux, Windows, other UNIX
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- WaveZIP v2
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD>
- FREE (24-bit costs $)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- Windows
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" BGCOLOR="#F4F4CC">
- Pegasus-SPS
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- no
- </TD>
- <TD BGCOLOR="#D3D4C5">
- $39 (free trial)
- </TD>
- <TD BGCOLOR="#D3D4C5">
- Windows
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- <P>
+ <br /><br />
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
+ <table width="100%" border="1" bgcolor="#EEEED4">
+ <tr>
+ <td align="right">
+ <font size="+1"><b>Codec</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Source Available?</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Plugins Available?</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Hardware Support?</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Streamable?</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Seekable?</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Cost</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>OS support</b></font>
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ flac v1.1.1
+ </td>
+ <td>
+ YES (<a href="http://www.opensource.org/licenses/index.html">OSI</a> approved license)
+ </td>
+ <td>
+ YES (<a href="http://www.xmms.org/">XMMS</a>, <a href="http://alsaplayer.org/">AlsaPlayer</a>, <a href="http://www.winamp.com/">Winamp</a>, <a href="http://www.macamplite.com/addons/plugins.php">MacAmp Lite</a>, <a href="http://www.dbpoweramp.com/">dBpowerAMP</a>, <a href="http://www.saunalahti.fi/~cse/foobar2000/index.html">Foobar2000</a>, <a href="http://www.quinnware.com/">QCD</a>, <a href="http://www.hut.fi/~hylinen/apollo/Plug-ins.html">Apollo</a>, more)
+ </td>
+ <td>
+ YES (<a href="http://www.request.com/us/">ARQ</a>, <a href="http://www.phatnoise.com/technology/encoding.php">PhatBox</a>, Kenwood MusicKeg, <a href="http://www.digitalnetworksna.com/shop/_templates/item_main_Rio.asp?model=220&amp;cat=53">Rio Karma</a>, <a href="http://sourceforge.net/projects/rioplay/">Rio Receiver</a>, Dell Digital Audio Receiver, <a href="http://www.rokulabs.com/">Roku Soundbridge</a>, <a href="http://www.slimdevices.com/">Squeezebox</a>, <a href="http://file-ext-map.sourceforge.net/">AudioTron</a>)
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ FREE
+ </td>
+ <td>
+ Linux, Windows, Mac OS X, *BSD, Solaris, OS/2, BeOS, others
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ Shorten v3.2
+ </td>
+ <td>
+ YES (non-<a href="http://www.opensource.org/licenses/index.html">OSI</a> license)
+ </td>
+ <td>
+ YES (Winamp, XMMS)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES (v3 only)
+ </td>
+ <td>
+ FREE
+ </td>
+ <td>
+ Linux, Windows, Mac OS 9, Mac OS X, *BSD, Solaris, others
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ WavPack v3.97a
+ </td>
+ <td>
+ YES (<a href="http://www.opensource.org/licenses/index.html">OSI</a> approved license)
+ </td>
+ <td>
+ YES (Winamp only)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ FREE
+ </td>
+ <td bgcolor="#D3D4C5">
+ Windows
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ Monkey's Audio v3.99
+ </td>
+ <td>
+ YES (non-<a href="http://www.opensource.org/licenses/index.html">OSI</a> license)
+ </td>
+ <td>
+ YES (Winamp, MediaJukebox, dBpowerAMP, more)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ FREE
+ </td>
+ <td bgcolor="#D3D4C5">
+ Windows, Linux console source
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ Apple Lossless
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES (<a href="http://www.apple.com/itunes/">iTunes</a>)
+ </td>
+ <td>
+ YES (<a href="http://www.apple.com/ipod/">iPod</a>)
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ FREE
+ </td>
+ <td bgcolor="#D3D4C5">
+ Windows, Mac OS X
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ Ogg Squish 0.98
+ </td>
+ <td>
+ YES (<a href="http://www.opensource.org/licenses/index.html">OSI</a> approved license)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no (?)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ FREE
+ </td>
+ <td>
+ Linux, Windows, other UNIX
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ Bonk 0.5
+ </td>
+ <td>
+ YES (<a href="http://www.opensource.org/licenses/index.html">OSI</a> approved license)
+ </td>
+ <td>
+ YES (XMMS)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ FREE
+ </td>
+ <td>
+ Linux, Windows, other UNIX
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ La 0.3c
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES (Winamp, XMMS)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ FREE
+ </td>
+ <td bgcolor="#D3D4C5">
+ Windows, Linux
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ optimFROG 4.21
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES (Winamp, XMMS)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ FREE
+ </td>
+ <td bgcolor="#D3D4C5">
+ Windows, Linux
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ LPAC v1.31 (codec 3.0)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES (Winamp only)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no?
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ FREE
+ </td>
+ <td bgcolor="#D3D4C5">
+ Windows, Linux console, Solaris console
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ RKAU v1.07
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES (Winamp only)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ YES
+ </td>
+ <td>
+ FREE
+ </td>
+ <td bgcolor="#D3D4C5">
+ Windows
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ Kexis 0.2.2
+ </td>
+ <td>
+ YES (<a href="http://www.opensource.org/licenses/index.html">OSI</a> approved license)
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ FREE
+ </td>
+ <td>
+ Linux, Windows, other UNIX
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ WaveZIP v2
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td>
+ FREE (24-bit costs $)
+ </td>
+ <td bgcolor="#D3D4C5">
+ Windows
+ </td>
+ </tr>
+ <tr>
+ <td align="right" bgcolor="#F4F4CC">
+ Pegasus-SPS
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ no
+ </td>
+ <td bgcolor="#D3D4C5">
+ $39 (free trial)
+ </td>
+ <td bgcolor="#D3D4C5">
+ Windows
+ </td>
+ </tr>
+ </table>
+ </td></tr></table>
+ <br />
+
The machine I used for encoding the test files is a PII-333 with 256 megs of RAM, running Windows NT 4.0 SP5. Unfortunately, Windows is the lowest-common-denominator platform for all the encoders. Apple Lossless was tested on a newer machine (P4-2.4GHz Windows 2000); only the overall encoding and decoding times are shown, and the times are scaled to the PII-333 by multiplying by the ratio of flac times on the PII to P4.
- </P>
- <P>
+ <br /><br />
The input corpus currently consists entirely of CD music tracks. In the future it may include more kinds of input (like speech, other sample rates/resolutions, etc). There are 14 tracks whose genres range from rock to pop to death metal to classical to chant.
- </P>
- <P>
+ <br /><br />
The first table is a summary of results on all input tracks. The remaining tables show the results of the encoders on each track. The summary table has more modes, whereas the individual tables have just the interesting ones.
- </P>
- <P>
+ <br /><br />
In the summary table, entries are sorted by average compression ratio, which is the average of the ratios for each track; this keeps long tracks from having more influence than short ones. In the individual tables, this is the same as the straight compression ratio, which is compressed size / uncompressed size.
- </P>
- <P>
+ <br /><br />
Some interesting things to note:
- <UL>
- <LI>flac -5 is right in the middle with respect to compression, relatively fast on the encoding range, and one of the fastest decoding. This is about what you would expect; FLAC is designed to put most of the processing on the encoding side, which is only done once, whereas the adaptive codecs take as long to decode as encode. FLAC is more suited in this way for playback on low-power devices and is one of the reasons it is the only lossless codec with any kind of hardware support.</LI>
- <LI>LPAC quality settings are not too stable with -r (which allows seeking during playback) turned on.</LI>
- <LI>RKAU also has a tendency to get bigger in the 'high' mode.</LI>
- <LI>Another ironic fact is that the encoders that are patented or cost money turn out to be the worst by most measures. SPS is so archane and crippled that I gave up trying to put together results for it after one track.</LI>
- </UL>
- </P>
- <P>
+ <ul>
+ <li>flac -5 is right in the middle with respect to compression, relatively fast on the encoding range, and one of the fastest decoding. This is about what you would expect; FLAC is designed to put most of the processing on the encoding side, which is only done once, whereas the adaptive codecs take as long to decode as encode. FLAC is more suited in this way for playback on low-power devices and is one of the reasons it is the only lossless codec with any kind of hardware support.</li>
+ <li>LPAC quality settings are not too stable with -r (which allows seeking during playback) turned on.</li>
+ <li>RKAU also has a tendency to get bigger in the 'high' mode.</li>
+ <li>Another ironic fact is that the encoders that are patented or cost money turn out to be the worst by most measures. SPS is so archane and crippled that I gave up trying to put together results for it after one track.</li>
+ </ul>
This is a summary table with just the most 'economic' modes (the ones that give the most compression for the least amount of encode/decode time) for each codec.
- </P>
- <P>
- <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0" BGCOLOR="#EEEED4"><TR><TD>
- <TABLE WIDTH="100%" BORDER="1" BGCOLOR="#EEEED4">
- <TR>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Codec</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Encode time</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Decode time</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Compressed<BR>size</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Overall<BR>compression<BR>ratio</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Average<BR>compression<BR>ratio</B></FONT>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>151:13.16</TD><TD>145:49.78</TD><TD>375.76 MB</TD><TD>0.4814</TD><TD>0.4986</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (high)</TD><TD>15:45.41</TD><TD>16:48.03</TD><TD>389.83 MB</TD><TD>0.4994</TD><TD>0.5153</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>16:34.96</TD><TD>17:57.28</TD><TD>394.69 MB</TD><TD>0.5056</TD><TD>0.5223</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RKAU 1.07 (fast)</TD><TD>26:35.34</TD><TD>20:13.22</TD><TD>399.25 MB</TD><TD>0.5115</TD><TD>0.5262</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>13:32.02</TD><TD>14:39.12</TD><TD>399.60 MB</TD><TD>0.5119</TD><TD>0.5278</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>10:32.11</TD><TD>11:49.46</TD><TD>400.57 MB</TD><TD>0.5132</TD><TD>0.5311</TD></TR>
- <TR><TD>LPAC 1.40 (-r, medium)</TD><TD>18:52.79</TD><TD>10:43.32</TD><TD>403.52 MB</TD><TD>0.5170</TD><TD>0.5319</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (normal)</TD><TD>6:50.12</TD><TD>8:13.41</TD><TD>409.33 MB</TD><TD>0.5244</TD><TD>0.5424</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>12:54.19</TD><TD>7:08.80</TD><TD>413.46 MB</TD><TD>0.5297</TD><TD>0.5459</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Apple Lossless</TD><TD>19:53.27</TD><TD>10:01.86</TD><TD>414.45 MB</TD><TD>0.5310</TD><TD>0.5496</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>36:56.36</TD><TD>27:09.35</TD><TD>418.65 MB</TD><TD>0.5364</TD><TD>0.5543</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-3)</TD><TD>9:51.58</TD><TD>7:00.92</TD><TD>419.29 MB</TD><TD>0.5372</TD><TD>0.5544</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>431.08 MB</TD><TD>0.5522</TD><TD>0.5714</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>9:44.48</TD><TD>6:31.74</TD><TD>433.56 MB</TD><TD>0.5555</TD><TD>0.5729</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>17:49.06</TD><TD>14:53.90</TD><TD>434.33 MB</TD><TD>0.5564</TD><TD>0.5750</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (fast)</TD><TD>5:20.17</TD><TD>5:12.38</TD><TD>441.88 MB</TD><TD>0.5661</TD><TD>0.5857</TD></TR>
- <TR><TD>WaveZIP</TD><TD>8:41.72</TD><TD>?</TD><TD>452.95 MB</TD><TD>0.5802</TD><TD>0.5986</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>77:19.89</TD><TD>77:19.89</TD><TD>780.56 MB</TD><TD>1.0000</TD><TD>1.0000</TD></TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- <P>
+ <br /><br />
+
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
+ <table width="100%" border="1" bgcolor="#EEEED4">
+ <tr>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Codec</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Encode time</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Decode time</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Compressed<br />size</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Overall<br />compression<br />ratio</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Average<br />compression<br />ratio</b></font>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>151:13.16</td><td>145:49.78</td><td>375.76 MB</td><td>0.4814</td><td>0.4986</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (high)</td><td>15:45.41</td><td>16:48.03</td><td>389.83 MB</td><td>0.4994</td><td>0.5153</td></tr>
+ <tr><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>16:34.96</td><td>17:57.28</td><td>394.69 MB</td><td>0.5056</td><td>0.5223</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RKAU 1.07 (fast)</td><td>26:35.34</td><td>20:13.22</td><td>399.25 MB</td><td>0.5115</td><td>0.5262</td></tr>
+ <tr><td>WavPack 3.97a (high)</td><td>13:32.02</td><td>14:39.12</td><td>399.60 MB</td><td>0.5119</td><td>0.5278</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>10:32.11</td><td>11:49.46</td><td>400.57 MB</td><td>0.5132</td><td>0.5311</td></tr>
+ <tr><td>LPAC 1.40 (-r, medium)</td><td>18:52.79</td><td>10:43.32</td><td>403.52 MB</td><td>0.5170</td><td>0.5319</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (normal)</td><td>6:50.12</td><td>8:13.41</td><td>409.33 MB</td><td>0.5244</td><td>0.5424</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>12:54.19</td><td>7:08.80</td><td>413.46 MB</td><td>0.5297</td><td>0.5459</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Apple Lossless</td><td>19:53.27</td><td>10:01.86</td><td>414.45 MB</td><td>0.5310</td><td>0.5496</td></tr>
+ <tr><td>Bonk 0.5</td><td>36:56.36</td><td>27:09.35</td><td>418.65 MB</td><td>0.5364</td><td>0.5543</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-3)</td><td>9:51.58</td><td>7:00.92</td><td>419.29 MB</td><td>0.5372</td><td>0.5544</td></tr>
+ <tr><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>431.08 MB</td><td>0.5522</td><td>0.5714</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p0 -b256, default)</td><td>9:44.48</td><td>6:31.74</td><td>433.56 MB</td><td>0.5555</td><td>0.5729</td></tr>
+ <tr><td>Kexis 0.2.2</td><td>17:49.06</td><td>14:53.90</td><td>434.33 MB</td><td>0.5564</td><td>0.5750</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (fast)</td><td>5:20.17</td><td>5:12.38</td><td>441.88 MB</td><td>0.5661</td><td>0.5857</td></tr>
+ <tr><td>WaveZIP</td><td>8:41.72</td><td>?</td><td>452.95 MB</td><td>0.5802</td><td>0.5986</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>77:19.89</td><td>77:19.89</td><td>780.56 MB</td><td>1.0000</td><td>1.0000</td></tr>
+ </table>
+ </td></tr></table>
+ <br />
+
Here are the summary results for all codecs and all modes:
- </P>
- <P>
- <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0" BGCOLOR="#EEEED4"><TR><TD>
- <TABLE WIDTH="100%" BORDER="1" BGCOLOR="#EEEED4">
- <TR>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Codec</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Encode time</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Decode time</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Compressed<BR>size</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Overall<BR>compression<BR>ratio</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Average<BR>compression<BR>ratio</B></FONT>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>151:13.16</TD><TD>145:49.78</TD><TD>375.76 MB</TD><TD>0.4814</TD><TD>0.4986</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>130:45.33</TD><TD>136:47.14</TD><TD>381.79 MB</TD><TD>0.4891</TD><TD>0.5065</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>28:41.96</TD><TD>30:05.38</TD><TD>384.55 MB</TD><TD>0.4927</TD><TD>0.5087</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 2x)</TD><TD>183:05.29</TD><TD>184:13.42</TD><TD>386.13 MB</TD><TD>0.4947</TD><TD>0.5105</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>338:34.96</TD><TD>339:23.24</TD><TD>386.22 MB</TD><TD>0.4948</TD><TD>0.5105</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 4x)</TD><TD>105:15.85</TD><TD>106:36.23</TD><TD>386.21 MB</TD><TD>0.4948</TD><TD>0.5107</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 3 @ 2x)</TD><TD>92:48.79</TD><TD>93:49.75</TD><TD>386.52 MB</TD><TD>0.4952</TD><TD>0.5110</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 3 @ 1x)</TD><TD>161:51.00</TD><TD>162:10.62</TD><TD>386.55 MB</TD><TD>0.4952</TD><TD>0.5110</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 3 @ 4x)</TD><TD>58:18.40</TD><TD>59:30.51</TD><TD>386.71 MB</TD><TD>0.4954</TD><TD>0.5114</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 2 @ 1x)</TD><TD>68:22.58</TD><TD>69:29.50</TD><TD>387.71 MB</TD><TD>0.4967</TD><TD>0.5128</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 2 @ 2x)</TD><TD>44:17.55</TD><TD>45:31.33</TD><TD>387.72 MB</TD><TD>0.4967</TD><TD>0.5129</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 2 @ 4x)</TD><TD>32:16.85</TD><TD>33:30.92</TD><TD>387.93 MB</TD><TD>0.4970</TD><TD>0.5133</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 1x)</TD><TD>43:00.91</TD><TD>44:13.07</TD><TD>388.71 MB</TD><TD>0.4980</TD><TD>0.5146</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 1 @ 2x)</TD><TD>30:35.00</TD><TD>31:50.50</TD><TD>388.81 MB</TD><TD>0.4981</TD><TD>0.5147</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>24:19.58</TD><TD>25:37.44</TD><TD>389.04 MB</TD><TD>0.4984</TD><TD>0.5151</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (high)</TD><TD>15:45.41</TD><TD>16:48.03</TD><TD>389.83 MB</TD><TD>0.4994</TD><TD>0.5153</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>13:27.96</TD><TD>14:31.90</TD><TD>393.17 MB</TD><TD>0.5037</TD><TD>0.5197</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 1x)</TD><TD>20:51.21</TD><TD>22:08.44</TD><TD>394.35 MB</TD><TD>0.5052</TD><TD>0.5218</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 2x)</TD><TD>17:59.86</TD><TD>19:20.53</TD><TD>394.48 MB</TD><TD>0.5054</TD><TD>0.5220</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>16:34.96</TD><TD>17:57.28</TD><TD>394.69 MB</TD><TD>0.5056</TD><TD>0.5223</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>53:46.74</TD><TD>23:31.10</TD><TD>395.71 MB</TD><TD>0.5070</TD><TD>0.5229</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RKAU 1.07 (high)</TD><TD>136:56.62</TD><TD>27:55.98</TD><TD>395.89 MB</TD><TD>0.5072</TD><TD>0.5235</TD></TR>
- <TR><TD>RKAU 1.07 (fast)</TD><TD>26:35.34</TD><TD>20:13.22</TD><TD>399.25 MB</TD><TD>0.5115</TD><TD>0.5262</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (high)</TD><TD>13:32.02</TD><TD>14:39.12</TD><TD>399.60 MB</TD><TD>0.5119</TD><TD>0.5278</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (fast)</TD><TD>10:32.11</TD><TD>11:49.46</TD><TD>400.57 MB</TD><TD>0.5132</TD><TD>0.5311</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>LPAC 1.40 (-r, medium)</TD><TD>18:52.79</TD><TD>10:43.32</TD><TD>403.52 MB</TD><TD>0.5170</TD><TD>0.5319</TD></TR>
- <TR><TD>LPAC 1.40 (-r, extra high)</TD><TD>30:30.93</TD><TD>12:20.26</TD><TD>404.08 MB</TD><TD>0.5177</TD><TD>0.5322</TR>
- <TR BGCOLOR="#D3D4C5"><TD>LPAC 1.40 (-r, high)</TD><TD>24:56.56</TD><TD>11:51.64</TD><TD>404.03 MB</TD><TD>0.5176</TD><TD>0.5323</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>6:50.12</TD><TD>8:13.41</TD><TD>409.33 MB</TD><TD>0.5244</TD><TD>0.5424</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-8)</TD><TD>55:02.38</TD><TD>7:07.59</TD><TD>411.88 MB</TD><TD>0.5277</TD><TD>0.5437</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>12:54.19</TD><TD>7:08.80</TD><TD>413.46 MB</TD><TD>0.5297</TD><TD>0.5459</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Apple Lossless</TD><TD>19:53.27</TD><TD>10:01.86</TD><TD>414.45 MB</TD><TD>0.5310</TD><TD>0.5496</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>36:56.36</TD><TD>27:09.35</TD><TD>418.65 MB</TD><TD>0.5364</TD><TD>0.5543</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-3)</TD><TD>9:51.58</TD><TD>7:00.92</TD><TD>419.29 MB</TD><TD>0.5372</TD><TD>0.5544</TD></TR>
- <TR><TD>flac 1.1.1 (-1)</TD><TD>8:37.94</TD><TD>7:15.87</TD><TD>432.32 MB</TD><TD>0.5539</TD><TD>0.5706</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>431.08 MB</TD><TD>0.5522</TD><TD>0.5714</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>9:44.48</TD><TD>6:31.74</TD><TD>433.56 MB</TD><TD>0.5555</TD><TD>0.5729</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Kexis 0.2.2</TD><TD>17:49.06</TD><TD>14:53.90</TD><TD>434.33 MB</TD><TD>0.5564</TD><TD>0.5750</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>12:00.04</TD><TD>7:25.12</TD><TD>438.86 MB</TD><TD>0.5622</TD><TD>0.5810</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (fast)</TD><TD>5:20.17</TD><TD>5:12.38</TD><TD>441.88 MB</TD><TD>0.5661</TD><TD>0.5857</TD></TR>
- <TR><TD>WaveZIP</TD><TD>8:41.72</TD><TD>?</TD><TD>452.95 MB</TD><TD>0.5802</TD><TD>0.5986</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>77:19.89</TD><TD>77:19.89</TD><TD>780.56 MB</TD><TD>1.0000</TD><TD>1.0000</TD></TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- <P>
+
+ <br /><br />
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
+ <table width="100%" border="1" bgcolor="#EEEED4">
+ <tr>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Codec</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Encode time</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Decode time</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Compressed<br />size</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Overall<br />compression<br />ratio</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Average<br />compression<br />ratio</b></font>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>151:13.16</td><td>145:49.78</td><td>375.76 MB</td><td>0.4814</td><td>0.4986</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>130:45.33</td><td>136:47.14</td><td>381.79 MB</td><td>0.4891</td><td>0.5065</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>28:41.96</td><td>30:05.38</td><td>384.55 MB</td><td>0.4927</td><td>0.5087</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 2x)</td><td>183:05.29</td><td>184:13.42</td><td>386.13 MB</td><td>0.4947</td><td>0.5105</td></tr>
+ <tr><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>338:34.96</td><td>339:23.24</td><td>386.22 MB</td><td>0.4948</td><td>0.5105</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 4x)</td><td>105:15.85</td><td>106:36.23</td><td>386.21 MB</td><td>0.4948</td><td>0.5107</td></tr>
+ <tr><td>optimFROG 4.21 (mode 3 @ 2x)</td><td>92:48.79</td><td>93:49.75</td><td>386.52 MB</td><td>0.4952</td><td>0.5110</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 3 @ 1x)</td><td>161:51.00</td><td>162:10.62</td><td>386.55 MB</td><td>0.4952</td><td>0.5110</td></tr>
+ <tr><td>optimFROG 4.21 (mode 3 @ 4x)</td><td>58:18.40</td><td>59:30.51</td><td>386.71 MB</td><td>0.4954</td><td>0.5114</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 2 @ 1x)</td><td>68:22.58</td><td>69:29.50</td><td>387.71 MB</td><td>0.4967</td><td>0.5128</td></tr>
+ <tr><td>optimFROG 4.21 (mode 2 @ 2x)</td><td>44:17.55</td><td>45:31.33</td><td>387.72 MB</td><td>0.4967</td><td>0.5129</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 2 @ 4x)</td><td>32:16.85</td><td>33:30.92</td><td>387.93 MB</td><td>0.4970</td><td>0.5133</td></tr>
+ <tr><td>optimFROG 4.21 (mode 1 @ 1x)</td><td>43:00.91</td><td>44:13.07</td><td>388.71 MB</td><td>0.4980</td><td>0.5146</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 1 @ 2x)</td><td>30:35.00</td><td>31:50.50</td><td>388.81 MB</td><td>0.4981</td><td>0.5147</td></tr>
+ <tr><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>24:19.58</td><td>25:37.44</td><td>389.04 MB</td><td>0.4984</td><td>0.5151</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (high)</td><td>15:45.41</td><td>16:48.03</td><td>389.83 MB</td><td>0.4994</td><td>0.5153</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>13:27.96</td><td>14:31.90</td><td>393.17 MB</td><td>0.5037</td><td>0.5197</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 1x)</td><td>20:51.21</td><td>22:08.44</td><td>394.35 MB</td><td>0.5052</td><td>0.5218</td></tr>
+ <tr><td>optimFROG 4.21 (mode 0 @ 2x)</td><td>17:59.86</td><td>19:20.53</td><td>394.48 MB</td><td>0.5054</td><td>0.5220</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>16:34.96</td><td>17:57.28</td><td>394.69 MB</td><td>0.5056</td><td>0.5223</td></tr>
+ <tr><td>RKAU 1.07 (normal)</td><td>53:46.74</td><td>23:31.10</td><td>395.71 MB</td><td>0.5070</td><td>0.5229</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RKAU 1.07 (high)</td><td>136:56.62</td><td>27:55.98</td><td>395.89 MB</td><td>0.5072</td><td>0.5235</td></tr>
+ <tr><td>RKAU 1.07 (fast)</td><td>26:35.34</td><td>20:13.22</td><td>399.25 MB</td><td>0.5115</td><td>0.5262</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (high)</td><td>13:32.02</td><td>14:39.12</td><td>399.60 MB</td><td>0.5119</td><td>0.5278</td></tr>
+ <tr><td>Monkey's Audio 3.99 (fast)</td><td>10:32.11</td><td>11:49.46</td><td>400.57 MB</td><td>0.5132</td><td>0.5311</td></tr>
+ <tr bgcolor="#D3D4C5"><td>LPAC 1.40 (-r, medium)</td><td>18:52.79</td><td>10:43.32</td><td>403.52 MB</td><td>0.5170</td><td>0.5319</td></tr>
+ <tr><td>LPAC 1.40 (-r, extra high)</td><td>30:30.93</td><td>12:20.26</td><td>404.08 MB</td><td>0.5177</td><td>0.5322</td></tr>
+ <tr bgcolor="#D3D4C5"><td>LPAC 1.40 (-r, high)</td><td>24:56.56</td><td>11:51.64</td><td>404.03 MB</td><td>0.5176</td><td>0.5323</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>6:50.12</td><td>8:13.41</td><td>409.33 MB</td><td>0.5244</td><td>0.5424</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-8)</td><td>55:02.38</td><td>7:07.59</td><td>411.88 MB</td><td>0.5277</td><td>0.5437</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>12:54.19</td><td>7:08.80</td><td>413.46 MB</td><td>0.5297</td><td>0.5459</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Apple Lossless</td><td>19:53.27</td><td>10:01.86</td><td>414.45 MB</td><td>0.5310</td><td>0.5496</td></tr>
+ <tr><td>Bonk 0.5</td><td>36:56.36</td><td>27:09.35</td><td>418.65 MB</td><td>0.5364</td><td>0.5543</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-3)</td><td>9:51.58</td><td>7:00.92</td><td>419.29 MB</td><td>0.5372</td><td>0.5544</td></tr>
+ <tr><td>flac 1.1.1 (-1)</td><td>8:37.94</td><td>7:15.87</td><td>432.32 MB</td><td>0.5539</td><td>0.5706</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>431.08 MB</td><td>0.5522</td><td>0.5714</td></tr>
+ <tr><td>Shorten 3.2a (-p0 -b256, default)</td><td>9:44.48</td><td>6:31.74</td><td>433.56 MB</td><td>0.5555</td><td>0.5729</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Kexis 0.2.2</td><td>17:49.06</td><td>14:53.90</td><td>434.33 MB</td><td>0.5564</td><td>0.5750</td></tr>
+ <tr><td>Shorten 3.2a (-p8 -b2048)</td><td>12:00.04</td><td>7:25.12</td><td>438.86 MB</td><td>0.5622</td><td>0.5810</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (fast)</td><td>5:20.17</td><td>5:12.38</td><td>441.88 MB</td><td>0.5661</td><td>0.5857</td></tr>
+ <tr><td>WaveZIP</td><td>8:41.72</td><td>?</td><td>452.95 MB</td><td>0.5802</td><td>0.5986</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>77:19.89</td><td>77:19.89</td><td>780.56 MB</td><td>1.0000</td><td>1.0000</td></tr>
+ </table>
+ </td></tr></table>
+ <br />
+
Here are the results for each individual track.
- </P>
- <P>
- <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0" BGCOLOR="#EEEED4"><TR><TD>
- <TABLE WIDTH="100%" BORDER="1" BGCOLOR="#EEEED4">
- <TR>
- <TD ALIGN="RIGHT">
- <FONT SIZE="+1"><B>Track</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Codec</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Encode<BR>time</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Decode<BR>time</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Compressed<BR>size</B></FONT>
- </TD>
- <TD BGCOLOR="#F4F4CC">
- <FONT SIZE="+1"><B>Compression<BR>ratio</B></FONT>
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="28" BGCOLOR="#F4F4CC">
- Dream Theater<BR><I>6:00</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>11:37.69</TD><TD>11:15.37</TD><TD>42.72 MB</TD><TD>0.7306</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>10:03.39</TD><TD>10:29.37</TD><TD>42.99 MB</TD><TD>0.7352</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>2:14.70</TD><TD>2:19.62</TD><TD>43.06 MB</TD><TD>0.7364</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (high)</TD><TD>1:15.91</TD><TD>1:19.00</TD><TD>43.21 MB</TD><TD>0.7391</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:53.28</TD><TD>2:00.45</TD><TD>43.26 MB</TD><TD>0.7398</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>25:32.41</TD><TD>25:38.15</TD><TD>43.26 MB</TD><TD>0.7398</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>1:05.10</TD><TD>1:08.51</TD><TD>43.30 MB</TD><TD>0.7405</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>1:17.95</TD><TD>1:25.67</TD><TD>43.42 MB</TD><TD>0.7426</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>1:10.34</TD><TD>1:08.61</TD><TD>43.49 MB</TD><TD>0.7438</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RKAU 1.07 (normal)</TD><TD>1:57.68</TD><TD>1:33.38</TD><TD>43.81 MB</TD><TD>0.7493</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:51.65</TD><TD>0:56.13</TD><TD>43.86 MB</TD><TD>0.7501</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>LPAC 1.40 (-r, normal)</TD><TD>1:27.61</TD><TD>0:56.18</TD><TD>44.12 MB</TD><TD>0.7545</TD></TR>
- <TR><TD>flac 1.1.1 (-8)</TD><TD>4:18.72</TD><TD>0:37.28</TD><TD>44.33 MB</TD><TD>0.7582</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (normal)</TD><TD>0:40.24</TD><TD>0:40.70</TD><TD>44.34 MB</TD><TD>0.7583</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>2:56.03</TD><TD>2:11.58</TD><TD>44.35 MB</TD><TD>0.7585</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>1:01.31</TD><TD>0:37.01</TD><TD>44.41 MB</TD><TD>0.7595</TD></TR>
- <TR><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>44.74 MB</TD><TD>0.7653</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:58.81</TD><TD>0:37.63</TD><TD>44.75 MB</TD><TD>0.7654</TD></TR>
- <TR><TD>flac 1.1.1 (-3)</TD><TD>0:49.05</TD><TD>0:36.44</TD><TD>44.78 MB</TD><TD>0.7659</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>45.17 MB</TD><TD>0.7725</TD></TR>
- <TR><TD>Pegasus-SPS</TD><TD>4:45.00</TD><TD>?</TD><TD>45.40 MB</TD><TD>0.7765</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (fast)</TD><TD>0:18.66</TD><TD>0:18.59</TD><TD>46.31 MB</TD><TD>0.7920</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>1:24.83</TD><TD>1:10.93</TD><TD>46.52 MB</TD><TD>0.7956</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-1)</TD><TD>0:44.00</TD><TD>0:36.91</TD><TD>46.65 MB</TD><TD>0.7978</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:47.75</TD><TD>0:32.56</TD><TD>46.68 MB</TD><TD>0.7984</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WaveZIP</TD><TD>0:38.99</TD><TD>?</TD><TD>47.22 MB</TD><TD>0.8077</TD></TR>
- <TR><TD>RIFF WAVE</TD><TD>5:47.56</TD><TD>5:47.56</TD><TD>58.47 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Eddie Warner<BR><I>Titus</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>5:24.56</TD><TD>5:13.29</TD><TD>14.76 MB</TD><TD>0.5298</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>LPAC 1.40 (-r, normal)</TD><TD>0:40.76</TD><TD>0:21.21</TD><TD>14.77 MB</TD><TD>0.5298</TD></TR>
- <TR><TD>flac 1.1.1 (-8)</TD><TD>1:57.87</TD><TD>0:15.05</TD><TD>15.01 MB</TD><TD>0.5385</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>0:53.39</TD><TD>0:55.52</TD><TD>15.01 MB</TD><TD>0.5385</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>12:02.54</TD><TD>12:03.76</TD><TD>15.02 MB</TD><TD>0.5390</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>0:28.17</TD><TD>0:15.05</TD><TD>15.12 MB</TD><TD>0.5424</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:36.81</TD><TD>0:39.19</TD><TD>15.13 MB</TD><TD>0.5429</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RKAU 1.07 (normal)</TD><TD>0:54.82</TD><TD>0:42.71</TD><TD>15.15 MB</TD><TD>0.5435</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>1:03.04</TD><TD>1:04.55</TD><TD>15.15 MB</TD><TD>0.5436</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>4:44.06</TD><TD>4:55.17</TD><TD>15.18 MB</TD><TD>0.5447</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (high)</TD><TD>0:34.33</TD><TD>0:36.23</TD><TD>15.26 MB</TD><TD>0.5474</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (normal)</TD><TD>0:29.62</TD><TD>0:31.38</TD><TD>15.27 MB</TD><TD>0.5479</TD></TR>
- <TR><TD>flac 1.1.1 (-3)</TD><TD>0:22.21</TD><TD>0:14.72</TD><TD>15.43 MB</TD><TD>0.5538</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:23.15</TD><TD>0:25.44</TD><TD>15.55 MB</TD><TD>0.5579</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:32.15</TD><TD>0:31.18</TD><TD>15.57 MB</TD><TD>0.5585</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:21.16</TD><TD>0:13.55</TD><TD>15.78 MB</TD><TD>0.5662</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:18.25</TD><TD>0:17.67</TD><TD>15.86 MB</TD><TD>0.5692</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:26.82</TD><TD>0:16.75</TD><TD>16.21 MB</TD><TD>0.5818</TD></TR>
- <TR><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>16.36 MB</TD><TD>0.5871</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-1)</TD><TD>0:19.75</TD><TD>0:15.76</TD><TD>16.39 MB</TD><TD>0.5880</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>1:22.01</TD><TD>1:00.12</TD><TD>16.73 MB</TD><TD>0.6003</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>17.03 MB</TD><TD>0.6112</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>0:38.72</TD><TD>0:32.25</TD><TD>17.40 MB</TD><TD>0.6242</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (fast)</TD><TD>0:08.19</TD><TD>0:08.79</TD><TD>17.49 MB</TD><TD>0.6275</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:17.55</TD><TD>?</TD><TD>17.89 MB</TD><TD>0.6420</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>2:35.67</TD><TD>2:35.67</TD><TD>27.87 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Tool<BR><I>Forty-six & 2</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>12:34.97</TD><TD>12:09.08</TD><TD>37.42 MB</TD><TD>0.5824</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>27:58.28</TD><TD>28:01.87</TD><TD>37.96 MB</TD><TD>0.5907</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (insane)</TD><TD>10:55.31</TD><TD>11:24.76</TD><TD>38.00 MB</TD><TD>0.5914</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (extra high)</TD><TD>2:24.02</TD><TD>2:33.44</TD><TD>38.03 MB</TD><TD>0.5919</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>2:03.43</TD><TD>2:09.27</TD><TD>38.15 MB</TD><TD>0.5937</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (high)</TD><TD>1:19.07</TD><TD>1:24.02</TD><TD>38.21 MB</TD><TD>0.5947</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>1:07.84</TD><TD>1:12.00</TD><TD>38.38 MB</TD><TD>0.5973</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>1:24.44</TD><TD>1:30.97</TD><TD>38.68 MB</TD><TD>0.6020</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>1:02.47</TD><TD>1:14.54</TD><TD>38.86 MB</TD><TD>0.6048</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:53.72</TD><TD>0:58.89</TD><TD>39.09 MB</TD><TD>0.6084</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>2:16.00</TD><TD>1:41.84</TD><TD>39.42 MB</TD><TD>0.6135</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (normal)</TD><TD>0:29.07</TD><TD>0:42.87</TD><TD>39.92 MB</TD><TD>0.6213</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>1:38.01</TD><TD>0:57.56</TD><TD>40.25 MB</TD><TD>0.6263</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>40.75 MB</TD><TD>0.6342</TD></TR>
- <TR><TD>flac 1.1.1 (-8)</TD><TD>4:35.08</TD><TD>0:39.40</TD><TD>40.89 MB</TD><TD>0.6363</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Bonk 0.5</TD><TD>3:07.20</TD><TD>2:21.28</TD><TD>40.98 MB</TD><TD>0.6378</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>1:05.54</TD><TD>0:39.65</TD><TD>41.04 MB</TD><TD>0.6388</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-3)</TD><TD>0:50.18</TD><TD>0:38.92</TD><TD>41.74 MB</TD><TD>0.6496</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>42.27 MB</TD><TD>0.6578</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-1)</TD><TD>0:45.83</TD><TD>0:40.89</TD><TD>42.70 MB</TD><TD>0.6646</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>1:30.09</TD><TD>1:16.29</TD><TD>42.75 MB</TD><TD>0.6652</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>1:02.42</TD><TD>0:37.84</TD><TD>43.06 MB</TD><TD>0.6701</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:51.29</TD><TD>0:34.59</TD><TD>43.18 MB</TD><TD>0.6721</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (fast)</TD><TD>0:31.26</TD><TD>0:28.79</TD><TD>43.65 MB</TD><TD>0.6794</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:42.84</TD><TD>?</TD><TD>44.52 MB</TD><TD>0.6930</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>6:21.92</TD><TD>6:21.92</TD><TD>64.25 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Cannibal Corpse<BR><I>Mummified In Barbed Wire</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>6:35.94</TD><TD>6:23.57</TD><TD>22.69 MB</TD><TD>0.6798</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>5:42.63</TD><TD>5:59.53</TD><TD>22.83 MB</TD><TD>0.6839</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>1:15.58</TD><TD>1:19.31</TD><TD>22.85 MB</TD><TD>0.6847</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>14:34.28</TD><TD>14:37.69</TD><TD>22.95 MB</TD><TD>0.6877</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (high)</TD><TD>0:41.91</TD><TD>0:45.49</TD><TD>23.18 MB</TD><TD>0.6945</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (normal)</TD><TD>0:36.03</TD><TD>0:38.34</TD><TD>23.24 MB</TD><TD>0.6963</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:03.96</TD><TD>1:08.85</TD><TD>23.31 MB</TD><TD>0.6984</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RKAU 1.07 (normal)</TD><TD>1:09.71</TD><TD>0:56.66</TD><TD>23.34 MB</TD><TD>0.6993</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>1:05.38</TD><TD>0:36.20</TD><TD>23.53 MB</TD><TD>0.7050</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (high)</TD><TD>0:32.99</TD><TD>0:40.05</TD><TD>23.57 MB</TD><TD>0.7062</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:44.14</TD><TD>0:48.71</TD><TD>23.95 MB</TD><TD>0.7176</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:28.61</TD><TD>0:31.53</TD><TD>24.14 MB</TD><TD>0.7234</TD></TR>
- <TR><TD>flac 1.1.1 (-8)</TD><TD>2:25.59</TD><TD>0:20.85</TD><TD>24.18 MB</TD><TD>0.7245</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>0:34.66</TD><TD>0:21.42</TD><TD>24.30 MB</TD><TD>0.7282</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>1:40.38</TD><TD>1:14.58</TD><TD>24.36 MB</TD><TD>0.7297</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>24.37 MB</TD><TD>0.7301</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:15.99</TD><TD>0:23.50</TD><TD>24.76 MB</TD><TD>0.7418</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:33.74</TD><TD>0:22.47</TD><TD>25.12 MB</TD><TD>0.7526</TD></TR>
- <TR><TD>flac 1.1.1 (-3)</TD><TD>0:27.40</TD><TD>0:20.11</TD><TD>25.16 MB</TD><TD>0.7539</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>25.23 MB</TD><TD>0.7558</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>0:47.13</TD><TD>0:40.67</TD><TD>26.03 MB</TD><TD>0.7799</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-1)</TD><TD>0:24.04</TD><TD>0:21.68</TD><TD>26.10 MB</TD><TD>0.7819</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:16.79</TD><TD>0:21.64</TD><TD>26.17 MB</TD><TD>0.7841</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:28.20</TD><TD>0:20.46</TD><TD>26.61 MB</TD><TD>0.7972</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:22.25</TD><TD>?</TD><TD>26.89 MB</TD><TD>0.8058</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>3:18.36</TD><TD>3:18.36</TD><TD>33.37 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Alanis Morisette<BR><I>Hand In My Pocket</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>7:35.21</TD><TD>7:20.19</TD><TD>20.77 MB</TD><TD>0.5312</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>6:36.65</TD><TD>6:53.31</TD><TD>21.22 MB</TD><TD>0.5427</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>16:51.82</TD><TD>16:54.34</TD><TD>21.24 MB</TD><TD>0.5433</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:14.29</TD><TD>1:18.06</TD><TD>21.36 MB</TD><TD>0.5464</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>1:26.93</TD><TD>1:31.74</TD><TD>21.40 MB</TD><TD>0.5475</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (high)</TD><TD>0:47.19</TD><TD>0:50.45</TD><TD>21.66 MB</TD><TD>0.5540</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>0:41.57</TD><TD>0:45.66</TD><TD>21.76 MB</TD><TD>0.5565</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:51.39</TD><TD>0:54.97</TD><TD>21.89 MB</TD><TD>0.5598</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:31.89</TD><TD>0:35.92</TD><TD>22.13 MB</TD><TD>0.5660</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (high)</TD><TD>0:45.07</TD><TD>0:43.88</TD><TD>22.28 MB</TD><TD>0.5699</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:25.40</TD><TD>0:24.80</TD><TD>22.80 MB</TD><TD>0.5832</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RKAU 1.07 (normal)</TD><TD>1:21.18</TD><TD>1:01.60</TD><TD>22.80 MB</TD><TD>0.5833</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>1:01.11</TD><TD>0:33.79</TD><TD>23.25 MB</TD><TD>0.5948</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Bonk 0.5</TD><TD>1:53.41</TD><TD>1:23.52</TD><TD>23.35 MB</TD><TD>0.5972</TD></TR>
- <TR><TD>flac 1.1.1 (-8)</TD><TD>2:46.09</TD><TD>0:23.14</TD><TD>23.45 MB</TD><TD>0.5998</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>0:39.82</TD><TD>0:21.81</TD><TD>23.56 MB</TD><TD>0.6026</TD></TR>
- <TR><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>23.64 MB</TD><TD>0.6047</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>24.11 MB</TD><TD>0.6167</TD></TR>
- <TR><TD>flac 1.1.1 (-3)</TD><TD>0:30.58</TD><TD>0:22.05</TD><TD>24.32 MB</TD><TD>0.6221</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:37.49</TD><TD>0:22.93</TD><TD>24.72 MB</TD><TD>0.6323</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>0:54.26</TD><TD>0:45.64</TD><TD>24.80 MB</TD><TD>0.6345</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-1)</TD><TD>0:26.46</TD><TD>0:22.14</TD><TD>24.82 MB</TD><TD>0.6348</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:16.67</TD><TD>0:17.02</TD><TD>24.94 MB</TD><TD>0.6381</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:29.71</TD><TD>0:18.92</TD><TD>25.34 MB</TD><TD>0.6481</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:28.05</TD><TD>?</TD><TD>25.95 MB</TD><TD>0.6638</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>3:52.36</TD><TD>3:52.36</TD><TD>39.09 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Gloria Estefan<BR><I>Conga</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>8:52.93</TD><TD>8:34.81</TD><TD>28.98 MB</TD><TD>0.6419</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>19:40.53</TD><TD>19:44.47</TD><TD>29.43 MB</TD><TD>0.6517</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (insane)</TD><TD>7:41.95</TD><TD>8:01.95</TD><TD>29.48 MB</TD><TD>0.6528</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (extra high)</TD><TD>1:42.17</TD><TD>1:46.62</TD><TD>29.49 MB</TD><TD>0.6530</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:26.64</TD><TD>1:32.23</TD><TD>29.58 MB</TD><TD>0.6550</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (high)</TD><TD>0:57.62</TD><TD>1:00.74</TD><TD>29.69 MB</TD><TD>0.6576</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:59.59</TD><TD>1:05.29</TD><TD>29.78 MB</TD><TD>0.6595</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (normal)</TD><TD>0:48.44</TD><TD>0:53.29</TD><TD>29.83 MB</TD><TD>0.6605</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:53.50</TD><TD>0:51.90</TD><TD>29.92 MB</TD><TD>0.6625</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:38.48</TD><TD>0:43.91</TD><TD>30.20 MB</TD><TD>0.6689</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:29.84</TD><TD>0:29.92</TD><TD>30.28 MB</TD><TD>0.6706</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RKAU 1.07 (normal)</TD><TD>1:37.85</TD><TD>1:12.15</TD><TD>30.34 MB</TD><TD>0.6719</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>2:13.34</TD><TD>1:39.44</TD><TD>30.64 MB</TD><TD>0.6785</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-8)</TD><TD>3:16.07</TD><TD>0:27.53</TD><TD>30.76 MB</TD><TD>0.6811</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>1:14.08</TD><TD>0:44.64</TD><TD>30.81 MB</TD><TD>0.6823</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>0:46.30</TD><TD>0:26.74</TD><TD>30.86 MB</TD><TD>0.6834</TD></TR>
- <TR><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>30.91 MB</TD><TD>0.6847</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>31.06 MB</TD><TD>0.6879</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:13.31</TD><TD>0:14.15</TD><TD>31.61 MB</TD><TD>0.7000</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-3)</TD><TD>0:35.88</TD><TD>0:27.65</TD><TD>31.63 MB</TD><TD>0.7006</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:44.76</TD><TD>0:27.48</TD><TD>31.76 MB</TD><TD>0.7034</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Kexis 0.2.2</TD><TD>1:03.91</TD><TD>0:53.54</TD><TD>31.86 MB</TD><TD>0.7056</TD></TR>
- <TR><TD>flac 1.1.1 (-1)</TD><TD>0:32.51</TD><TD>0:27.30</TD><TD>31.99 MB</TD><TD>0.7085</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:35.74</TD><TD>0:23.64</TD><TD>32.47 MB</TD><TD>0.7191</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:29.42</TD><TD>?</TD><TD>33.02 MB</TD><TD>0.7313</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>4:28.39</TD><TD>4:28.39</TD><TD>45.15 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Cream<BR><I>White Room</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>10:24.08</TD><TD>10:03.16</TD><TD>33.44 MB</TD><TD>0.6309</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>22:59.05</TD><TD>23:02.98</TD><TD>33.93 MB</TD><TD>0.6399</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (insane)</TD><TD>9:02.77</TD><TD>9:26.75</TD><TD>33.95 MB</TD><TD>0.6404</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:42.28</TD><TD>1:47.55</TD><TD>33.96 MB</TD><TD>0.6405</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>1:59.73</TD><TD>2:04.46</TD><TD>34.00 MB</TD><TD>0.6413</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (high)</TD><TD>1:05.80</TD><TD>1:09.38</TD><TD>34.11 MB</TD><TD>0.6435</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>0:56.67</TD><TD>0:59.56</TD><TD>34.25 MB</TD><TD>0.6460</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>1:10.30</TD><TD>1:15.99</TD><TD>34.29 MB</TD><TD>0.6468</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:51.50</TD><TD>1:02.71</TD><TD>34.55 MB</TD><TD>0.6516</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RKAU 1.07 (normal)</TD><TD>1:50.80</TD><TD>1:24.98</TD><TD>34.60 MB</TD><TD>0.6527</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>1:25.16</TD><TD>0:48.67</TD><TD>34.84 MB</TD><TD>0.6572</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:44.60</TD><TD>0:48.92</TD><TD>34.85 MB</TD><TD>0.6574</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>2:35.36</TD><TD>1:56.20</TD><TD>34.96 MB</TD><TD>0.6595</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-8)</TD><TD>3:48.73</TD><TD>0:31.91</TD><TD>34.99 MB</TD><TD>0.6601</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:24.43</TD><TD>0:36.09</TD><TD>35.08 MB</TD><TD>0.6617</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>0:54.89</TD><TD>0:33.82</TD><TD>35.16 MB</TD><TD>0.6633</TD></TR>
- <TR><TD>flac 1.1.1 (-3)</TD><TD>0:41.38</TD><TD>0:32.00</TD><TD>35.36 MB</TD><TD>0.6671</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:51.44</TD><TD>0:33.02</TD><TD>35.40 MB</TD><TD>0.6677</TD></TR>
- <TR><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>35.46 MB</TD><TD>0.6689</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>35.74 MB</TD><TD>0.6742</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:26.00</TD><TD>0:24.83</TD><TD>36.32 MB</TD><TD>0.6852</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:41.14</TD><TD>0:28.91</TD><TD>36.42 MB</TD><TD>0.6870</TD></TR>
- <TR><TD>flac 1.1.1 (-1)</TD><TD>0:36.87</TD><TD>0:33.39</TD><TD>36.56 MB</TD><TD>0.6897</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Kexis 0.2.2</TD><TD>1:13.87</TD><TD>1:02.90</TD><TD>36.64 MB</TD><TD>0.6911</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:35.77</TD><TD>?</TD><TD>37.13 MB</TD><TD>0.7004</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>5:15.11</TD><TD>5:15.11</TD><TD>53.01 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Maurice Ravel<BR><I>Fanfare from "L'eventail de Jeanne"</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>3:55.40</TD><TD>3:47.60</TD><TD>6.46 MB</TD><TD>0.3104</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (extra high)</TD><TD>0:42.68</TD><TD>0:43.98</TD><TD>6.75 MB</TD><TD>0.3243</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (insane)</TD><TD>3:10.93</TD><TD>3:18.53</TD><TD>6.78 MB</TD><TD>0.3256</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>8:22.42</TD><TD>8:23.32</TD><TD>6.82 MB</TD><TD>0.3274</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (high)</TD><TD>0:23.09</TD><TD>0:24.12</TD><TD>6.98 MB</TD><TD>0.3353</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>0:36.57</TD><TD>0:38.26</TD><TD>7.09 MB</TD><TD>0.3406</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>0:40.67</TD><TD>0:28.52</TD><TD>7.18 MB</TD><TD>0.3451</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:24.98</TD><TD>0:26.37</TD><TD>7.21 MB</TD><TD>0.3462</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>0:19.78</TD><TD>0:20.50</TD><TD>7.28 MB</TD><TD>0.3495</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>LPAC 1.40 (-r, normal)</TD><TD>0:29.01</TD><TD>0:15.11</TD><TD>7.33 MB</TD><TD>0.3520</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:22.63</TD><TD>0:21.86</TD><TD>7.45 MB</TD><TD>0.3577</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:15.60</TD><TD>0:16.76</TD><TD>7.50 MB</TD><TD>0.3601</TD></TR>
- <TR><TD>flac 1.1.1 (-8)</TD><TD>1:20.73</TD><TD>0:09.51</TD><TD>7.69 MB</TD><TD>0.3692</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>0:18.95</TD><TD>0:09.45</TD><TD>7.71 MB</TD><TD>0.3703</TD></TR>
- <TR><TD>flac 1.1.1 (-3)</TD><TD>0:14.98</TD><TD>0:09.19</TD><TD>7.77 MB</TD><TD>0.3734</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>7.82 MB</TD><TD>0.3757</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:12.56</TD><TD>0:11.95</TD><TD>7.83 MB</TD><TD>0.3760</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Bonk 0.5</TD><TD>0:55.92</TD><TD>0:40.23</TD><TD>7.83 MB</TD><TD>0.3762</TD></TR>
- <TR><TD>flac 1.1.1 (-1)</TD><TD>0:12.97</TD><TD>0:10.39</TD><TD>8.12 MB</TD><TD>0.3902</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>8.15 MB</TD><TD>0.3914</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:13.81</TD><TD>0:08.88</TD><TD>8.19 MB</TD><TD>0.3932</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:17.45</TD><TD>0:10.30</TD><TD>8.29 MB</TD><TD>0.3983</TD></TR>
- <TR><TD>Kexis 0.2.2</TD><TD>0:26.78</TD><TD>0:21.90</TD><TD>8.52 MB</TD><TD>0.4091</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WaveZIP</TD><TD>0:13.11</TD><TD>?</TD><TD>8.72 MB</TD><TD>0.4193</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:05.35</TD><TD>0:06.33</TD><TD>8.87 MB</TD><TD>0.4259</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>2:03.76</TD><TD>2:03.76</TD><TD>20.82 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Maurice Ravel<BR><I>String Quartet (4th movement)</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>10:45.80</TD><TD>10:21.44</TD><TD>19.94 MB</TD><TD>0.3550</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>9:17.64</TD><TD>9:43.03</TD><TD>20.17 MB</TD><TD>0.3590</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>2:01.23</TD><TD>2:06.97</TD><TD>20.29 MB</TD><TD>0.3611</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>24:26.99</TD><TD>24:29.36</TD><TD>20.62 MB</TD><TD>0.3671</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (high)</TD><TD>1:06.28</TD><TD>1:09.59</TD><TD>20.68 MB</TD><TD>0.3681</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>1:42.57</TD><TD>1:47.48</TD><TD>20.93 MB</TD><TD>0.3725</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>0:56.22</TD><TD>1:01.22</TD><TD>21.05 MB</TD><TD>0.3747</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>1:09.17</TD><TD>1:13.14</TD><TD>21.23 MB</TD><TD>0.3779</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>1:52.65</TD><TD>1:25.39</TD><TD>21.30 MB</TD><TD>0.3791</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:43.69</TD><TD>0:49.31</TD><TD>21.52 MB</TD><TD>0.3830</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:52.48</TD><TD>1:02.26</TD><TD>21.55 MB</TD><TD>0.3835</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>LPAC 1.40 (-r, normal)</TD><TD>1:20.84</TD><TD>0:42.73</TD><TD>21.96 MB</TD><TD>0.3909</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:23.29</TD><TD>0:34.28</TD><TD>22.11 MB</TD><TD>0.3935</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>22.52 MB</TD><TD>0.4008</TD></TR>
- <TR><TD>flac 1.1.1 (-8)</TD><TD>3:53.93</TD><TD>0:28.02</TD><TD>22.61 MB</TD><TD>0.4025</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>0:54.34</TD><TD>0:27.92</TD><TD>22.68 MB</TD><TD>0.4036</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>2:33.53</TD><TD>1:51.94</TD><TD>23.18 MB</TD><TD>0.4125</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-3)</TD><TD>0:40.00</TD><TD>0:28.15</TD><TD>23.21 MB</TD><TD>0.4132</TD></TR>
- <TR><TD>flac 1.1.1 (-1)</TD><TD>0:34.99</TD><TD>0:27.73</TD><TD>23.36 MB</TD><TD>0.4158</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Kexis 0.2.2</TD><TD>1:15.05</TD><TD>1:03.86</TD><TD>23.42 MB</TD><TD>0.4168</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:39.96</TD><TD>0:27.36</TD><TD>23.71 MB</TD><TD>0.4221</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>24.12 MB</TD><TD>0.4293</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:24.34</TD><TD>0:22.17</TD><TD>25.08 MB</TD><TD>0.4463</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:49.06</TD><TD>0:29.94</TD><TD>25.59 MB</TD><TD>0.4554</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:36.60</TD><TD>?</TD><TD>25.84 MB</TD><TD>0.4600</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>5:33.95</TD><TD>5:33.95</TD><TD>56.18 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Sergei Prokofiev<BR><I>Piano Concerto No.3 (3rd movement)</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>19:11.61</TD><TD>18:28.80</TD><TD>32.65 MB</TD><TD>0.3243</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>16:21.16</TD><TD>17:04.46</TD><TD>33.34 MB</TD><TD>0.3311</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>43:21.88</TD><TD>43:26.18</TD><TD>33.58 MB</TD><TD>0.3335</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (extra high)</TD><TD>3:34.86</TD><TD>3:46.82</TD><TD>33.60 MB</TD><TD>0.3337</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>3:00.57</TD><TD>3:08.19</TD><TD>33.83 MB</TD><TD>0.3360</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>2:00.85</TD><TD>2:09.52</TD><TD>34.14 MB</TD><TD>0.3390</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (high)</TD><TD>1:56.68</TD><TD>2:07.25</TD><TD>34.16 MB</TD><TD>0.3392</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (normal)</TD><TD>1:38.96</TD><TD>1:48.17</TD><TD>34.58 MB</TD><TD>0.3434</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>3:08.70</TD><TD>2:26.17</TD><TD>35.21 MB</TD><TD>0.3496</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>LPAC 1.40 (-r, normal)</TD><TD>2:06.21</TD><TD>1:11.92</TD><TD>35.27 MB</TD><TD>0.3502</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>1:32.78</TD><TD>1:50.74</TD><TD>35.35 MB</TD><TD>0.3510</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>1:17.00</TD><TD>1:27.35</TD><TD>35.53 MB</TD><TD>0.3528</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:40.68</TD><TD>1:00.29</TD><TD>36.99 MB</TD><TD>0.3673</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>37.32 MB</TD><TD>0.3706</TD></TR>
- <TR><TD>flac 1.1.1 (-8)</TD><TD>6:51.48</TD><TD>0:49.47</TD><TD>38.07 MB</TD><TD>0.3781</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>1:35.22</TD><TD>0:47.57</TD><TD>38.17 MB</TD><TD>0.3791</TD></TR>
- <TR><TD>flac 1.1.1 (-3)</TD><TD>1:10.67</TD><TD>0:46.40</TD><TD>38.51 MB</TD><TD>0.3824</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-1)</TD><TD>1:01.44</TD><TD>0:53.40</TD><TD>39.30 MB</TD><TD>0.3903</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>1:10.57</TD><TD>0:50.00</TD><TD>39.49 MB</TD><TD>0.3921</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Kexis 0.2.2</TD><TD>2:12.39</TD><TD>1:49.00</TD><TD>39.89 MB</TD><TD>0.3962</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>4:33.71</TD><TD>3:19.38</TD><TD>40.31 MB</TD><TD>0.4003</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>41.86 MB</TD><TD>0.4157</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:43.24</TD><TD>0:40.17</TD><TD>43.03 MB</TD><TD>0.4273</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WaveZIP</TD><TD>1:05.60</TD><TD>?</TD><TD>43.67 MB</TD><TD>0.4337</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>1:26.84</TD><TD>0:53.19</TD><TD>45.34 MB</TD><TD>0.4502</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>9:58.47</TD><TD>9:58.47</TD><TD>100.68 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Frederic Chopin<BR><I>Prelude No.24 in d minor</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>5:14.83</TD><TD>5:03.08</TD><TD>9.84 MB</TD><TD>0.3582</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>4:33.42</TD><TD>4:45.16</TD><TD>9.96 MB</TD><TD>0.3625</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>0:59.94</TD><TD>1:01.87</TD><TD>10.16 MB</TD><TD>0.3699</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>11:56.24</TD><TD>11:58.77</TD><TD>10.34 MB</TD><TD>0.3764</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (high)</TD><TD>0:32.29</TD><TD>0:34.49</TD><TD>10.40 MB</TD><TD>0.3788</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>0:50.07</TD><TD>0:53.49</TD><TD>10.41 MB</TD><TD>0.3790</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>0:27.35</TD><TD>0:29.51</TD><TD>10.52 MB</TD><TD>0.3832</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:34.06</TD><TD>0:38.70</TD><TD>10.53 MB</TD><TD>0.3833</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>0:34.91</TD><TD>0:20.01</TD><TD>10.74 MB</TD><TD>0.3911</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (high)</TD><TD>0:31.43</TD><TD>0:28.95</TD><TD>10.76 MB</TD><TD>0.3919</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>0:54.46</TD><TD>0:41.54</TD><TD>10.88 MB</TD><TD>0.3963</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:21.10</TD><TD>0:23.90</TD><TD>10.94 MB</TD><TD>0.3982</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:16.90</TD><TD>0:15.17</TD><TD>11.34 MB</TD><TD>0.4128</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>11.51 MB</TD><TD>0.4191</TD></TR>
- <TR><TD>flac 1.1.1 (-8)</TD><TD>1:53.31</TD><TD>0:13.06</TD><TD>11.69 MB</TD><TD>0.4256</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>0:26.05</TD><TD>0:13.50</TD><TD>11.71 MB</TD><TD>0.4265</TD></TR>
- <TR><TD>flac 1.1.1 (-3)</TD><TD>0:19.82</TD><TD>0:13.25</TD><TD>11.74 MB</TD><TD>0.4274</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-1)</TD><TD>0:17.61</TD><TD>0:13.80</TD><TD>11.86 MB</TD><TD>0.4319</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:19.20</TD><TD>0:11.89</TD><TD>12.05 MB</TD><TD>0.4386</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Kexis 0.2.2</TD><TD>0:36.70</TD><TD>0:30.26</TD><TD>12.14 MB</TD><TD>0.4419</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>1:15.45</TD><TD>0:55.07</TD><TD>12.86 MB</TD><TD>0.4684</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WaveZIP</TD><TD>0:18.75</TD><TD>?</TD><TD>13.08 MB</TD><TD>0.4765</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>13.31 MB</TD><TD>0.4845</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (fast)</TD><TD>0:06.74</TD><TD>0:08.51</TD><TD>13.67 MB</TD><TD>0.4978</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:24.43</TD><TD>0:14.32</TD><TD>14.40 MB</TD><TD>0.5242</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>2:43.23</TD><TD>2:43.23</TD><TD>27.46 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- Domenico Scarlatti<BR><I>Sonata K.42 (arr.Yepes for guitar)</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>3:09.33</TD><TD>3:01.82</TD><TD>6.62 MB</TD><TD>0.4036</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>2:46.09</TD><TD>2:52.52</TD><TD>6.67 MB</TD><TD>0.4068</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>0:36.21</TD><TD>0:38.16</TD><TD>6.74 MB</TD><TD>0.4109</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>7:08.77</TD><TD>7:09.52</TD><TD>6.87 MB</TD><TD>0.4190</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (high)</TD><TD>0:19.60</TD><TD>0:20.23</TD><TD>6.91 MB</TD><TD>0.4213</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>0:30.47</TD><TD>0:31.95</TD><TD>6.98 MB</TD><TD>0.4255</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>0:16.73</TD><TD>0:17.60</TD><TD>6.99 MB</TD><TD>0.4261</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RKAU 1.07 (normal)</TD><TD>0:37.09</TD><TD>0:26.56</TD><TD>7.05 MB</TD><TD>0.4297</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:20.68</TD><TD>0:22.06</TD><TD>7.07 MB</TD><TD>0.4310</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (high)</TD><TD>0:15.50</TD><TD>0:18.31</TD><TD>7.12 MB</TD><TD>0.4340</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:12.96</TD><TD>0:14.28</TD><TD>7.16 MB</TD><TD>0.4369</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>LPAC 1.40 (-r, normal)</TD><TD>0:29.99</TD><TD>0:14.33</TD><TD>7.21 MB</TD><TD>0.4397</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>0:07.01</TD><TD>0:10.27</TD><TD>7.31 MB</TD><TD>0.4460</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-8)</TD><TD>1:08.58</TD><TD>0:07.99</TD><TD>7.37 MB</TD><TD>0.4498</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>0:15.90</TD><TD>0:08.71</TD><TD>7.40 MB</TD><TD>0.4513</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-3)</TD><TD>0:11.84</TD><TD>0:08.26</TD><TD>7.43 MB</TD><TD>0.4530</TD></TR>
- <TR><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>7.44 MB</TD><TD>0.4541</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Bonk 0.5</TD><TD>0:45.59</TD><TD>0:32.63</TD><TD>7.46 MB</TD><TD>0.4548</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:11.67</TD><TD>0:07.17</TD><TD>7.48 MB</TD><TD>0.4564</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Kexis 0.2.2</TD><TD>0:22.06</TD><TD>0:18.62</TD><TD>7.50 MB</TD><TD>0.4572</TD></TR>
- <TR><TD>flac 1.1.1 (-1)</TD><TD>0:10.17</TD><TD>0:07.85</TD><TD>7.53 MB</TD><TD>0.4591</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (fast)</TD><TD>0:04.11</TD><TD>0:06.57</TD><TD>7.58 MB</TD><TD>0.4624</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>7.74 MB</TD><TD>0.4723</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WaveZIP</TD><TD>0:10.56</TD><TD>?</TD><TD>7.83 MB</TD><TD>0.4781</TD></TR>
- <TR><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:14.29</TD><TD>0:09.07</TD><TD>8.20 MB</TD><TD>0.5004</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>1:37.43</TD><TD>1:37.43</TD><TD>16.39 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- The Benedictine Monks of<BR>Santo Domingo de Silos<BR><I>Laetatus sum</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>4:40.71</TD><TD>4:32.29</TD><TD>11.94 MB</TD><TD>0.4922</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>4:08.23</TD><TD>4:18.43</TD><TD>12.05 MB</TD><TD>0.4968</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>0:54.17</TD><TD>0:56.87</TD><TD>12.09 MB</TD><TD>0.4981</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>10:34.75</TD><TD>10:36.83</TD><TD>12.17 MB</TD><TD>0.5015</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (high)</TD><TD>0:29.82</TD><TD>0:31.71</TD><TD>12.23 MB</TD><TD>0.5042</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RKAU 1.07 (normal)</TD><TD>0:57.64</TD><TD>0:41.39</TD><TD>12.25 MB</TD><TD>0.5049</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>0:25.63</TD><TD>0:27.41</TD><TD>12.42 MB</TD><TD>0.5118</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>0:45.20</TD><TD>0:48.45</TD><TD>12.43 MB</TD><TD>0.5121</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>0:45.66</TD><TD>0:23.29</TD><TD>12.62 MB</TD><TD>0.5200</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>0:31.03</TD><TD>0:33.69</TD><TD>12.63 MB</TD><TD>0.5207</TD></TR>
- <TR><TD>WavPack 3.97a (high)</TD><TD>0:28.01</TD><TD>0:27.43</TD><TD>12.65 MB</TD><TD>0.5213</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Bonk 0.5</TD><TD>1:08.18</TD><TD>0:49.70</TD><TD>12.71 MB</TD><TD>0.5237</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (fast)</TD><TD>0:19.79</TD><TD>0:21.78</TD><TD>12.76 MB</TD><TD>0.5260</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-8)</TD><TD>1:43.74</TD><TD>0:13.23</TD><TD>12.82 MB</TD><TD>0.5286</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>0:24.12</TD><TD>0:13.08</TD><TD>12.92 MB</TD><TD>0.5325</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (normal)</TD><TD>0:15.61</TD><TD>0:15.35</TD><TD>12.98 MB</TD><TD>0.5348</TD></TR>
- <TR><TD>flac 1.1.1 (-3)</TD><TD>0:18.80</TD><TD>0:13.85</TD><TD>12.98 MB</TD><TD>0.5349</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>13.04 MB</TD><TD>0.5377</TD></TR>
- <TR><TD>WavPack 3.97a (fast)</TD><TD>0:11.07</TD><TD>0:10.38</TD><TD>13.30 MB</TD><TD>0.5481</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Kexis 0.2.2</TD><TD>0:33.43</TD><TD>0:28.11</TD><TD>13.30 MB</TD><TD>0.5481</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>0:17.80</TD><TD>0:11.46</TD><TD>13.32 MB</TD><TD>0.5489</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-1)</TD><TD>0:15.60</TD><TD>0:12.82</TD><TD>13.34 MB</TD><TD>0.5500</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>13.41 MB</TD><TD>0.5528</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>0:22.30</TD><TD>0:13.87</TD><TD>13.42 MB</TD><TD>0.5531</TD></TR>
- <TR><TD>WaveZIP</TD><TD>0:16.37</TD><TD>?</TD><TD>13.72 MB</TD><TD>0.5655</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>2:24.21</TD><TD>2:24.21</TD><TD>24.26 MB</TD><TD>1.0000</TD></TR>
- <TR>
- <TD COLSPAN="6" BGCOLOR="#F4F4CC">&nbsp;</TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" ROWSPAN="27" BGCOLOR="#F4F4CC">
- L. Subramaniam<BR><I>Raga Sivapriya</I>
- </TD>
- </TR>
- <!-- BGCOLOR="#D3D4C5" -->
- <TR><TD>La 0.3c</TD><TD>41:10.10</TD><TD>39:35.28</TD><TD>87.51 MB</TD><TD>0.4097</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (insane)</TD><TD>35:41.10</TD><TD>37:34.17</TD><TD>89.18 MB</TD><TD>0.4175</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (extra high)</TD><TD>7:46.70</TD><TD>8:10.97</TD><TD>90.95 MB</TD><TD>0.4258</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 4 @ 1x)</TD><TD>93:05.00</TD><TD>93:16.00</TD><TD>92.05 MB</TD><TD>0.4310</TD></TR>
- <TR><TD>optimFROG 4.21 (mode 1 @ 4x)</TD><TD>6:36.86</TD><TD>6:57.69</TD><TD>92.76 MB</TD><TD>0.4343</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (high)</TD><TD>4:15.82</TD><TD>4:35.33</TD><TD>93.15 MB</TD><TD>0.4361</TD></TR>
- <TR><TD>Monkey's Audio 3.99 (normal)</TD><TD>3:38.02</TD><TD>3:58.75</TD><TD>94.32 MB</TD><TD>0.4416</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>optimFROG 4.21 (mode 0 @ 4x)</TD><TD>4:29.57</TD><TD>4:53.01</TD><TD>94.74 MB</TD><TD>0.4436</TD></TR>
- <TR><TD>RKAU 1.07 (normal)</TD><TD>7:16.09</TD><TD>5:30.33</TD><TD>95.91 MB</TD><TD>0.4490</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (high)</TD><TD>3:41.17</TD><TD>3:56.70</TD><TD>96.51 MB</TD><TD>0.4518</TD></TR>
- <TR><TD>LPAC 1.40 (-r, normal)</TD><TD>4:34.06</TD><TD>2:37.68</TD><TD>96.84 MB</TD><TD>0.4534</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Monkey's Audio 3.99 (fast)</TD><TD>2:49.87</TD><TD>3:15.34</TD><TD>95.34 MB</TD><TD>0.4464</TD></TR>
- <TR><TD>WavPack 3.97a (normal)</TD><TD>1:50.85</TD><TD>2:10.55</TD><TD>97.75 MB</TD><TD>0.4577</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-8)</TD><TD>15:02.46</TD><TD>1:51.15</TD><TD>98.02 MB</TD><TD>0.4589</TD></TR>
- <TR BGCOLOR="#FFFFFF"><TD>flac 1.1.1 (-5, default)</TD><TD>3:28.92</TD><TD>1:53.07</TD><TD>98.42 MB</TD><TD>0.4608</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Apple Lossless</TD><TD>?</TD><TD>?</TD><TD>98.57 MB</TD><TD>0.4615</TD></TR>
- <TR><TD>Bonk 0.5</TD><TD>9:56.25</TD><TD>7:13.68</TD><TD>98.94 MB</TD><TD>0.4633</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>flac 1.1.1 (-3)</TD><TD>2:38.79</TD><TD>1:49.93</TD><TD>99.22 MB</TD><TD>0.4645</TD></TR>
- <TR><TD>Ogg Squish 0.98</TD><TD>?</TD><TD>?</TD><TD>101.88 MB</TD><TD>0.4770</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Shorten 3.2a (-p8 -b2048)</TD><TD>3:10.19</TD><TD>1:56.31</TD><TD>102.60 MB</TD><TD>0.4804</TD></TR>
- <TR><TD>Shorten 3.2a (-p0 -b256, default)</TD><TD>2:36.48</TD><TD>1:42.35</TD><TD>102.84 MB</TD><TD>0.4815</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>Kexis 0.2.2</TD><TD>4:49.84</TD><TD>3:59.93</TD><TD>103.57 MB</TD><TD>0.4849</TD></TR>
- <TR><TD>flac 1.1.1 (-1)</TD><TD>2:15.70</TD><TD>1:51.81</TD><TD>103.60 MB</TD><TD>0.4851</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>WavPack 3.97a (fast)</TD><TD>1:34.44</TD><TD>1:24.44</TD><TD>103.86 MB</TD><TD>0.4863</TD></TR>
- <TR><TD>WaveZIP</TD><TD>2:25.86</TD><TD>?</TD><TD>107.47 MB</TD><TD>0.5032</TD></TR>
- <TR BGCOLOR="#D3D4C5"><TD>RIFF WAVE</TD><TD>21:09.47</TD><TD>21:09.47</TD><TD>213.56 MB</TD><TD>1.0000</TD></TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
+ <br /><br />
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
+ <table width="100%" border="1" bgcolor="#EEEED4">
+ <tr>
+ <td align="right">
+ <font size="+1"><b>Track</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Codec</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Encode<br />time</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Decode<br />time</b></font>
+ </td>
+ <td bgcolor="#F4F4CC">
+ <font size="+1"><b>Compressed<br />size</b></font>
+ </td>
+ <td bgcolor="#f4F4CC">
+ <font size="+1"><b>Compression<br />ratio</b></font>
+ </td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="28" bgcolor="#F4F4CC">
+ Dream Theater<br /><i>6:00</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>11:37.69</td><td>11:15.37</td><td>42.72 MB</td><td>0.7306</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>10:03.39</td><td>10:29.37</td><td>42.99 MB</td><td>0.7352</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>2:14.70</td><td>2:19.62</td><td>43.06 MB</td><td>0.7364</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (high)</td><td>1:15.91</td><td>1:19.00</td><td>43.21 MB</td><td>0.7391</td></tr>
+ <tr><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>1:53.28</td><td>2:00.45</td><td>43.26 MB</td><td>0.7398</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>25:32.41</td><td>25:38.15</td><td>43.26 MB</td><td>0.7398</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>1:05.10</td><td>1:08.51</td><td>43.30 MB</td><td>0.7405</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>1:17.95</td><td>1:25.67</td><td>43.42 MB</td><td>0.7426</td></tr>
+ <tr><td>WavPack 3.97a (high)</td><td>1:10.34</td><td>1:08.61</td><td>43.49 MB</td><td>0.7438</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RKAU 1.07 (normal)</td><td>1:57.68</td><td>1:33.38</td><td>43.81 MB</td><td>0.7493</td></tr>
+ <tr><td>Monkey's Audio 3.99 (fast)</td><td>0:51.65</td><td>0:56.13</td><td>43.86 MB</td><td>0.7501</td></tr>
+ <tr bgcolor="#D3D4C5"><td>LPAC 1.40 (-r, normal)</td><td>1:27.61</td><td>0:56.18</td><td>44.12 MB</td><td>0.7545</td></tr>
+ <tr><td>flac 1.1.1 (-8)</td><td>4:18.72</td><td>0:37.28</td><td>44.33 MB</td><td>0.7582</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (normal)</td><td>0:40.24</td><td>0:40.70</td><td>44.34 MB</td><td>0.7583</td></tr>
+ <tr><td>Bonk 0.5</td><td>2:56.03</td><td>2:11.58</td><td>44.35 MB</td><td>0.7585</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>1:01.31</td><td>0:37.01</td><td>44.41 MB</td><td>0.7595</td></tr>
+ <tr><td>Apple Lossless</td><td>?</td><td>?</td><td>44.74 MB</td><td>0.7653</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p8 -b2048)</td><td>0:58.81</td><td>0:37.63</td><td>44.75 MB</td><td>0.7654</td></tr>
+ <tr><td>flac 1.1.1 (-3)</td><td>0:49.05</td><td>0:36.44</td><td>44.78 MB</td><td>0.7659</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>45.17 MB</td><td>0.7725</td></tr>
+ <tr><td>Pegasus-SPS</td><td>4:45.00</td><td>?</td><td>45.40 MB</td><td>0.7765</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (fast)</td><td>0:18.66</td><td>0:18.59</td><td>46.31 MB</td><td>0.7920</td></tr>
+ <tr><td>Kexis 0.2.2</td><td>1:24.83</td><td>1:10.93</td><td>46.52 MB</td><td>0.7956</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-1)</td><td>0:44.00</td><td>0:36.91</td><td>46.65 MB</td><td>0.7978</td></tr>
+ <tr><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:47.75</td><td>0:32.56</td><td>46.68 MB</td><td>0.7984</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WaveZIP</td><td>0:38.99</td><td>?</td><td>47.22 MB</td><td>0.8077</td></tr>
+ <tr><td>RIFF WAVE</td><td>5:47.56</td><td>5:47.56</td><td>58.47 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Eddie Warner<br /><i>Titus</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>5:24.56</td><td>5:13.29</td><td>14.76 MB</td><td>0.5298</td></tr>
+ <tr bgcolor="#D3D4C5"><td>LPAC 1.40 (-r, normal)</td><td>0:40.76</td><td>0:21.21</td><td>14.77 MB</td><td>0.5298</td></tr>
+ <tr><td>flac 1.1.1 (-8)</td><td>1:57.87</td><td>0:15.05</td><td>15.01 MB</td><td>0.5385</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>0:53.39</td><td>0:55.52</td><td>15.01 MB</td><td>0.5385</td></tr>
+ <tr><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>12:02.54</td><td>12:03.76</td><td>15.02 MB</td><td>0.5390</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>0:28.17</td><td>0:15.05</td><td>15.12 MB</td><td>0.5424</td></tr>
+ <tr><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>0:36.81</td><td>0:39.19</td><td>15.13 MB</td><td>0.5429</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RKAU 1.07 (normal)</td><td>0:54.82</td><td>0:42.71</td><td>15.15 MB</td><td>0.5435</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>1:03.04</td><td>1:04.55</td><td>15.15 MB</td><td>0.5436</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>4:44.06</td><td>4:55.17</td><td>15.18 MB</td><td>0.5447</td></tr>
+ <tr><td>Monkey's Audio 3.99 (high)</td><td>0:34.33</td><td>0:36.23</td><td>15.26 MB</td><td>0.5474</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (normal)</td><td>0:29.62</td><td>0:31.38</td><td>15.27 MB</td><td>0.5479</td></tr>
+ <tr><td>flac 1.1.1 (-3)</td><td>0:22.21</td><td>0:14.72</td><td>15.43 MB</td><td>0.5538</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>0:23.15</td><td>0:25.44</td><td>15.55 MB</td><td>0.5579</td></tr>
+ <tr><td>WavPack 3.97a (high)</td><td>0:32.15</td><td>0:31.18</td><td>15.57 MB</td><td>0.5585</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:21.16</td><td>0:13.55</td><td>15.78 MB</td><td>0.5662</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>0:18.25</td><td>0:17.67</td><td>15.86 MB</td><td>0.5692</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p8 -b2048)</td><td>0:26.82</td><td>0:16.75</td><td>16.21 MB</td><td>0.5818</td></tr>
+ <tr><td>Apple Lossless</td><td>?</td><td>?</td><td>16.36 MB</td><td>0.5871</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-1)</td><td>0:19.75</td><td>0:15.76</td><td>16.39 MB</td><td>0.5880</td></tr>
+ <tr><td>Bonk 0.5</td><td>1:22.01</td><td>1:00.12</td><td>16.73 MB</td><td>0.6003</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>17.03 MB</td><td>0.6112</td></tr>
+ <tr><td>Kexis 0.2.2</td><td>0:38.72</td><td>0:32.25</td><td>17.40 MB</td><td>0.6242</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (fast)</td><td>0:08.19</td><td>0:08.79</td><td>17.49 MB</td><td>0.6275</td></tr>
+ <tr><td>WaveZIP</td><td>0:17.55</td><td>?</td><td>17.89 MB</td><td>0.6420</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>2:35.67</td><td>2:35.67</td><td>27.87 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Tool<br /><i>Forty-six &amp; 2</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>12:34.97</td><td>12:09.08</td><td>37.42 MB</td><td>0.5824</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>27:58.28</td><td>28:01.87</td><td>37.96 MB</td><td>0.5907</td></tr>
+ <tr><td>Monkey's Audio 3.99 (insane)</td><td>10:55.31</td><td>11:24.76</td><td>38.00 MB</td><td>0.5914</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (extra high)</td><td>2:24.02</td><td>2:33.44</td><td>38.03 MB</td><td>0.5919</td></tr>
+ <tr><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>2:03.43</td><td>2:09.27</td><td>38.15 MB</td><td>0.5937</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (high)</td><td>1:19.07</td><td>1:24.02</td><td>38.21 MB</td><td>0.5947</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>1:07.84</td><td>1:12.00</td><td>38.38 MB</td><td>0.5973</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>1:24.44</td><td>1:30.97</td><td>38.68 MB</td><td>0.6020</td></tr>
+ <tr><td>WavPack 3.97a (high)</td><td>1:02.47</td><td>1:14.54</td><td>38.86 MB</td><td>0.6048</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>0:53.72</td><td>0:58.89</td><td>39.09 MB</td><td>0.6084</td></tr>
+ <tr><td>RKAU 1.07 (normal)</td><td>2:16.00</td><td>1:41.84</td><td>39.42 MB</td><td>0.6135</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (normal)</td><td>0:29.07</td><td>0:42.87</td><td>39.92 MB</td><td>0.6213</td></tr>
+ <tr><td>LPAC 1.40 (-r, normal)</td><td>1:38.01</td><td>0:57.56</td><td>40.25 MB</td><td>0.6263</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Apple Lossless</td><td>?</td><td>?</td><td>40.75 MB</td><td>0.6342</td></tr>
+ <tr><td>flac 1.1.1 (-8)</td><td>4:35.08</td><td>0:39.40</td><td>40.89 MB</td><td>0.6363</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Bonk 0.5</td><td>3:07.20</td><td>2:21.28</td><td>40.98 MB</td><td>0.6378</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>1:05.54</td><td>0:39.65</td><td>41.04 MB</td><td>0.6388</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-3)</td><td>0:50.18</td><td>0:38.92</td><td>41.74 MB</td><td>0.6496</td></tr>
+ <tr><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>42.27 MB</td><td>0.6578</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-1)</td><td>0:45.83</td><td>0:40.89</td><td>42.70 MB</td><td>0.6646</td></tr>
+ <tr><td>Kexis 0.2.2</td><td>1:30.09</td><td>1:16.29</td><td>42.75 MB</td><td>0.6652</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p8 -b2048)</td><td>1:02.42</td><td>0:37.84</td><td>43.06 MB</td><td>0.6701</td></tr>
+ <tr><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:51.29</td><td>0:34.59</td><td>43.18 MB</td><td>0.6721</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (fast)</td><td>0:31.26</td><td>0:28.79</td><td>43.65 MB</td><td>0.6794</td></tr>
+ <tr><td>WaveZIP</td><td>0:42.84</td><td>?</td><td>44.52 MB</td><td>0.6930</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>6:21.92</td><td>6:21.92</td><td>64.25 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Cannibal Corpse<br /><i>Mummified In Barbed Wire</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>6:35.94</td><td>6:23.57</td><td>22.69 MB</td><td>0.6798</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>5:42.63</td><td>5:59.53</td><td>22.83 MB</td><td>0.6839</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>1:15.58</td><td>1:19.31</td><td>22.85 MB</td><td>0.6847</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>14:34.28</td><td>14:37.69</td><td>22.95 MB</td><td>0.6877</td></tr>
+ <tr><td>Monkey's Audio 3.99 (high)</td><td>0:41.91</td><td>0:45.49</td><td>23.18 MB</td><td>0.6945</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (normal)</td><td>0:36.03</td><td>0:38.34</td><td>23.24 MB</td><td>0.6963</td></tr>
+ <tr><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>1:03.96</td><td>1:08.85</td><td>23.31 MB</td><td>0.6984</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RKAU 1.07 (normal)</td><td>1:09.71</td><td>0:56.66</td><td>23.34 MB</td><td>0.6993</td></tr>
+ <tr><td>LPAC 1.40 (-r, normal)</td><td>1:05.38</td><td>0:36.20</td><td>23.53 MB</td><td>0.7050</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (high)</td><td>0:32.99</td><td>0:40.05</td><td>23.57 MB</td><td>0.7062</td></tr>
+ <tr><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>0:44.14</td><td>0:48.71</td><td>23.95 MB</td><td>0.7176</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>0:28.61</td><td>0:31.53</td><td>24.14 MB</td><td>0.7234</td></tr>
+ <tr><td>flac 1.1.1 (-8)</td><td>2:25.59</td><td>0:20.85</td><td>24.18 MB</td><td>0.7245</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>0:34.66</td><td>0:21.42</td><td>24.30 MB</td><td>0.7282</td></tr>
+ <tr><td>Bonk 0.5</td><td>1:40.38</td><td>1:14.58</td><td>24.36 MB</td><td>0.7297</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Apple Lossless</td><td>?</td><td>?</td><td>24.37 MB</td><td>0.7301</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>0:15.99</td><td>0:23.50</td><td>24.76 MB</td><td>0.7418</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p8 -b2048)</td><td>0:33.74</td><td>0:22.47</td><td>25.12 MB</td><td>0.7526</td></tr>
+ <tr><td>flac 1.1.1 (-3)</td><td>0:27.40</td><td>0:20.11</td><td>25.16 MB</td><td>0.7539</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>25.23 MB</td><td>0.7558</td></tr>
+ <tr><td>Kexis 0.2.2</td><td>0:47.13</td><td>0:40.67</td><td>26.03 MB</td><td>0.7799</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-1)</td><td>0:24.04</td><td>0:21.68</td><td>26.10 MB</td><td>0.7819</td></tr>
+ <tr><td>WavPack 3.97a (fast)</td><td>0:16.79</td><td>0:21.64</td><td>26.17 MB</td><td>0.7841</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:28.20</td><td>0:20.46</td><td>26.61 MB</td><td>0.7972</td></tr>
+ <tr><td>WaveZIP</td><td>0:22.25</td><td>?</td><td>26.89 MB</td><td>0.8058</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>3:18.36</td><td>3:18.36</td><td>33.37 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Alanis Morisette<br /><i>Hand In My Pocket</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>7:35.21</td><td>7:20.19</td><td>20.77 MB</td><td>0.5312</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>6:36.65</td><td>6:53.31</td><td>21.22 MB</td><td>0.5427</td></tr>
+ <tr><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>16:51.82</td><td>16:54.34</td><td>21.24 MB</td><td>0.5433</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>1:14.29</td><td>1:18.06</td><td>21.36 MB</td><td>0.5464</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>1:26.93</td><td>1:31.74</td><td>21.40 MB</td><td>0.5475</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (high)</td><td>0:47.19</td><td>0:50.45</td><td>21.66 MB</td><td>0.5540</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>0:41.57</td><td>0:45.66</td><td>21.76 MB</td><td>0.5565</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>0:51.39</td><td>0:54.97</td><td>21.89 MB</td><td>0.5598</td></tr>
+ <tr><td>Monkey's Audio 3.99 (fast)</td><td>0:31.89</td><td>0:35.92</td><td>22.13 MB</td><td>0.5660</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (high)</td><td>0:45.07</td><td>0:43.88</td><td>22.28 MB</td><td>0.5699</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>0:25.40</td><td>0:24.80</td><td>22.80 MB</td><td>0.5832</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RKAU 1.07 (normal)</td><td>1:21.18</td><td>1:01.60</td><td>22.80 MB</td><td>0.5833</td></tr>
+ <tr><td>LPAC 1.40 (-r, normal)</td><td>1:01.11</td><td>0:33.79</td><td>23.25 MB</td><td>0.5948</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Bonk 0.5</td><td>1:53.41</td><td>1:23.52</td><td>23.35 MB</td><td>0.5972</td></tr>
+ <tr><td>flac 1.1.1 (-8)</td><td>2:46.09</td><td>0:23.14</td><td>23.45 MB</td><td>0.5998</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>0:39.82</td><td>0:21.81</td><td>23.56 MB</td><td>0.6026</td></tr>
+ <tr><td>Apple Lossless</td><td>?</td><td>?</td><td>23.64 MB</td><td>0.6047</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>24.11 MB</td><td>0.6167</td></tr>
+ <tr><td>flac 1.1.1 (-3)</td><td>0:30.58</td><td>0:22.05</td><td>24.32 MB</td><td>0.6221</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p8 -b2048)</td><td>0:37.49</td><td>0:22.93</td><td>24.72 MB</td><td>0.6323</td></tr>
+ <tr><td>Kexis 0.2.2</td><td>0:54.26</td><td>0:45.64</td><td>24.80 MB</td><td>0.6345</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-1)</td><td>0:26.46</td><td>0:22.14</td><td>24.82 MB</td><td>0.6348</td></tr>
+ <tr><td>WavPack 3.97a (fast)</td><td>0:16.67</td><td>0:17.02</td><td>24.94 MB</td><td>0.6381</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:29.71</td><td>0:18.92</td><td>25.34 MB</td><td>0.6481</td></tr>
+ <tr><td>WaveZIP</td><td>0:28.05</td><td>?</td><td>25.95 MB</td><td>0.6638</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>3:52.36</td><td>3:52.36</td><td>39.09 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Gloria Estefan<br /><i>Conga</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>8:52.93</td><td>8:34.81</td><td>28.98 MB</td><td>0.6419</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>19:40.53</td><td>19:44.47</td><td>29.43 MB</td><td>0.6517</td></tr>
+ <tr><td>Monkey's Audio 3.99 (insane)</td><td>7:41.95</td><td>8:01.95</td><td>29.48 MB</td><td>0.6528</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (extra high)</td><td>1:42.17</td><td>1:46.62</td><td>29.49 MB</td><td>0.6530</td></tr>
+ <tr><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>1:26.64</td><td>1:32.23</td><td>29.58 MB</td><td>0.6550</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (high)</td><td>0:57.62</td><td>1:00.74</td><td>29.69 MB</td><td>0.6576</td></tr>
+ <tr><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>0:59.59</td><td>1:05.29</td><td>29.78 MB</td><td>0.6595</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (normal)</td><td>0:48.44</td><td>0:53.29</td><td>29.83 MB</td><td>0.6605</td></tr>
+ <tr><td>WavPack 3.97a (high)</td><td>0:53.50</td><td>0:51.90</td><td>29.92 MB</td><td>0.6625</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>0:38.48</td><td>0:43.91</td><td>30.20 MB</td><td>0.6689</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>0:29.84</td><td>0:29.92</td><td>30.28 MB</td><td>0.6706</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RKAU 1.07 (normal)</td><td>1:37.85</td><td>1:12.15</td><td>30.34 MB</td><td>0.6719</td></tr>
+ <tr><td>Bonk 0.5</td><td>2:13.34</td><td>1:39.44</td><td>30.64 MB</td><td>0.6785</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-8)</td><td>3:16.07</td><td>0:27.53</td><td>30.76 MB</td><td>0.6811</td></tr>
+ <tr><td>LPAC 1.40 (-r, normal)</td><td>1:14.08</td><td>0:44.64</td><td>30.81 MB</td><td>0.6823</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>0:46.30</td><td>0:26.74</td><td>30.86 MB</td><td>0.6834</td></tr>
+ <tr><td>Apple Lossless</td><td>?</td><td>?</td><td>30.91 MB</td><td>0.6847</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>31.06 MB</td><td>0.6879</td></tr>
+ <tr><td>WavPack 3.97a (fast)</td><td>0:13.31</td><td>0:14.15</td><td>31.61 MB</td><td>0.7000</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-3)</td><td>0:35.88</td><td>0:27.65</td><td>31.63 MB</td><td>0.7006</td></tr>
+ <tr><td>Shorten 3.2a (-p8 -b2048)</td><td>0:44.76</td><td>0:27.48</td><td>31.76 MB</td><td>0.7034</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Kexis 0.2.2</td><td>1:03.91</td><td>0:53.54</td><td>31.86 MB</td><td>0.7056</td></tr>
+ <tr><td>flac 1.1.1 (-1)</td><td>0:32.51</td><td>0:27.30</td><td>31.99 MB</td><td>0.7085</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:35.74</td><td>0:23.64</td><td>32.47 MB</td><td>0.7191</td></tr>
+ <tr><td>WaveZIP</td><td>0:29.42</td><td>?</td><td>33.02 MB</td><td>0.7313</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>4:28.39</td><td>4:28.39</td><td>45.15 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Cream<br /><i>White Room</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>10:24.08</td><td>10:03.16</td><td>33.44 MB</td><td>0.6309</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>22:59.05</td><td>23:02.98</td><td>33.93 MB</td><td>0.6399</td></tr>
+ <tr><td>Monkey's Audio 3.99 (insane)</td><td>9:02.77</td><td>9:26.75</td><td>33.95 MB</td><td>0.6404</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>1:42.28</td><td>1:47.55</td><td>33.96 MB</td><td>0.6405</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>1:59.73</td><td>2:04.46</td><td>34.00 MB</td><td>0.6413</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (high)</td><td>1:05.80</td><td>1:09.38</td><td>34.11 MB</td><td>0.6435</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>0:56.67</td><td>0:59.56</td><td>34.25 MB</td><td>0.6460</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>1:10.30</td><td>1:15.99</td><td>34.29 MB</td><td>0.6468</td></tr>
+ <tr><td>WavPack 3.97a (high)</td><td>0:51.50</td><td>1:02.71</td><td>34.55 MB</td><td>0.6516</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RKAU 1.07 (normal)</td><td>1:50.80</td><td>1:24.98</td><td>34.60 MB</td><td>0.6527</td></tr>
+ <tr><td>LPAC 1.40 (-r, normal)</td><td>1:25.16</td><td>0:48.67</td><td>34.84 MB</td><td>0.6572</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>0:44.60</td><td>0:48.92</td><td>34.85 MB</td><td>0.6574</td></tr>
+ <tr><td>Bonk 0.5</td><td>2:35.36</td><td>1:56.20</td><td>34.96 MB</td><td>0.6595</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-8)</td><td>3:48.73</td><td>0:31.91</td><td>34.99 MB</td><td>0.6601</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>0:24.43</td><td>0:36.09</td><td>35.08 MB</td><td>0.6617</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>0:54.89</td><td>0:33.82</td><td>35.16 MB</td><td>0.6633</td></tr>
+ <tr><td>flac 1.1.1 (-3)</td><td>0:41.38</td><td>0:32.00</td><td>35.36 MB</td><td>0.6671</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p8 -b2048)</td><td>0:51.44</td><td>0:33.02</td><td>35.40 MB</td><td>0.6677</td></tr>
+ <tr><td>Apple Lossless</td><td>?</td><td>?</td><td>35.46 MB</td><td>0.6689</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>35.74 MB</td><td>0.6742</td></tr>
+ <tr><td>WavPack 3.97a (fast)</td><td>0:26.00</td><td>0:24.83</td><td>36.32 MB</td><td>0.6852</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:41.14</td><td>0:28.91</td><td>36.42 MB</td><td>0.6870</td></tr>
+ <tr><td>flac 1.1.1 (-1)</td><td>0:36.87</td><td>0:33.39</td><td>36.56 MB</td><td>0.6897</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Kexis 0.2.2</td><td>1:13.87</td><td>1:02.90</td><td>36.64 MB</td><td>0.6911</td></tr>
+ <tr><td>WaveZIP</td><td>0:35.77</td><td>?</td><td>37.13 MB</td><td>0.7004</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>5:15.11</td><td>5:15.11</td><td>53.01 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Maurice Ravel<br /><i>Fanfare from "L'eventail de Jeanne"</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>3:55.40</td><td>3:47.60</td><td>6.46 MB</td><td>0.3104</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (extra high)</td><td>0:42.68</td><td>0:43.98</td><td>6.75 MB</td><td>0.3243</td></tr>
+ <tr><td>Monkey's Audio 3.99 (insane)</td><td>3:10.93</td><td>3:18.53</td><td>6.78 MB</td><td>0.3256</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>8:22.42</td><td>8:23.32</td><td>6.82 MB</td><td>0.3274</td></tr>
+ <tr><td>Monkey's Audio 3.99 (high)</td><td>0:23.09</td><td>0:24.12</td><td>6.98 MB</td><td>0.3353</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>0:36.57</td><td>0:38.26</td><td>7.09 MB</td><td>0.3406</td></tr>
+ <tr><td>RKAU 1.07 (normal)</td><td>0:40.67</td><td>0:28.52</td><td>7.18 MB</td><td>0.3451</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>0:24.98</td><td>0:26.37</td><td>7.21 MB</td><td>0.3462</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>0:19.78</td><td>0:20.50</td><td>7.28 MB</td><td>0.3495</td></tr>
+ <tr bgcolor="#D3D4C5"><td>LPAC 1.40 (-r, normal)</td><td>0:29.01</td><td>0:15.11</td><td>7.33 MB</td><td>0.3520</td></tr>
+ <tr><td>WavPack 3.97a (high)</td><td>0:22.63</td><td>0:21.86</td><td>7.45 MB</td><td>0.3577</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>0:15.60</td><td>0:16.76</td><td>7.50 MB</td><td>0.3601</td></tr>
+ <tr><td>flac 1.1.1 (-8)</td><td>1:20.73</td><td>0:09.51</td><td>7.69 MB</td><td>0.3692</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>0:18.95</td><td>0:09.45</td><td>7.71 MB</td><td>0.3703</td></tr>
+ <tr><td>flac 1.1.1 (-3)</td><td>0:14.98</td><td>0:09.19</td><td>7.77 MB</td><td>0.3734</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Apple Lossless</td><td>?</td><td>?</td><td>7.82 MB</td><td>0.3757</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>0:12.56</td><td>0:11.95</td><td>7.83 MB</td><td>0.3760</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Bonk 0.5</td><td>0:55.92</td><td>0:40.23</td><td>7.83 MB</td><td>0.3762</td></tr>
+ <tr><td>flac 1.1.1 (-1)</td><td>0:12.97</td><td>0:10.39</td><td>8.12 MB</td><td>0.3902</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>8.15 MB</td><td>0.3914</td></tr>
+ <tr><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:13.81</td><td>0:08.88</td><td>8.19 MB</td><td>0.3932</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p8 -b2048)</td><td>0:17.45</td><td>0:10.30</td><td>8.29 MB</td><td>0.3983</td></tr>
+ <tr><td>Kexis 0.2.2</td><td>0:26.78</td><td>0:21.90</td><td>8.52 MB</td><td>0.4091</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WaveZIP</td><td>0:13.11</td><td>?</td><td>8.72 MB</td><td>0.4193</td></tr>
+ <tr><td>WavPack 3.97a (fast)</td><td>0:05.35</td><td>0:06.33</td><td>8.87 MB</td><td>0.4259</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>2:03.76</td><td>2:03.76</td><td>20.82 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Maurice Ravel<br /><i>String Quartet (4th movement)</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>10:45.80</td><td>10:21.44</td><td>19.94 MB</td><td>0.3550</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>9:17.64</td><td>9:43.03</td><td>20.17 MB</td><td>0.3590</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>2:01.23</td><td>2:06.97</td><td>20.29 MB</td><td>0.3611</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>24:26.99</td><td>24:29.36</td><td>20.62 MB</td><td>0.3671</td></tr>
+ <tr><td>Monkey's Audio 3.99 (high)</td><td>1:06.28</td><td>1:09.59</td><td>20.68 MB</td><td>0.3681</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>1:42.57</td><td>1:47.48</td><td>20.93 MB</td><td>0.3725</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>0:56.22</td><td>1:01.22</td><td>21.05 MB</td><td>0.3747</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>1:09.17</td><td>1:13.14</td><td>21.23 MB</td><td>0.3779</td></tr>
+ <tr><td>RKAU 1.07 (normal)</td><td>1:52.65</td><td>1:25.39</td><td>21.30 MB</td><td>0.3791</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>0:43.69</td><td>0:49.31</td><td>21.52 MB</td><td>0.3830</td></tr>
+ <tr><td>WavPack 3.97a (high)</td><td>0:52.48</td><td>1:02.26</td><td>21.55 MB</td><td>0.3835</td></tr>
+ <tr bgcolor="#D3D4C5"><td>LPAC 1.40 (-r, normal)</td><td>1:20.84</td><td>0:42.73</td><td>21.96 MB</td><td>0.3909</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>0:23.29</td><td>0:34.28</td><td>22.11 MB</td><td>0.3935</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Apple Lossless</td><td>?</td><td>?</td><td>22.52 MB</td><td>0.4008</td></tr>
+ <tr><td>flac 1.1.1 (-8)</td><td>3:53.93</td><td>0:28.02</td><td>22.61 MB</td><td>0.4025</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>0:54.34</td><td>0:27.92</td><td>22.68 MB</td><td>0.4036</td></tr>
+ <tr><td>Bonk 0.5</td><td>2:33.53</td><td>1:51.94</td><td>23.18 MB</td><td>0.4125</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-3)</td><td>0:40.00</td><td>0:28.15</td><td>23.21 MB</td><td>0.4132</td></tr>
+ <tr><td>flac 1.1.1 (-1)</td><td>0:34.99</td><td>0:27.73</td><td>23.36 MB</td><td>0.4158</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Kexis 0.2.2</td><td>1:15.05</td><td>1:03.86</td><td>23.42 MB</td><td>0.4168</td></tr>
+ <tr><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:39.96</td><td>0:27.36</td><td>23.71 MB</td><td>0.4221</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>24.12 MB</td><td>0.4293</td></tr>
+ <tr><td>WavPack 3.97a (fast)</td><td>0:24.34</td><td>0:22.17</td><td>25.08 MB</td><td>0.4463</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p8 -b2048)</td><td>0:49.06</td><td>0:29.94</td><td>25.59 MB</td><td>0.4554</td></tr>
+ <tr><td>WaveZIP</td><td>0:36.60</td><td>?</td><td>25.84 MB</td><td>0.4600</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>5:33.95</td><td>5:33.95</td><td>56.18 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Sergei Prokofiev<br /><i>Piano Concerto No.3 (3rd movement)</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>19:11.61</td><td>18:28.80</td><td>32.65 MB</td><td>0.3243</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>16:21.16</td><td>17:04.46</td><td>33.34 MB</td><td>0.3311</td></tr>
+ <tr><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>43:21.88</td><td>43:26.18</td><td>33.58 MB</td><td>0.3335</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (extra high)</td><td>3:34.86</td><td>3:46.82</td><td>33.60 MB</td><td>0.3337</td></tr>
+ <tr><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>3:00.57</td><td>3:08.19</td><td>33.83 MB</td><td>0.3360</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>2:00.85</td><td>2:09.52</td><td>34.14 MB</td><td>0.3390</td></tr>
+ <tr><td>Monkey's Audio 3.99 (high)</td><td>1:56.68</td><td>2:07.25</td><td>34.16 MB</td><td>0.3392</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (normal)</td><td>1:38.96</td><td>1:48.17</td><td>34.58 MB</td><td>0.3434</td></tr>
+ <tr><td>RKAU 1.07 (normal)</td><td>3:08.70</td><td>2:26.17</td><td>35.21 MB</td><td>0.3496</td></tr>
+ <tr bgcolor="#D3D4C5"><td>LPAC 1.40 (-r, normal)</td><td>2:06.21</td><td>1:11.92</td><td>35.27 MB</td><td>0.3502</td></tr>
+ <tr><td>WavPack 3.97a (high)</td><td>1:32.78</td><td>1:50.74</td><td>35.35 MB</td><td>0.3510</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>1:17.00</td><td>1:27.35</td><td>35.53 MB</td><td>0.3528</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>0:40.68</td><td>1:00.29</td><td>36.99 MB</td><td>0.3673</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Apple Lossless</td><td>?</td><td>?</td><td>37.32 MB</td><td>0.3706</td></tr>
+ <tr><td>flac 1.1.1 (-8)</td><td>6:51.48</td><td>0:49.47</td><td>38.07 MB</td><td>0.3781</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>1:35.22</td><td>0:47.57</td><td>38.17 MB</td><td>0.3791</td></tr>
+ <tr><td>flac 1.1.1 (-3)</td><td>1:10.67</td><td>0:46.40</td><td>38.51 MB</td><td>0.3824</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-1)</td><td>1:01.44</td><td>0:53.40</td><td>39.30 MB</td><td>0.3903</td></tr>
+ <tr><td>Shorten 3.2a (-p0 -b256, default)</td><td>1:10.57</td><td>0:50.00</td><td>39.49 MB</td><td>0.3921</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Kexis 0.2.2</td><td>2:12.39</td><td>1:49.00</td><td>39.89 MB</td><td>0.3962</td></tr>
+ <tr><td>Bonk 0.5</td><td>4:33.71</td><td>3:19.38</td><td>40.31 MB</td><td>0.4003</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>41.86 MB</td><td>0.4157</td></tr>
+ <tr><td>WavPack 3.97a (fast)</td><td>0:43.24</td><td>0:40.17</td><td>43.03 MB</td><td>0.4273</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WaveZIP</td><td>1:05.60</td><td>?</td><td>43.67 MB</td><td>0.4337</td></tr>
+ <tr><td>Shorten 3.2a (-p8 -b2048)</td><td>1:26.84</td><td>0:53.19</td><td>45.34 MB</td><td>0.4502</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>9:58.47</td><td>9:58.47</td><td>100.68 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Frederic Chopin<br /><i>Prelude No.24 in d minor</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>5:14.83</td><td>5:03.08</td><td>9.84 MB</td><td>0.3582</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>4:33.42</td><td>4:45.16</td><td>9.96 MB</td><td>0.3625</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>0:59.94</td><td>1:01.87</td><td>10.16 MB</td><td>0.3699</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>11:56.24</td><td>11:58.77</td><td>10.34 MB</td><td>0.3764</td></tr>
+ <tr><td>Monkey's Audio 3.99 (high)</td><td>0:32.29</td><td>0:34.49</td><td>10.40 MB</td><td>0.3788</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>0:50.07</td><td>0:53.49</td><td>10.41 MB</td><td>0.3790</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>0:27.35</td><td>0:29.51</td><td>10.52 MB</td><td>0.3832</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>0:34.06</td><td>0:38.70</td><td>10.53 MB</td><td>0.3833</td></tr>
+ <tr><td>LPAC 1.40 (-r, normal)</td><td>0:34.91</td><td>0:20.01</td><td>10.74 MB</td><td>0.3911</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (high)</td><td>0:31.43</td><td>0:28.95</td><td>10.76 MB</td><td>0.3919</td></tr>
+ <tr><td>RKAU 1.07 (normal)</td><td>0:54.46</td><td>0:41.54</td><td>10.88 MB</td><td>0.3963</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>0:21.10</td><td>0:23.90</td><td>10.94 MB</td><td>0.3982</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>0:16.90</td><td>0:15.17</td><td>11.34 MB</td><td>0.4128</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Apple Lossless</td><td>?</td><td>?</td><td>11.51 MB</td><td>0.4191</td></tr>
+ <tr><td>flac 1.1.1 (-8)</td><td>1:53.31</td><td>0:13.06</td><td>11.69 MB</td><td>0.4256</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>0:26.05</td><td>0:13.50</td><td>11.71 MB</td><td>0.4265</td></tr>
+ <tr><td>flac 1.1.1 (-3)</td><td>0:19.82</td><td>0:13.25</td><td>11.74 MB</td><td>0.4274</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-1)</td><td>0:17.61</td><td>0:13.80</td><td>11.86 MB</td><td>0.4319</td></tr>
+ <tr><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:19.20</td><td>0:11.89</td><td>12.05 MB</td><td>0.4386</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Kexis 0.2.2</td><td>0:36.70</td><td>0:30.26</td><td>12.14 MB</td><td>0.4419</td></tr>
+ <tr><td>Bonk 0.5</td><td>1:15.45</td><td>0:55.07</td><td>12.86 MB</td><td>0.4684</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WaveZIP</td><td>0:18.75</td><td>?</td><td>13.08 MB</td><td>0.4765</td></tr>
+ <tr><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>13.31 MB</td><td>0.4845</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (fast)</td><td>0:06.74</td><td>0:08.51</td><td>13.67 MB</td><td>0.4978</td></tr>
+ <tr><td>Shorten 3.2a (-p8 -b2048)</td><td>0:24.43</td><td>0:14.32</td><td>14.40 MB</td><td>0.5242</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>2:43.23</td><td>2:43.23</td><td>27.46 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ Domenico Scarlatti<br /><i>Sonata K.42 (arr.Yepes for guitar)</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>3:09.33</td><td>3:01.82</td><td>6.62 MB</td><td>0.4036</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>2:46.09</td><td>2:52.52</td><td>6.67 MB</td><td>0.4068</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>0:36.21</td><td>0:38.16</td><td>6.74 MB</td><td>0.4109</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>7:08.77</td><td>7:09.52</td><td>6.87 MB</td><td>0.4190</td></tr>
+ <tr><td>Monkey's Audio 3.99 (high)</td><td>0:19.60</td><td>0:20.23</td><td>6.91 MB</td><td>0.4213</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>0:30.47</td><td>0:31.95</td><td>6.98 MB</td><td>0.4255</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>0:16.73</td><td>0:17.60</td><td>6.99 MB</td><td>0.4261</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RKAU 1.07 (normal)</td><td>0:37.09</td><td>0:26.56</td><td>7.05 MB</td><td>0.4297</td></tr>
+ <tr><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>0:20.68</td><td>0:22.06</td><td>7.07 MB</td><td>0.4310</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (high)</td><td>0:15.50</td><td>0:18.31</td><td>7.12 MB</td><td>0.4340</td></tr>
+ <tr><td>Monkey's Audio 3.99 (fast)</td><td>0:12.96</td><td>0:14.28</td><td>7.16 MB</td><td>0.4369</td></tr>
+ <tr bgcolor="#D3D4C5"><td>LPAC 1.40 (-r, normal)</td><td>0:29.99</td><td>0:14.33</td><td>7.21 MB</td><td>0.4397</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>0:07.01</td><td>0:10.27</td><td>7.31 MB</td><td>0.4460</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-8)</td><td>1:08.58</td><td>0:07.99</td><td>7.37 MB</td><td>0.4498</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>0:15.90</td><td>0:08.71</td><td>7.40 MB</td><td>0.4513</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-3)</td><td>0:11.84</td><td>0:08.26</td><td>7.43 MB</td><td>0.4530</td></tr>
+ <tr><td>Apple Lossless</td><td>?</td><td>?</td><td>7.44 MB</td><td>0.4541</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Bonk 0.5</td><td>0:45.59</td><td>0:32.63</td><td>7.46 MB</td><td>0.4548</td></tr>
+ <tr><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:11.67</td><td>0:07.17</td><td>7.48 MB</td><td>0.4564</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Kexis 0.2.2</td><td>0:22.06</td><td>0:18.62</td><td>7.50 MB</td><td>0.4572</td></tr>
+ <tr><td>flac 1.1.1 (-1)</td><td>0:10.17</td><td>0:07.85</td><td>7.53 MB</td><td>0.4591</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (fast)</td><td>0:04.11</td><td>0:06.57</td><td>7.58 MB</td><td>0.4624</td></tr>
+ <tr><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>7.74 MB</td><td>0.4723</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WaveZIP</td><td>0:10.56</td><td>?</td><td>7.83 MB</td><td>0.4781</td></tr>
+ <tr><td>Shorten 3.2a (-p8 -b2048)</td><td>0:14.29</td><td>0:09.07</td><td>8.20 MB</td><td>0.5004</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>1:37.43</td><td>1:37.43</td><td>16.39 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ The Benedictine Monks of<br />Santo Domingo de Silos<br /><i>Laetatus sum</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>4:40.71</td><td>4:32.29</td><td>11.94 MB</td><td>0.4922</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>4:08.23</td><td>4:18.43</td><td>12.05 MB</td><td>0.4968</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>0:54.17</td><td>0:56.87</td><td>12.09 MB</td><td>0.4981</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>10:34.75</td><td>10:36.83</td><td>12.17 MB</td><td>0.5015</td></tr>
+ <tr><td>Monkey's Audio 3.99 (high)</td><td>0:29.82</td><td>0:31.71</td><td>12.23 MB</td><td>0.5042</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RKAU 1.07 (normal)</td><td>0:57.64</td><td>0:41.39</td><td>12.25 MB</td><td>0.5049</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>0:25.63</td><td>0:27.41</td><td>12.42 MB</td><td>0.5118</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>0:45.20</td><td>0:48.45</td><td>12.43 MB</td><td>0.5121</td></tr>
+ <tr><td>LPAC 1.40 (-r, normal)</td><td>0:45.66</td><td>0:23.29</td><td>12.62 MB</td><td>0.5200</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>0:31.03</td><td>0:33.69</td><td>12.63 MB</td><td>0.5207</td></tr>
+ <tr><td>WavPack 3.97a (high)</td><td>0:28.01</td><td>0:27.43</td><td>12.65 MB</td><td>0.5213</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Bonk 0.5</td><td>1:08.18</td><td>0:49.70</td><td>12.71 MB</td><td>0.5237</td></tr>
+ <tr><td>Monkey's Audio 3.99 (fast)</td><td>0:19.79</td><td>0:21.78</td><td>12.76 MB</td><td>0.5260</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-8)</td><td>1:43.74</td><td>0:13.23</td><td>12.82 MB</td><td>0.5286</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>0:24.12</td><td>0:13.08</td><td>12.92 MB</td><td>0.5325</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (normal)</td><td>0:15.61</td><td>0:15.35</td><td>12.98 MB</td><td>0.5348</td></tr>
+ <tr><td>flac 1.1.1 (-3)</td><td>0:18.80</td><td>0:13.85</td><td>12.98 MB</td><td>0.5349</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Apple Lossless</td><td>?</td><td>?</td><td>13.04 MB</td><td>0.5377</td></tr>
+ <tr><td>WavPack 3.97a (fast)</td><td>0:11.07</td><td>0:10.38</td><td>13.30 MB</td><td>0.5481</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Kexis 0.2.2</td><td>0:33.43</td><td>0:28.11</td><td>13.30 MB</td><td>0.5481</td></tr>
+ <tr><td>Shorten 3.2a (-p0 -b256, default)</td><td>0:17.80</td><td>0:11.46</td><td>13.32 MB</td><td>0.5489</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-1)</td><td>0:15.60</td><td>0:12.82</td><td>13.34 MB</td><td>0.5500</td></tr>
+ <tr><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>13.41 MB</td><td>0.5528</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p8 -b2048)</td><td>0:22.30</td><td>0:13.87</td><td>13.42 MB</td><td>0.5531</td></tr>
+ <tr><td>WaveZIP</td><td>0:16.37</td><td>?</td><td>13.72 MB</td><td>0.5655</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>2:24.21</td><td>2:24.21</td><td>24.26 MB</td><td>1.0000</td></tr>
+ <tr>
+ <td colspan="6" bgcolor="#F4F4CC">&nbsp;</td>
+ </tr>
+ <tr>
+ <td align="right" rowspan="27" bgcolor="#F4F4CC">
+ L. Subramaniam<br /><i>Raga Sivapriya</i>
+ </td>
+ </tr>
+ <!-- bgcolor="#D3D4C5" -->
+ <tr><td>La 0.3c</td><td>41:10.10</td><td>39:35.28</td><td>87.51 MB</td><td>0.4097</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (insane)</td><td>35:41.10</td><td>37:34.17</td><td>89.18 MB</td><td>0.4175</td></tr>
+ <tr><td>Monkey's Audio 3.99 (extra high)</td><td>7:46.70</td><td>8:10.97</td><td>90.95 MB</td><td>0.4258</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 4 @ 1x)</td><td>93:05.00</td><td>93:16.00</td><td>92.05 MB</td><td>0.4310</td></tr>
+ <tr><td>optimFROG 4.21 (mode 1 @ 4x)</td><td>6:36.86</td><td>6:57.69</td><td>92.76 MB</td><td>0.4343</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (high)</td><td>4:15.82</td><td>4:35.33</td><td>93.15 MB</td><td>0.4361</td></tr>
+ <tr><td>Monkey's Audio 3.99 (normal)</td><td>3:38.02</td><td>3:58.75</td><td>94.32 MB</td><td>0.4416</td></tr>
+ <tr bgcolor="#D3D4C5"><td>optimFROG 4.21 (mode 0 @ 4x)</td><td>4:29.57</td><td>4:53.01</td><td>94.74 MB</td><td>0.4436</td></tr>
+ <tr><td>RKAU 1.07 (normal)</td><td>7:16.09</td><td>5:30.33</td><td>95.91 MB</td><td>0.4490</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (high)</td><td>3:41.17</td><td>3:56.70</td><td>96.51 MB</td><td>0.4518</td></tr>
+ <tr><td>LPAC 1.40 (-r, normal)</td><td>4:34.06</td><td>2:37.68</td><td>96.84 MB</td><td>0.4534</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Monkey's Audio 3.99 (fast)</td><td>2:49.87</td><td>3:15.34</td><td>95.34 MB</td><td>0.4464</td></tr>
+ <tr><td>WavPack 3.97a (normal)</td><td>1:50.85</td><td>2:10.55</td><td>97.75 MB</td><td>0.4577</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-8)</td><td>15:02.46</td><td>1:51.15</td><td>98.02 MB</td><td>0.4589</td></tr>
+ <tr bgcolor="#FFFFFF"><td>flac 1.1.1 (-5, default)</td><td>3:28.92</td><td>1:53.07</td><td>98.42 MB</td><td>0.4608</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Apple Lossless</td><td>?</td><td>?</td><td>98.57 MB</td><td>0.4615</td></tr>
+ <tr><td>Bonk 0.5</td><td>9:56.25</td><td>7:13.68</td><td>98.94 MB</td><td>0.4633</td></tr>
+ <tr bgcolor="#D3D4C5"><td>flac 1.1.1 (-3)</td><td>2:38.79</td><td>1:49.93</td><td>99.22 MB</td><td>0.4645</td></tr>
+ <tr><td>Ogg Squish 0.98</td><td>?</td><td>?</td><td>101.88 MB</td><td>0.4770</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Shorten 3.2a (-p8 -b2048)</td><td>3:10.19</td><td>1:56.31</td><td>102.60 MB</td><td>0.4804</td></tr>
+ <tr><td>Shorten 3.2a (-p0 -b256, default)</td><td>2:36.48</td><td>1:42.35</td><td>102.84 MB</td><td>0.4815</td></tr>
+ <tr bgcolor="#D3D4C5"><td>Kexis 0.2.2</td><td>4:49.84</td><td>3:59.93</td><td>103.57 MB</td><td>0.4849</td></tr>
+ <tr><td>flac 1.1.1 (-1)</td><td>2:15.70</td><td>1:51.81</td><td>103.60 MB</td><td>0.4851</td></tr>
+ <tr bgcolor="#D3D4C5"><td>WavPack 3.97a (fast)</td><td>1:34.44</td><td>1:24.44</td><td>103.86 MB</td><td>0.4863</td></tr>
+ <tr><td>WaveZIP</td><td>2:25.86</td><td>?</td><td>107.47 MB</td><td>0.5032</td></tr>
+ <tr bgcolor="#D3D4C5"><td>RIFF WAVE</td><td>21:09.47</td><td>21:09.47</td><td>213.56 MB</td><td>1.0000</td></tr>
+ </table>
+ </td></tr></table>
+
+ </div> <!-- box_body -->
+ <div class="box_footer"></div>
+</div>
-</CENTER>
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
-</BODY>
-</HTML>
+</body>
+</html>
diff --git a/doc/html/developers.html b/doc/html/developers.html
index 0dc9c389..65ac65bb 100644
--- a/doc/html/developers.html
+++ b/doc/html/developers.html
@@ -1,159 +1,114 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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>
- <TITLE>FLAC - developers</TITLE>
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;developers&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/developers.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">FLAC developers</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- FLAC is an open source project and we are happy to enlist the help of anyone who wants to contribute. The preferred method for transmitting improvements is patch files (in "diff -c" format) sent to the <A HREF="http://sourceforge.net/mail/?group_id=13478">developer mailing list</A>, but zipped up sources are OK. Make sure to read the <A HREF="goals.html">FLAC goals</A> first; there are some thing the we <B>don't</B> want added to FLAC, like copy protection and lossy compression.
- </P>
- <P>
+<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 - developers</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="separator2"></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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
+ &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
+ &nbsp;<a href="links.html">links</a>&nbsp;&nbsp;|
+ &nbsp;developers&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/developers.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="below_nav"></div>
+
+<div class="box">
+ <div class="box_title">
+ FLAC developers
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ FLAC is an open source project and we are happy to enlist the help of anyone who wants to contribute. The preferred method for transmitting improvements is patch files (in "diff -c" format) sent to the <a href="http://sourceforge.net/mail/?group_id=13478">developer mailing list</a>, but zipped up sources are OK. Make sure to read the <a href="goals.html">FLAC goals</a> first; there are some thing the we <b>don't</b> want added to FLAC, like copy protection and lossy compression.
+ <br /><br />
High priority items are:
- </P>
- <P>
- <UL>
- <LI>
- Support in the plugins for using the CUESHEET metadata block. The plugin should be able to see a CUESHEET in a FLAC file and present the individual tracks in the player, and fetch metadata from CDDB or CDindex by computing the hash from the CUESHEET and looking up either in a local database or over the net.
- </LI>
- </UL>
- </P>
- <P>
+ <ul>
+ <li>
+ Support in the plugins for using the CUESHEET metadata block. The plugin should be able to see a CUESHEET in a FLAC file and present the individual tracks in the player, and fetch metadata from CDDB or CDindex by computing the hash from the CUESHEET and looking up either in a local database or over the net.
+ </li>
+ </ul>
Some other "nice-to-haves":
- </P>
- <P>
- <UL>
- <LI>
- FLAC module for <A HREF="http://www.68k.org/~michael/audiofile/">Audiofile</A>.
- </LI>
- <LI>
- <A HREF="http://java.sun.com/products/java-media/jmf/">JMF</A> plugin.
- </LI>
- <LI>
- Streaming support in the Winamp plugin.
- </LI>
- </UL>
- </P>
- <P>
- See also the <A HREF="http://sourceforge.net/projects/flac">FLAC project page</A> on Sourceforge.net.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">third-party developers</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
+ <ul>
+ <li>
+ FLAC module for <a href="http://www.68k.org/~michael/audiofile/">Audiofile</a>.
+ </li>
+ <li>
+ <a href="http://java.sun.com/products/java-media/jmf/">JMF</a> plugin.
+ </li>
+ <li>
+ Streaming support in the Winamp plugin.
+ </li>
+ </ul>
+ See also the <a href="http://sourceforge.net/projects/flac">FLAC project page</a> on Sourceforge.net.
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+<br />
+
+<div class="box">
+ <div class="box_title">
+ third-party developers
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
FLAC is open to third-party developers who want to add support for FLAC into their programs. All the necessary functionality is contained the lib*FLAC libraries which are licensed under Xiph.org's BSD license. The relevant documentation here is:
- <UL>
- <LI>The <A HREF="license.html">license page</A>.</LI>
- <LI>The <A HREF="api/index.html">API documentation</A>.</LI>
- <LI>The <A HREF="format.html">formal description</A> of the FLAC format.</LI>
- <LI>The <A HREF="ogg_mapping.html">Ogg FLAC mapping</A> document.</LI>
- <LI>The <A HREF="id.html">ID registration page</A> for registering an ID if you need to write custom metadata.</LI>
- </UL>
- </P>
- <P>
- There also are several examples in the FLAC code base of API usage that may also be helpful. Visit the <A HREF="download.html">download page</A> for instructions on how to get the source.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-</CENTER>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
-
-</BODY>
-</HTML>
+ <ul>
+ <li>The <a href="license.html">license page</a>.</li>
+ <li>The <a href="api/index.html">API documentation</a>.</li>
+ <li>The <a href="format.html">formal description</a> of the FLAC format.</li>
+ <li>The <a href="ogg_mapping.html">Ogg FLAC mapping</a> document.</li>
+ <li>The <a href="id.html">ID registration page</a> for registering an ID if you need to write custom metadata.</li>
+ </ul>
+ There also are several examples in the FLAC code base of API usage that may also be helpful. Visit the <a href="download.html">download page</a> for instructions on how to get the source.
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
+
+</body>
+</html>
diff --git a/doc/html/documentation.html b/doc/html/documentation.html
index 89c3128d..a80d4758 100644
--- a/doc/html/documentation.html
+++ b/doc/html/documentation.html
@@ -1,1543 +1,1407 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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>
- <TITLE>FLAC - documentation</TITLE>
-</HEAD>
+<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 - documentation</title>
+</head>
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
+<body>
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
+<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>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
+<div class="above_nav"></div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;documentation&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
+<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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;documentation&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>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/documentation.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/documentation.html">russian</a>&nbsp;
+</div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<CENTER>
+<div class="below_nav"></div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">documentation</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
+<div class="box">
+ <div class="box_title">
+ documentation
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
This page is broken up into the following sections:
- <UL>
- <LI><A HREF="#format">format</A> - the user-level view of the FLAC format (for a more detailed explanation see the <A HREF="format.html">format page</A>).</LI>
- <LI><A HREF="#flac">flac</A> - the usage of the command-line file encoder/decoder <B><TT>flac</TT></B>.</LI>
- <LI><A HREF="#metaflac">metaflac</A> - the usage of the command-line FLAC metadata editor <B><TT>metaflac</TT></B>.</LI>
- <LI><A HREF="#plugins">plugins</A> - documentation for the various input plugins.</LI>
- <LI><A HREF="api/index.html">libFLAC and libFLAC++ APIs</A> - for developers who want to add FLAC support to their programs.</LI>
- <LI><A HREF="#bugs">bugs</A> - known bugs.</LI>
- <LI><A HREF="#monkey">How to add FLAC support to the Monkey's Audio GUI</A></LI>
- </UL>
- </P>
- <P>
+ <ul>
+ <li><a href="#format">format</a> - the user-level view of the FLAC format (for a more detailed explanation see the <a href="format.html">format page</a>).</li>
+ <li><a href="#flac">flac</a> - the usage of the command-line file encoder/decoder <span class="commandname">flac</span>.</li>
+ <li><a href="#metaflac">metaflac</a> - the usage of the command-line FLAC metadata editor <span class="commandname">metaflac</span>.</li>
+ <li><a href="#plugins">plugins</a> - documentation for the various input plugins.</li>
+ <li><a href="api/index.html">libFLAC and libFLAC++ APIs</a> - for developers who want to add FLAC support to their programs.</li>
+ <li><a href="#bugs">bugs</a> - known bugs.</li>
+ <li><a href="#monkey">How to add FLAC support to the Monkey's Audio GUI</a></li>
+ </ul>
Keep in mind that the online version of this document will always apply to the latest release. For older releases, check the documentation included with the release package.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
+ </div>
+ <div class="box_footer"></div>
+</div>
+<br />
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <A NAME="format"><B><FONT SIZE="+2">format</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- <B><TT>flac</TT></B> has been tuned so that the default options yield a good speed vs. compression tradeoff for many kinds of input. However, if you are looking to maximize the compression rate or speed, or want to use the full power of FLAC's metadata system, this section is for you. If not, just skip to the <A HREF="#flac">next section</A>.
- </P>
- <P>
+<div class="box">
+ <div class="box_title">
+ <a name="format">format</a>
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ <span class="commandname">flac</span> has been tuned so that the default options yield a good speed vs. compression tradeoff for many kinds of input. However, if you are looking to maximize the compression rate or speed, or want to use the full power of FLAC's metadata system, this section is for you. If not, just skip to the <a href="#flac">next section</a>.
+ <br /><br />
The basic structure of a FLAC stream is:
- <UL>
- <LI>The four byte string "fLaC"</LI>
- <LI>The <A HREF="format.html#def_STREAMINFO">STREAMINFO</A> metadata block</LI>
- <LI>Zero or more other metadata blocks</LI>
- <LI>One or more audio frames</LI>
- </UL>
- </P>
- <P>
+ <ul>
+ <li>The four byte string "<span class="code">fLaC</span>"</li>
+ <li>The <a href="format.html#def_STREAMINFO"><span class="code">STREAMINFO</span></a> metadata block</li>
+ <li>Zero or more other metadata blocks</li>
+ <li>One or more audio frames</li>
+ </ul>
The first four bytes are to identify the FLAC stream. The metadata that follows contains all the information about the stream except for the audio data itself. After the metadata comes the encoded audio data.
- </P>
- <P>
- <B>METADATA</B>
- </P>
- <P>
- FLAC defines several types of metadata blocks (see the <A HREF="format.html">format</A> page for the complete list). Metadata blocks can be any length and new ones can be defined. A decoder is allowed to skip any metadata types it does not understand. Only one is mandatory: the STREAMINFO block. This block has information like the sample rate, number of channels, etc., and data that can help the decoder manage its buffers, like the minimum and maximum data rate and minimum and maximum block size. Also included in the STREAMINFO block is the MD5 signature of the <I>unencoded</I> audio data. This is useful for checking an entire stream for transmission errors.
- </P>
- <P>
- Other blocks allow for padding, seek tables, tags, cuesheets, and application-specific data. You can see <B><TT>flac</TT></B> options below for adding PADDING blocks or specifying seek points. FLAC does not require seek points for seeking but they can speed up seeks, or be used for cueing in editing applications.
- <P>
- </P>
- Also, if you have a need of a custom metadata block, you can define your own and request an ID <A HREF="id.html">here</A>. Then you can reserve a PADDING block of the correct size when encoding, and overwrite the padding block with your APPLICATION block after encoding. The resulting stream will be FLAC compatible; decoders that are aware of your metadata can use it and the rest will safely ignore it.
- </P>
- <P>
- <B>AUDIO DATA</B>
- </P>
- <P>
+ <br /><br />
+ <b>METADATA</b>
+ <br /><br />
+ FLAC defines several types of metadata blocks (see the <a href="format.html">format</a> page for the complete list). Metadata blocks can be any length and new ones can be defined. A decoder is allowed to skip any metadata types it does not understand. Only one is mandatory: the <span class="code">STREAMINFO</span> block. This block has information like the sample rate, number of channels, etc., and data that can help the decoder manage its buffers, like the minimum and maximum data rate and minimum and maximum block size. Also included in the <span class="code">STREAMINFO</span> block is the MD5 signature of the <i>unencoded</i> audio data. This is useful for checking an entire stream for transmission errors.
+ <br /><br />
+ Other blocks allow for padding, seek tables, tags, cuesheets, and application-specific data. You can see <span class="commandname">flac</span> options below for adding <span class="code">PADDING</span> blocks or specifying seek points. FLAC does not require seek points for seeking but they can speed up seeks, or be used for cueing in editing applications.
+ <br /><br />
+ Also, if you have a need of a custom metadata block, you can define your own and request an ID <a href="id.html">here</a>. Then you can reserve a <span class="code">PADDING</span> block of the correct size when encoding, and overwrite the padding block with your <span class="code">APPLICATION</span> block after encoding. The resulting stream will be FLAC compatible; decoders that are aware of your metadata can use it and the rest will safely ignore it.
+ <br /><br />
+ <b>AUDIO DATA</b>
+ <br /><br />
After the metadata comes the encoded audio data. Audio data and metadata are not interleaved. Like most audio codecs, FLAC splits the unencoded audio data into blocks, and encodes each block separately. The encoded block is packed into a frame and appended to the stream. The reference encoder uses a single block size for the whole stream but the FLAC format does not require it.
- </P>
- <P>
- <B>BLOCKING</B>
- </P>
- <P>
- The block size is an important parameter to encoding. If it is too small, the frame overhead will lower the compression. If it is too large, the modeling stage of the compressor will not be able to generate an efficient model. Understanding FLAC's modeling will help you to improve compression for some kinds of input by varying the block size. In the most general case, using linear prediction on 44.1kHz audio, the optimal block size will be between 2-6 ksamples. <B><TT>flac</TT></B> defaults to a block size of 4608 in this case. Using the fast fixed predictors, a smaller block size is usually preferable because of the smaller frame header.
- </P>
- <P>
- <B>INTER-CHANNEL DECORRELATION</B>
- </P>
- <P>
- In the case of stereo input, once the data is blocked it is optionally passed through an inter-channel decorrelation stage. The left and right channels are converted to center and side channels through the following transformation: mid = (left + right) / 2, side = left - right. This is a lossless process, unlike joint stereo. For normal CD audio this can result in significant extra compression. <B><TT>flac</TT></B> has two options for this: <TT>-m</TT> always compresses both the left-right and mid-side versions of the block and takes the smallest frame, and <TT>-M</TT>, which adaptively switches between left-right and mid-side.
- </P>
- <P>
- <B>MODELING</B>
- </P>
- <P>
- In the next stage, the encoder tries to approximate the signal with a function in such a way that when the approximation is subracted, the result (called the <I>residual</I>, <I>residue</I>, or <I>error</I>) requires fewer bits-per-sample to encode. The function's parameters also have to be transmitted so they should not be so complex as to eat up the savings. FLAC has two methods of forming approximations: 1) fitting a simple polynomial to the signal; and 2) general linear predictive coding (LPC). I will not go into the details here, only some generalities that involve the encoding options.
- </P>
- <P>
- First, fixed polynomial prediction (specified with <TT>-l 0</TT>) is much faster, but less accurate than LPC. The higher the maximum LPC order, the slower, but more accurate, the model will be. However, there are diminishing returns with increasing orders. Also, at some point (usually around order 9) the part of the encoder that guesses what is the best order to use will start to get it wrong and the compression will actually decrease slightly; at that point you will have to you will have to use the exhaustive search option <TT>-e</TT> to overcome this, which is significantly slower.
- </P>
- <P>
+ <br /><br />
+ <b>BLOCKING</b>
+ <br /><br />
+ The block size is an important parameter to encoding. If it is too small, the frame overhead will lower the compression. If it is too large, the modeling stage of the compressor will not be able to generate an efficient model. Understanding FLAC's modeling will help you to improve compression for some kinds of input by varying the block size. In the most general case, using linear prediction on 44.1kHz audio, the optimal block size will be between 2-6 ksamples. <span class="commandname">flac</span> defaults to a block size of 4608 in this case. Using the fast fixed predictors, a smaller block size is usually preferable because of the smaller frame header.
+ <br /><br />
+ <b>INTER-CHANNEL DECORRELATION</b>
+ <br /><br />
+ In the case of stereo input, once the data is blocked it is optionally passed through an inter-channel decorrelation stage. The left and right channels are converted to center and side channels through the following transformation: mid = (left + right) / 2, side = left - right. This is a lossless process, unlike joint stereo. For normal CD audio this can result in significant extra compression. <span class="commandname">flac</span> has two options for this: <span class="argument">-m</span> always compresses both the left-right and mid-side versions of the block and takes the smallest frame, and <span class="argument">-M</span>, which adaptively switches between left-right and mid-side.
+ <br /><br />
+ <b>MODELING</b>
+ <br /><br />
+ In the next stage, the encoder tries to approximate the signal with a function in such a way that when the approximation is subracted, the result (called the <i>residual</i>, <i>residue</i>, or <i>error</i>) requires fewer bits-per-sample to encode. The function's parameters also have to be transmitted so they should not be so complex as to eat up the savings. FLAC has two methods of forming approximations: 1) fitting a simple polynomial to the signal; and 2) general linear predictive coding (LPC). I will not go into the details here, only some generalities that involve the encoding options.
+ <br /><br />
+ First, fixed polynomial prediction (specified with <span class="argument">-l 0</span>) is much faster, but less accurate than LPC. The higher the maximum LPC order, the slower, but more accurate, the model will be. However, there are diminishing returns with increasing orders. Also, at some point (usually around order 9) the part of the encoder that guesses what is the best order to use will start to get it wrong and the compression will actually decrease slightly; at that point you will have to you will have to use the exhaustive search option <span class="argument">-e</span> to overcome this, which is significantly slower.
+ <br /><br />
Second, the parameters for the fixed predictors can be transmitted in 3 bits whereas the parameters for the LPC model depend on the bits-per-sample and LPC order. This means the frame header length varies depending on the method and order you choose and can affect the optimal block size.
- </P>
- <P>
- <B>RESIDUAL CODING</B>
- </P>
- <P>
+ <br /><br />
+ <b>RESIDUAL CODING</b>
+ <br /><br />
Once the model is generated, the encoder subracts the approximation from the original signal to get the residual (error) signal. The error signal is then losslessly coded. To do this, FLAC takes advantage of the fact that the error signal generally has a Laplacian (two-sided geometric) distribution, and that there are a set of special Huffman codes called Rice codes that can be used to efficiently encode these kind of signals quickly and without needing a dictionary.
- </P>
- <P>
- Rice coding involves finding a single parameter that matches a signal's distribution, then using that parameter to generate the codes. As the distribution changes, the optimal parameter changes, so FLAC supports a method that allows the parameter to change as needed. The residual can be broken into several <I>contexts</I> or <I>partitions</I>, each with it's own Rice parameter. <B><TT>flac</TT></B> allows you to specify how the partitioning is done with the <TT>-r</TT> option. The residual can be broken into 2^<I>n</I> partitions, by using the option <TT>-r n,n</TT>. The parameter <I>n</I> is called the <I>partition order</I>. Furthermore, the encoder can be made to search through <I>m</I> to <I>n</I> partition orders, taking the best one, by specifying <TT>-r m,n</TT>. Generally, the choice of n does not affect encoding speed but m,n does. The larger the difference between m and n, the more time it will take the encoder to search for the best order. The block size will also affect the optimal order.
- </P>
- <P>
- <B>FRAMING</B>
- </P>
- <P>
+ <br /><br />
+ Rice coding involves finding a single parameter that matches a signal's distribution, then using that parameter to generate the codes. As the distribution changes, the optimal parameter changes, so FLAC supports a method that allows the parameter to change as needed. The residual can be broken into several <i>contexts</i> or <i>partitions</i>, each with it's own Rice parameter. <span class="commandname">flac</span> allows you to specify how the partitioning is done with the <span class="argument">-r</span> option. The residual can be broken into 2^<i>n</i> partitions, by using the option <span class="argument">-r n,n</span>. The parameter <i>n</i> is called the <i>partition order</i>. Furthermore, the encoder can be made to search through <i>m</i> to <i>n</i> partition orders, taking the best one, by specifying <span class="argument">-r m,n</span>. Generally, the choice of n does not affect encoding speed but m,n does. The larger the difference between m and n, the more time it will take the encoder to search for the best order. The block size will also affect the optimal order.
+ <br /><br />
+ <b>FRAMING</b>
+ <br /><br />
An audio frame is preceded by a frame header and trailed by a frame footer. The header starts with a sync code, and contains the minimum information necessary for a decoder to play the stream, like sample rate, bits per sample, etc. It also contains the block or sample number and an 8-bit CRC of the frame header. The sync code, frame header CRC, and block/sample number allow resynchronization and seeking even in the absence of seek points. The frame footer contains a 16-bit CRC of the entire encoded frame for error detection. If the reference decoder detects a CRC error it will generate a silent block.
- </P>
- <P>
- <B>MISCELLANEOUS</B>
- </P>
- <P>
- As a convenience, the reference decoder knows how to skip <A HREF="http://www.id3.org/">ID3v1 and ID3v2 tags</A>. Note however that the FLAC specification does not require compliant implementations to support ID3 in any form and their use is discouraged.
- </P>
- <P>
- <B><TT>flac</TT></B> has a verify option <TT>-V</TT> that verifies the output while encoding. With this option, a decoder is run in parallel to the encoder and its output is compared against the original input. If a difference is found <B><TT>flac</TT></B> will stop with an error.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
+ <br /><br />
+ <b>MISCELLANEOUS</b>
+ <br /><br />
+ As a convenience, the reference decoder knows how to skip <a href="http://www.id3.org/">ID3v1 and ID3v2 tags</a>. Note however that the FLAC specification does not require compliant implementations to support ID3 in any form and their use is discouraged.
+ <br /><br />
+ <span class="commandname">flac</span> has a verify option <span class="argument">-V</span> that verifies the output while encoding. With this option, a decoder is run in parallel to the encoder and its output is compared against the original input. If a difference is found <span class="commandname">flac</span> will stop with an error.
+ </div>
+ <div class="box_footer"></div>
+</div>
+<br />
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <A NAME="flac"><B><FONT SIZE="+2">flac</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- <B><TT>flac</TT></B> is the command-line file encoder/decoder. The input to the encoder and the output to the decoder must either be RIFF WAVE format, AIFF, or raw interleaved sample data. <B><TT>flac</TT></B> only supports linear PCM samples (in other words, no A-LAW, uLAW, etc.). Another restriction (hopefully short-term) is that the input must be 8, 16, or 24 bits per sample. This is not a limitation of the FLAC format, just the reference encoder/decoder.
- </P>
- <P>
- <B><TT>flac</TT></B> assumes that files ending in ".wav" or that have the RIFF WAVE header present are WAVE files, and files ending in ".aif" or ".aiff" or have the AIFF header present are in AIFF files. This may be overridden with a command-line option. It also assumes that files ending in ".ogg" are Ogg FLAC files. Other than this, <B><TT>flac</TT></B> makes no assumptions about file extensions, though the convention is that FLAC files have the extension ".flac" (or ".fla" on ancient file systems like FAT-16).
- </P>
- <P>
- Before going into the full command-line description, a few other things help to sort it out: 1) <B><TT>flac</TT></B> encodes by default, so you must use <B>-d</B> to decode; 2) the options <B><TT>-0</TT></B> .. <B><TT>-8</TT></B> (or <B><TT>--fast</B></TT> and <B><TT>--best</B></TT>) that control the compression level actually are just synonyms for different groups of specific encoding options (described later) and you can get the same effect by using the same options; 3) <B><TT>flac</TT></B> behaves similarly to gzip in the way it handles input and output files.
- </P>
- <P>
- <B><TT>flac</TT></B> will be invoked one of four ways, depending on whether you are encoding, decoding, testing, or analyzing:
- <UL>
- <LI>
- Encoding: flac [<I><A HREF="#general_options">&lt;general-options&gt;</A></I>] [<I><A HREF="#format_options">&lt;format-options&gt;</A></I>] [<I><A HREF="#encoding_options">&lt;encoding options&gt;</A></I>] [inputfile [...]]
- </LI>
- <LI>
- Decoding: flac -d [<I><A HREF="#general_options">&lt;general-options&gt;</A></I>] [<I><A HREF="#format_options">&lt;format-options&gt;</A></I>] [<I><A HREF="#decoding_options">&lt;decoding options&gt;</A></I>] [FLACfile [...]]
- </LI>
- <LI>
- Testing: flac -t [<I><A HREF="#general_options">&lt;general-options&gt;</A></I>] [FLACfile [...]]
- </LI>
- <LI>
- Analyzing: flac -a [<I><A HREF="#general_options">&lt;general-options&gt;</A></I>] [<I><A HREF="#analysis_options">&lt;analysis-options&gt;</A></I>] [FLACfile [...]]
- </LI>
- </UL>
- </P>
- <P>
- In any case, if no <TT>inputfile</TT> is specified, stdin is assumed. If only one inputfile is specified, it may be "-" for stdin. When stdin is used as input, <B><TT>flac</TT></B> will write to stdout. Otherwise <B><TT>flac</TT></B> will perform the desired operation on each input file to similarly named output files (meaning for encoding, the extension will be replaced with ".flac", or appended with ".flac" if the input file has no extension, and for decoding, the extension will be ".wav" for WAVE output and ".raw" for raw output). The original file is not deleted unless --delete-input-file is specified.
- </P>
- <P>
+<div class="box">
+ <div class="box_title">
+ <a name="flac">flac</a>
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ <span class="commandname">flac</span> is the command-line file encoder/decoder. The input to the encoder and the output to the decoder must either be RIFF WAVE format, AIFF, or raw interleaved sample data. <span class="commandname">flac</span> only supports linear PCM samples (in other words, no A-LAW, uLAW, etc.). Another restriction (hopefully short-term) is that the input must be 8, 16, or 24 bits per sample. This is not a limitation of the FLAC format, just the reference encoder/decoder.
+ <br /><br />
+ <span class="commandname">flac</span> assumes that files ending in ".wav" or that have the RIFF WAVE header present are WAVE files, and files ending in ".aif" or ".aiff" or have the AIFF header present are in AIFF files. This may be overridden with a command-line option. It also assumes that files ending in ".ogg" are Ogg FLAC files. Other than this, <span class="commandname">flac</span> makes no assumptions about file extensions, though the convention is that FLAC files have the extension ".flac" (or ".fla" on ancient file systems like FAT-16).
+ <br /><br />
+ Before going into the full command-line description, a few other things help to sort it out: 1) <span class="commandname">flac</span> encodes by default, so you must use <b>-d</b> to decode; 2) the options <span class="argument">-0</span> .. <span class="argument">-8</span> (or <span class="argument">--fast</span> and <span class="argument">--best</span>) that control the compression level actually are just synonyms for different groups of specific encoding options (described later) and you can get the same effect by using the same options; 3) <span class="commandname">flac</span> behaves similarly to gzip in the way it handles input and output files.
+ <br /><br />
+ <span class="commandname">flac</span> will be invoked one of four ways, depending on whether you are encoding, decoding, testing, or analyzing:
+ <ul>
+ <li>
+ Encoding: flac [<i><a href="#general_options">&lt;general-options&gt;</a></i>] [<i><a href="#format_options">&lt;format-options&gt;</a></i>] [<i><a href="#encoding_options">&lt;encoding options&gt;</a></i>] [inputfile [...]]
+ </li>
+ <li>
+ Decoding: flac -d [<i><a href="#general_options">&lt;general-options&gt;</a></i>] [<i><a href="#format_options">&lt;format-options&gt;</a></i>] [<i><a href="#decoding_options">&lt;decoding options&gt;</a></i>] [FLACfile [...]]
+ </li>
+ <li>
+ Testing: flac -t [<i><a href="#general_options">&lt;general-options&gt;</a></i>] [FLACfile [...]]
+ </li>
+ <li>
+ Analyzing: flac -a [<i><a href="#general_options">&lt;general-options&gt;</a></i>] [<i><a href="#analysis_options">&lt;analysis-options&gt;</a></i>] [FLACfile [...]]
+ </li>
+ </ul>
+ In any case, if no <span class="argument">inputfile</span> is specified, stdin is assumed. If only one inputfile is specified, it may be "-" for stdin. When stdin is used as input, <span class="commandname">flac</span> will write to stdout. Otherwise <span class="commandname">flac</span> will perform the desired operation on each input file to similarly named output files (meaning for encoding, the extension will be replaced with ".flac", or appended with ".flac" if the input file has no extension, and for decoding, the extension will be ".wav" for WAVE output and ".raw" for raw output). The original file is not deleted unless --delete-input-file is specified.
+ <br /><br />
If you are encoding/decoding from stdin to a file, you should use the -o option like so:
- <UL>
- <LI>
- flac [options] -o outputfile
- </LI>
- <LI>
- flac -d [options] -o outputfile
- </LI>
- </UL>
- which are better than:
- <UL>
- <LI>
- flac [options] &gt; outputfile
- </LI>
- <LI>
- flac -d [options] &gt; outputfile
- </LI>
- </UL>
- since the former allows flac to seek backwards to write the STREAMINFO or RIFF WAVE header contents when necessary.
- </P>
- <P>
- Also, you can force output data to go to stdout using <TT>-c</TT>.
- </P>
- <P>
- To encode or decode files that start with a dash, use <TT>--</TT> to signal the end of options, to keep the filenames themselves from being treated as options:
- <UL>
- <LI>
- <TT>flac -V -- -01-filename.wav</TT>
- </LI>
- </UL>
- </P>
- <P>The encoding options affect the compression ratio and encoding speed. The format options are used to tell <B><TT>flac</TT></B> the arrangement of samples if the input file (or output file when decoding) is a raw file. If it is a RIFF WAVE or AIFF file the format options are not needed since they are read from the AIFF/WAVE header.
- </P>
- <P>
- In test mode, <B><TT>flac</TT></B> acts just like in decode mode, except no output file is written. Both decode and test modes detect errors in the stream, but they also detect when the MD5 signature of the decoded audio does not match the stored MD5 signature, even when the bitstream is valid.
- </P>
- <P>
- <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="general_options"><FONT SIZE="+1"><B>General Options</B></FONT></A>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_version">
- <TT>-v</TT>, <TT>--version</TT>
- </TD>
- <TD>
- Show the <B><TT>flac</TT></B> version number.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_help">
- <TT>-h</TT>, <TT>--help</TT>
- </TD>
- <TD>
- Show basic usage and a list of all options. Running <B><TT>flac</TT></B> without arguments shows the short help screen by default.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_explain">
- <TT>-H</TT>, <TT>--explain</TT>
- </TD>
- <TD>
- Show detailed explanation of usage and all options. Running <B><TT>flac</TT></B> without arguments shows the short help screen by default.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_decode">
- <TT>-d</TT>, <TT>--decode</TT>
- </TD>
- <TD>
- Decode (<B><TT>flac</TT></B> encodes by default). <B><TT>flac</TT></B> will exit with an exit code of <TT>1</TT> (and print a message, even in silent mode) if there were any errors during decoding, including when the MD5 checksum does not match the decoded output. Otherwise the exit code will be <TT>0</TT>.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_test">
- <TT>-t</TT>, <TT>--test</TT>
- </TD>
- <TD>
- Test (same as <B><TT>-d</TT></B> except no decoded file is written). The exit codes are the same as in decode mode.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_analyze">
- <TT>-a</TT>, <TT>--analyze</TT>
- </TD>
- <TD>
- Analyze (same as <B><TT>-d</TT></B> except an analysis file is written). The exit codes are the same as in decode mode. This option is mainly for developers; the output will be a text file that has data about each frame and subframe.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_stdout">
- <TT>-c</TT>, <TT>--stdout</TT>
- </TD>
- <TD>
- Write output to stdout.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_silent">
- <TT>-s</TT>, <TT>--silent</TT>
- </TD>
- <TD>
- Silent: do not show encoding/decoding statistics.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_totally_silent">
- <TT>--totally-silent</TT>
- </TD>
- <TD>
- Do not print anything of any kind, including warnings or errors. The exit code will be the only way to determine successful completion.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_force">
- <TT>-f</TT>, <TT>--force</TT>
- </TD>
- <TD>
- Force overwriting of output files. By default, <TT><B>flac</B></TT> warns that the output file already exists and continues to the next file.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_output_name">
- <TT>-o filename</TT>,<BR><TT>--output-name=filename</TT>
- </TD>
- <TD>
- Force the output file name (usually <TT><B>flac</B></TT> just changes the extension). May only be used when encoding a single file. May not be used in conjunction with <TT><A HREF="#flac_options_output_prefix">--output-prefix</A></TT>.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_output_prefix">
- <TT>--output-prefix=string</TT>
- </TD>
- <TD>
- Prefix each output file name with the given string. This can be useful for encoding/decoding files to a different directory. Make sure if your string is a path name that it ends with a trailing '<TT>/</TT>' slash.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_delete_input_file">
- <TT>--delete-input-file</TT>
- </TD>
- <TD>
- Automatically delete the input file after a successful encode or decode. If there was an error (including a verify error) the input file is left intact.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_skip">
- <TT>--skip={#|mm:ss.ss}</TT>
- </TD>
- <TD>
- Skip over the first # of samples of the input. This works for both encoding and decoding, but not testing. The alternative form <TT>mm:ss.ss</TT> can be used to specify minutes, seconds, and fractions of a second.<P>
- Examples:<P>
- <TT>--skip=123</TT> : skip the first 123 samples of the input<P>
- <TT>--skip=1:23.45</TT> : skip the first 1 minute and 23.45 seconds of the input
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_until">
- <TT>--until={#|[+|-]mm:ss.ss}</TT>
- </TD>
- <TD>
- Stop at the given sample number for each input file. This works for both encoding and decoding, but not testing. The given sample number is not included in the decoded output. The alternative form <TT>mm:ss.ss</TT> can be used to specify minutes, seconds, and fractions of a second. If a <TT>+</TT> sign is at the beginning, the <TT>--until</TT> point is relative to the <TT>--skip</TT> point. If a <TT>-</TT> sign is at the beginning, the <TT>--until</TT> point is relative to end of the audio.<P>
- Examples:<P>
- <TT>--until=123</TT> : decode only the first 123 samples of the input (samples 0-122, stopping at 123)<P>
- <TT>--until=1:23.45</TT> : decode only the first 1 minute and 23.45 seconds of the input<P>
- <TT>--skip=1:00 --until=+1:23.45</TT> : decode 1:00.00 to 2:23.45<P>
- <TT>--until=-1:23.45</TT> : decode everything except the last 1 minute and 23.45 seconds<P>
- <TT>--until=-0:00</TT> : decode until the end of the input (the same as not specifying <TT>--until</TT>)
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_ogg">
- <TT>--ogg</TT>
- </TD>
- <TD>
- When encoding, generate Ogg FLAC output instead of native FLAC. Ogg FLAC streams are FLAC streams wrapped in an Ogg transport layer. The resulting file should have an '.ogg' extension and will still be decodable by <TT><B>flac</B></TT>.<P>
- When decoding, force the input to be treated as Ogg FLAC. This is useful when piping input from stdin or when the filename does not end in '.ogg'.<P>
- <B>NOTE:</B> Ogg FLAC files created prior to <B><TT>flac</TT></B> 1.1.1 used an ad-hoc mapping and do not support seeking. They should be decoded and re-encoded with <B><TT>flac</TT></B> 1.1.1 or later.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_serial_number">
- <TT>--serial-number=#</TT>
- </TD>
- <TD>
- When used with --ogg, specifies the serial number to use for the first Ogg FLAC stream, which is then incremented for each additional stream. When encoding and no serial number is given, <TT><B>flac</B></TT> uses a random number for the first stream, then increments it for each additional stream. When decoding and no number is given, <TT><B>flac</B></TT> uses the serial number of the first page.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- <P>
- <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="analysis_options"><FONT SIZE="+1"><B>Analysis Options</B></FONT></A>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_residual_text">
- <TT>--residual-text</TT>
- </TD>
- <TD>
- Includes the residual signal in the analysis file. This will make the file <B>very</B> big, much larger than even the decoded file.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_residual_gnuplot">
- <TT>--residual-gnuplot</TT>
- </TD>
- <TD>
- Generates a gnuplot file for every subframe; each file will contain the residual distribution of the subframe. This will create a <B>lot</B> of files.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- <P>
- <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="decoding_options"><FONT SIZE="+1"><B>Decoding Options</B></FONT></A>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_cue">
- <TT>--cue=[#.#][-[#.#]]</TT>
- </TD>
- <TD>
- Set the beginning and ending cuepoints to decode. The optional first <TT>#.#</TT> is the track and index point at which decoding will start; the default is the beginning of the stream. The optional second <TT>#.#</TT> is the track and index point at which decoding will end; the default is the end of the stream. If the cuepoint does not exist, the closest one before it (for the start point) or after it (for the end point) will be used. If those don't exist, the start of the stream (for the start point) or end of the stream (for the end point) will be used. The cuepoints are merely translated into sample numbers then used as --skip and --until.<P>
- Examples:<P>
- <TT>--cue=-</TT> : decode the entire stream<P>
- <TT>--cue=4.1</TT> : decode from track 4, index 1 to the end of the stream<P>
- <TT>--cue=4.1-</TT> : decode from track 4, index 1 to the end of the stream<P>
- <TT>--cue=-4.1</TT> : decode from the beginning of the stream up to, but not including, track 4, index 1<P>
- <TT>--cue=2.1-2.4</TT> : decode from track 2, index 1, up to, but not including, track 2, index 4<P>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_decode_through_errors">
- <TT>-F</TT>,<BR><TT>--decode-through-errors</TT>
- </TD>
- <TD>
- By default <B><TT>flac</TT></B> stops decoding with an error and removes the partially decoded file if it encounters a bitstream error. With <TT>-F</TT>, errors are still printed but <B><TT>flac</TT></B> will continue decoding to completion. Note that errors may cause the decoded audio to be missing some samples or have silent sections.
- </TD>
- </TR>
- <!-- @@@ undocumented, also not in the man page yet
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_apply_replaygain_which_is_not_lossless">
- <TT>--apply-replaygain-which-is-not-lossless[=&lt;specification&gt;]</TT>
- </TD>
- <TD>
- Applies ReplayGain values while decoding.
- <P>
- <B>WARNING: THIS IS NOT LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS OPTION</B>.
- <P>
- The equals sign and &lt;specification&gt; is optional. If omitted, the default is <TT>0aLn1</TT>.
- <P>
- The <TT>&lt;specification&gt;</TT> is a shorthand notation for describing how to apply ReplayGain. All components are optional but order is important. '<TT>[]</TT>' means 'optional'. '<TT>|</TT>' means 'or'. '<TT>{}</TT>' means required. The format is:<P>
- &nbsp;&nbsp;<TT>[&lt;preamp&gt;][a|t][l|L][n{0|1|2|3}]</TT>
- <P>
- <UL>
- <LI>
- <TT>&lt;preamp&gt;</TT><P>
- &nbsp;&nbsp;A floating point number in dB. This is added to the existing gain value.
- </LI>
- <LI>
- <TT>a|t</TT><P>
- &nbsp;&nbsp;Specify '<TT>a</TT>' to use the album gain, or '<TT>t</TT>' to use the track gain
- </LI>
- <LI>
- <TT>l|L</TT><P>
- &nbsp;&nbsp;Specify '<TT>l</TT>' to peak-limit the output, so that the ReplayGain peak value is full-scale. Specify '<TT>L</TT>' to use a 6dB hard limiter that kicks in when the signal approaches full-scale.
- </LI>
- <LI>
- <TT>n{0|1|2|3}</TT><P>
- &nbsp;&nbsp;Specify the amount of noise shaping. ReplayGain synthesis happens in floating point; the result is dithered before converting back to integer. This quantization adds noise. Noise shaping tries to move the noise where you won't hear it as much. <TT>0</TT> means no noise shaping, <TT>1</TT> means 'low', <TT>2</TT> means 'medium', <TT>3</TT> means 'high'.
- </LI>
- </UL>
- <P>
- For example, the default of <TT>0aLn1</TT> means 0dB preamp, use album gain, 6dB hard limit, low noise shaping.
- <P>
- <TT>--apply-replaygain-which-is-not-lossless=3</TT> means 3dB preamp, use album gain, no limiting, no noise shaping.
- <P>
- <B><TT>flac</B></TT> uses the ReplayGain tags for the calculation. If a stream does not have the required tags or they can't be parsed, decoding will continue with a warning, and no ReplayGain is applied to that stream.
- </TD>
- </TR>
- -->
- </TABLE>
- </TD></TR></TABLE>
- </P>
- <P>
- <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="encoding_options"><FONT SIZE="+1"><B>Encoding Options</B></FONT></A>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_verify">
- <TT>-V</TT>, <TT>--verify</TT>
- </TD>
- <TD>
- Verify the encoding process. With this option, <B><TT>flac</TT></B> will create a parallel decoder that decodes the output of the encoder and compares the result against the original. It will abort immediately with an error if a mismatch occurs. <B><TT>-V</TT></B> increases the total encoding time but is guaranteed to catch any unforseen bug in the encoding process.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_lax">
- <TT>--lax</TT>
- </TD>
- <TD>
- Allow encoder to generate non-<A HREF="format.html#subset">Subset</A> files. The resulting FLAC file may not be streamable or might have trouble being played in all players (especially hardware devices), so you should only use this option in combination with custom encoding options meant for archival.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_replay_gain">
- <TT>--replay-gain</TT>
- </TD>
- <TD>
- Calculate <A HREF="http://www.replaygain.org/">ReplayGain</A> values and store in FLAC tags, similar to <A HREF="http://packages.qa.debian.org/v/vorbisgain.html">VorbisGain</A>. Title gains/peaks will be computed for each input file, and an album gain/peak will be computed for all files. All input files must have the same resolution, sample rate, and number of channels. Only mono and stereo files are allowed, and the sample rate must be one of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48 kHz. Also note that this option may leave a few extra bytes in a PADDING block as the exact size of the tags is not known until all files are processed.<P>
- Note that this option cannot be used when encoding to standard output (stdout).
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_cuesheet">
- <TT>--cuesheet=FILENAME</TT>
- </TD>
- <TD>
- Import the given cuesheet file and store it in a <A HREF="format.html#def_CUESHEET">CUESHEET</A> metadata block. This option may only be used when encoding a single file. A seekpoint will be added for each index point in the cuesheet to the <A HREF="format.html#def_SEEKTABLE">SEEKTABLE</A> unless <TT>--no-cued-seekpoints</TT> is specified.<P>
- The cuesheet file must be of the sort written by <A HREF="http://www.goldenhawk.com/cdrwin.htm">CDRwin</A>, <A HREF="http://www.dcsoft.com/prod03.htm">CDRcue</A>, <A HREF="http://www.exactaudiocopy.de/">EAC</A>, et al.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_sector_align">
- <TT>--sector-align</TT>
- </TD>
- <TD>
- Align encoding of multiple CD format WAVE files on sector boundaries. This option is only allowed when encoding WAVE files, all of which have a 44.1kHz sample rate and 2 channels. With <TT>--sector-align</TT>, the encoder will align the resulting .flac streams so that their lengths are even multiples of a CD sector (1/75th of a second, or 588 samples). It does this by carrying over any partial sector at the end of each WAVE file to the next stream. The last stream will be padded to alignment with zeroes.<P>
- This option will have no effect if the files are already aligned (as is the normally the case with WAVE files ripped from a CD). <TT><B>flac</B></TT> can only align a set of files given in one invocation of <TT><B>flac</B></TT>.<P>
- <B>WARNING:</B> The ordering of files is important! If you give a command like '<TT>flac --sector-align *.wav</TT>' the shell may not expand the wildcard to the order you expect. To be safe you should '<TT>echo *.wav</TT>' first to confirm the order, or be explicit like '<TT>flac --sector-align 8.wav 9.wav 10.wav</TT>'.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_seekpoint">
- <TT>-S {#|X|#x|#s}</TT>,<BR><TT>--seekpoint={#|X|#x|#s}</TT>
- </TD>
- <TD>
- Include a point or points in a SEEKTABLE:<BR>
- <UL>
- <LI>
- <TT>#&nbsp;</TT> : a specific sample number for a seek point
- </LI>
- <LI>
- <TT>X&nbsp;</TT> : a placeholder point (always goes at the end of the SEEKTABLE)
- </LI>
- <LI>
- <TT>#x</TT> : # evenly spaced seekpoints, the first being at sample 0
- </LI>
- <LI>
- <TT>#s</TT> : a seekpoint every # seconds; # does not have to be a whole number, it can be, for example, <TT>9.5</TT>, meaning a seekpoint every 9.5 seconds
- </LI>
- </UL>
- You may use many -S options; the resulting SEEKTABLE will be the unique-ified union of all such values.<BR>
- With no -S options, flac defaults to '-S 10s'. Use --no-seektable for no SEEKTABLE.<BR>
- <B>NOTE:</B> -S #x and -S #s will not work if the encoder can't determine the input size before starting.<BR>
- <B>NOTE:</B> if you use -S # and # is &gt;= samples in the input, there will be either no seek point entered (if the input size is determinable before encoding starts) or a placeholder point (if input size is not determinable).<BR>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_padding">
- <TT>-P #</TT>, <TT>--padding=#</TT>
- </TD>
- <TD>
- Tell the encoder to write a <TT>PADDING</TT> metadata block of the given length (in bytes) after the <TT>STREAMINFO</TT> block. This is useful if you plan to tag the file later with an <TT>APPLICATION</TT> block; instead of having to rewrite the entire file later just to insert your block, you can write directly over the <TT>PADDING</TT> block. Note that the total length of the <TT>PADDING</TT> block will be 4 bytes longer than the length given because of the 4 metadata block header bytes. You can force no <TT>PADDING</TT> block at all to be written with <TT>--no-padding</TT>. The encoder writes a PADDING block of 4096 bytes by default.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_tag">
- <TT>-T FIELD=VALUE</TT>, <TT>--tag=FIELD=VALUE</TT>
- </TD>
- <TD>
- Add a FLAC tag. The comment must adhere to the Vorbis comment spec (which FLAC tags implement), i.e. the FIELD must contain only legal characters, terminated by an 'equals' sign. Make sure to quote the comment if necessary. This option may appear more than once to add several comments. NOTE: all tags will be added to all encoded files.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_blocksize">
- <TT>-b #</TT>, <TT>--blocksize=#</TT>
- </TD>
- <TD>
- Specify the block size in samples. The default is 1152 for -l 0, otherwise 4608. Subset streams must use one of 192/576/1152/2304/4608/256/512/1024/2048/4096/8192/16384/32768. The reference encoder uses the same block size for the entire stream.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_mid_side">
- <TT>-m</TT>, <TT>--mid-side</TT>
- </TD>
- <TD>
- Enable mid-side coding (only for stereo streams). Tends to increase compression by a few percent on average. For each block both the stereo pair and mid-side versions of the block will be encoded, and smallest resulting frame will be stored.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_adaptive_mid_side">
- <TT>-M</TT>, <TT>--adaptive-mid-side</TT>
- </TD>
- <TD>
- Enable adaptive mid-side coding (only for stereo streams). Like <TT>-m</TT> but the encoder adaptively switches between independent and mid-side coding, which is faster but yields less compression than <TT>-m</TT> (which does an exhaustive search).
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_levels">
- <TT>-0 .. -8</TT>
- </TD>
- <TD>
- Fastest compression .. highest compression. The default is <TT>-5</TT>.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_level_0">
- <TT>-0</TT>, <TT>--compression-level-0</TT>
- </TD>
- <TD>
- Synonymous with <TT>-l 0 -b 1152 -r 2,2</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_level_1">
- <TT>-1</TT>, <TT>--compression-level-1</TT>
- </TD>
- <TD>
- Synonymous with <TT>-l 0 -b 1152 -M -r 2,2</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_level_2">
- <TT>-2</TT>, <TT>--compression-level-2</TT>
- </TD>
- <TD>
- Synonymous with <TT>-l 0 -b 1152 -m -r 3</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_level_3">
- <TT>-3</TT>, <TT>--compression-level-3</TT>
- </TD>
- <TD>
- Synonymous with <TT>-l 6 -b 4608 -r 3,3</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_level_4">
- <TT>-4</TT>, <TT>--compression-level-4</TT>
- </TD>
- <TD>
- Synonymous with <TT>-l 8 -b 4608 -M -r 3,3</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_level_5">
- <TT>-5</TT>, <TT>--compression-level-5</TT>
- </TD>
- <TD>
- Synonymous with <TT>-l 8 -b 4608 -m -r 3,3</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_level_6">
- <TT>-6</TT>, <TT>--compression-level-6</TT>
- </TD>
- <TD>
- Synonymous with <TT>-l 8 -b 4608 -m -r 4</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_level_7">
- <TT>-7</TT>, <TT>--compression-level-7</TT>
- </TD>
- <TD>
- Synonymous with <TT>-l 8 -b 4608 -m -e -r 6</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_level_8">
- <TT>-8</TT>, <TT>--compression-level-8</TT>
- </TD>
- <TD>
- Synonymous with <TT>-l 12 -b 4608 -m -e -r 6</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_fast">
- <TT>--fast</TT>
- </TD>
- <TD>
- Fastest compression. Currently synonymous with <TT>-0</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_best">
- <TT>--best</TT>
- </TD>
- <TD>
- Highest compression. Currently synonymous with <TT>-8</TT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_exhaustive_model_search">
- <TT>-e</TT>,<BR><TT>--exhaustive-model-search</TT>
- </TD>
- <TD>
- Exhaustive model search (expensive!). Normally the encoder estimates the best model to use and encodes once based on the estimate. With an exhaustive model search, the encoder will generate subframes for every order and use the smallest. If the max LPC order is high this can significantly increase the encode time but can shave off another 0.5%.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_max_lpc_order">
- <TT>-l #</TT>, <TT>--max-lpc-order=#</TT>
- </TD>
- <TD>
- Specifies the maximum LPC order. This number must be &lt;= 32. If 0, the encoder will not attempt generic linear prediction, and use only fixed predictors. Using fixed predictors is faster but usually results in files being 5-10% larger.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_qlp_coeff_precision">
- <TT>-q #</TT>,<BR><TT>--qlp-coeff-precision=#</TT>
- </TD>
- <TD>
- Specifies the precision of the quantized LP coefficients, in bits. The default is <B><TT>-q 0</TT></B>, which means let the encoder decide based on the signal. Unless you really know your input file it's best to leave this up to the encoder.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_qlp_coeff_precision_search">
- <TT>-p</TT>,<BR><TT>--qlp-coeff-precision-search</TT>
- </TD>
- <TD>
- Do exhaustive LP coefficient quantization optimization. This option overrides any <B><TT>-q</TT></B> option. It is expensive and typically will only improve the compression a tiny fraction of a percent. <B><TT>-q</TT></B> has no effect when <B><TT>-l 0</TT></B> is used.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_rice_partition_order">
- <TT>-r [#,]#</TT>,<BR><TT>--rice-partition-order=[#,]#</TT>
- </TD>
- <TD>
- Set the [min,]max residual partition order. The min value defaults to 0 if unspecified.<P>
- By default the encoder uses a single Rice parameter for the subframe's entire residual. With this option, the residual is iteratively partitioned into 2^min# .. 2^max# pieces, each with its own Rice parameter. Higher values of max# yield diminishing returns. The most bang for the buck is usually with <B><TT>-r 2,2</TT></B> (more for higher block sizes). This usually shaves off about 1.5%. The technique tends to peak out about when blocksize/(2^n)=128. Use <B><TT>-r 0,16</TT></B> to force the highest degree of optimization.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- <P>
- <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="format_options"><FONT SIZE="+1"><B>Format Options</B></FONT></A>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_endian">
- <TT>--endian={big|little}</TT>
- </TD>
- <TD>
- Specify big-endian or little-endian byte order in the raw file.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_channels">
- <TT>--channels=#</TT>
- </TD>
- <TD>
- Specify the number of channels in the raw file.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_bps">
- <TT>--bps=#</TT>
- </TD>
- <TD>
- Specify the number of bits per sample in the raw file.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_sample_rate">
- <TT>--sample-rate=#</TT>
- </TD>
- <TD>
- Specify the sample rate of the raw file.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_sign">
- <TT>--sign={signed|unsigned}</TT>
- </TD>
- <TD>
- Specify that the samples in the raw file are signed or unsigned (the default is signed).
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_input_size">
- <TT>--input-size=#</TT>
- </TD>
- <TD>
- Specify the size of the raw input in bytes. If you are encoding raw samples from stdin, you must set this option in order to be able to use --skip, --until, --cue-sheet, or other options that need to know the size of the input beforehand. If the size given is greater than what is found in the input stream, the encoder will complain about an unexpected end-of-file. If the size given is less, samples will be truncated.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_force_aiff_format">
- <TT>--force-aiff-format</TT>
- </TD>
- <TD>
- Force the decoder to output AIFF format. This option is not needed if the output filename (as set by -o) ends with .aiff. Also, this option has no effect when encoding since input AIFF is auto-detected.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="flac_options_force_raw_format">
- <TT>--force-raw-format</TT>
- </TD>
- <TD>
- Treat the input file (or output file if decoding) as a raw file, regardless of the extension.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- <P>
- <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="negative_options"><FONT SIZE="+1"><B>Negative Options</B></FONT></A>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <TT>--no-adaptive-mid-side</TT><BR>
- <TT>--no-decode-through-errors</TT><BR>
- <TT>--no-delete-input-file</TT><BR>
- <TT>--no-escape-coding</TT><BR>
- <TT>--no-exhaustive-model-search</TT><BR>
- <TT>--no-lax</TT><BR>
- <TT>--no-mid-side</TT><BR>
- <TT>--no-ogg</TT><BR>
- <TT>--no-padding</TT><BR>
- <TT>--no-qlp-coeff-precision-search</TT><BR>
- <TT>--no-residual-gnuplot</TT><BR>
- <TT>--no-residual-text</TT><BR>
- <TT>--no-sector-align</TT><BR>
- <TT>--no-seektable</TT><BR>
- <TT>--no-silent</TT><BR>
- <TT>--no-verify</TT>
- </TD>
- <TD>
- can all be used to turn off a particular option.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
+ <ul>
+ <li>
+ flac [options] -o outputfile
+ </li>
+ <li>
+ flac -d [options] -o outputfile
+ </li>
+ </ul>
+ which are better than:
+ <ul>
+ <li>
+ flac [options] &gt; outputfile
+ </li>
+ <li>
+ flac -d [options] &gt; outputfile
+ </li>
+ </ul>
+ since the former allows flac to seek backwards to write the <span class="code">STREAMINFO</span> or RIFF WAVE header contents when necessary.
+ <br /><br />
+ Also, you can force output data to go to stdout using <span class="argument">-c</span>.
+ <br /><br />
+ To encode or decode files that start with a dash, use <span class="argument">--</span> to signal the end of options, to keep the filenames themselves from being treated as options:
+ <ul>
+ <li>
+ <span class="code">flac -V -- -01-filename.wav</span>
+ </li>
+ </ul>
+ The encoding options affect the compression ratio and encoding speed. The format options are used to tell <span class="commandname">flac</span> the arrangement of samples if the input file (or output file when decoding) is a raw file. If it is a RIFF WAVE or AIFF file the format options are not needed since they are read from the AIFF/WAVE header.
+ <br /><br />
+ In test mode, <span class="commandname">flac</span> acts just like in decode mode, except no output file is written. Both decode and test modes detect errors in the stream, but they also detect when the MD5 signature of the decoded audio does not match the stored MD5 signature, even when the bitstream is valid.
+ <br /><br />
+
+ <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="general_options"><font size="+1"><b>General Options</b></font></a>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_version" />
+ <span class="argument">-v</span>, <span class="argument">--version</span>
+ </td>
+ <td>
+ Show the <span class="commandname">flac</span> version number.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_help" />
+ <span class="argument">-h</span>, <span class="argument">--help</span>
+ </td>
+ <td>
+ Show basic usage and a list of all options. Running <span class="commandname">flac</span> without arguments shows the short help screen by default.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_explain" />
+ <span class="argument">-H</span>, <span class="argument">--explain</span>
+ </td>
+ <td>
+ Show detailed explanation of usage and all options. Running <span class="commandname">flac</span> without arguments shows the short help screen by default.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_decode" />
+ <span class="argument">-d</span>, <span class="argument">--decode</span>
+ </td>
+ <td>
+ Decode <span class="commandname">flac</span> encodes by <span class="commandname">flac</span> will exit with an exit code of <span class="argument">1</span> (and print a message, even in silent mode) if there were any errors during decoding, including when the MD5 checksum does not match the decoded output. Otherwise the exit code will be <span class="argument">0</span>.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_test" />
+ <span class="argument">-t</span>, <span class="argument">--test</span>
+ </td>
+ <td>
+ Test (same as <span class="argument">-d</span> except no decoded file is written). The exit codes are the same as in decode mode.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_analyze" />
+ <span class="argument">-a</span>, <span class="argument">--analyze</span>
+ </td>
+ <td>
+ Analyze (same as <span class="argument">-d</span> except an analysis file is written). The exit codes are the same as in decode mode. This option is mainly for developers; the output will be a text file that has data about each frame and subframe.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_stdout" />
+ <span class="argument">-c</span>, <span class="argument">--stdout</span>
+ </td>
+ <td>
+ Write output to stdout.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_silent" />
+ <span class="argument">-s</span>, <span class="argument">--silent</span>
+ </td>
+ <td>
+ Silent: do not show encoding/decoding statistics.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_totally_silent" />
+ <span class="argument">--totally-silent</span>
+ </td>
+ <td>
+ Do not print anything of any kind, including warnings or errors. The exit code will be the only way to determine successful completion.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_force" />
+ <span class="argument">-f</span>, <span class="argument">--force</span>
+ </td>
+ <td>
+ Force overwriting of output files. By default, <span class="commandname">flac</span> warns that the output file already exists and continues to the next file.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_output_name" />
+ <span class="argument">-o filename</span>,<br /><span class="argument">--output-name=filename</span>
+ </td>
+ <td>
+ Force the output file name (usually <span class="commandname">flac</span> just changes the extension). May only be used when encoding a single file. May not be used in conjunction with <a href="#flac_options_output_prefix"><span class="argument">--output-prefix</span></a>.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_output_prefix" />
+ <span class="argument">--output-prefix=string</span>
+ </td>
+ <td>
+ Prefix each output file name with the given string. This can be useful for encoding/decoding files to a different directory. Make sure if your string is a path name that it ends with a trailing '<span class="argument">/</span>' slash.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_delete_input_file" />
+ <span class="argument">--delete-input-file</span>
+ </td>
+ <td>
+ Automatically delete the input file after a successful encode or decode. If there was an error (including a verify error) the input file is left intact.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_skip" />
+ <span class="argument">--skip={#|mm:ss.ss}</span>
+ </td>
+ <td>
+ Skip over the first # of samples of the input. This works for both encoding and decoding, but not testing. The alternative form <span class="argument">mm:ss.ss</span> can be used to specify minutes, seconds, and fractions of a second.<br /><br />
+ Examples:<br /><br />
+ <span class="argument">--skip=123</span> : skip the first 123 samples of the input<br />
+ <span class="argument">--skip=1:23.45</span> : skip the first 1 minute and 23.45 seconds of the input
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_until" />
+ <span class="argument">--until={#|[+|-]mm:ss.ss}</span>
+ </td>
+ <td>
+ Stop at the given sample number for each input file. This works for both encoding and decoding, but not testing. The given sample number is not included in the decoded output. The alternative form <span class="argument">mm:ss.ss</span> can be used to specify minutes, seconds, and fractions of a second. If a <span class="argument">+</span> sign is at the beginning, the <span class="argument">--until</span> point is relative to the <span class="argument">--skip</span> point. If a <span class="argument">-</span> sign is at the beginning, the <span class="argument">--until</span> point is relative to end of the audio.<br /><br />
+ Examples:<br /><br />
+ <span class="argument">--until=123</span> : decode only the first 123 samples of the input (samples 0-122, stopping at 123)<br />
+ <span class="argument">--until=1:23.45</span> : decode only the first 1 minute and 23.45 seconds of the input<br />
+ <span class="argument">--skip=1:00 --until=+1:23.45</span> : decode 1:00.00 to 2:23.45<br />
+ <span class="argument">--until=-1:23.45</span> : decode everything except the last 1 minute and 23.45 seconds<br />
+ <span class="argument">--until=-0:00</span> : decode until the end of the input (the same as not specifying <span class="argument">--until</span>)
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_ogg" />
+ <span class="argument">--ogg</span>
+ </td>
+ <td>
+ When encoding, generate Ogg FLAC output instead of native FLAC. Ogg FLAC streams are FLAC streams wrapped in an Ogg transport layer. The resulting file should have an '.ogg' extension and will still be decodable by <span class="commandname">flac</span>.<br /><br />
+ When decoding, force the input to be treated as Ogg FLAC. This is useful when piping input from stdin or when the filename does not end in '.ogg'.<br /><br />
+ <b>NOTE:</b> Ogg FLAC files created prior to <span class="commandname">flac</span> 1.1.1 used an ad-hoc mapping and do not support seeking. They should be decoded and re-encoded with <span class="commandname">flac</span> 1.1.1 or later.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_serial_number" />
+ <span class="argument">--serial-number=#</span>
+ </td>
+ <td>
+ When used with --ogg, specifies the serial number to use for the first Ogg FLAC stream, which is then incremented for each additional stream. When encoding and no serial number is given, <span class="commandname">flac</span> uses a random number for the first stream, then increments it for each additional stream. When decoding and no number is given, <span class="commandname">flac</span> uses the serial number of the first page.
+ </td>
+ </tr>
+ </table>
+ </td></tr></table>
+
+ <br />
+
+ <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="analysis_options"><font size="+1"><b>Analysis Options</b></font></a>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_residual_text" />
+ <span class="argument">--residual-text</span>
+ </td>
+ <td>
+ Includes the residual signal in the analysis file. This will make the file <b>very</b> big, much larger than even the decoded file.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_residual_gnuplot" />
+ <span class="argument">--residual-gnuplot</span>
+ </td>
+ <td>
+ Generates a gnuplot file for every subframe; each file will contain the residual distribution of the subframe. This will create a <b>lot</b> of files.
+ </td>
+ </tr>
+ </table>
+ </td></tr></table>
+
+ <br />
+
+ <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="decoding_options"><font size="+1"><b>Decoding Options</b></font></a>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_cue" />
+ <span class="argument">--cue=[#.#][-[#.#]]</span>
+ </td>
+ <td>
+ Set the beginning and ending cuepoints to decode. The optional first <span class="argument">#.#</span> is the track and index point at which decoding will start; the default is the beginning of the stream. The optional second <span class="argument">#.#</span> is the track and index point at which decoding will end; the default is the end of the stream. If the cuepoint does not exist, the closest one before it (for the start point) or after it (for the end point) will be used. If those don't exist, the start of the stream (for the start point) or end of the stream (for the end point) will be used. The cuepoints are merely translated into sample numbers then used as --skip and --until.<br /><br />
+ Examples:<br /><br />
+ <span class="argument">--cue=-</span> : decode the entire stream<br />
+ <span class="argument">--cue=4.1</span> : decode from track 4, index 1 to the end of the stream<br />
+ <span class="argument">--cue=4.1-</span> : decode from track 4, index 1 to the end of the stream<br />
+ <span class="argument">--cue=-4.1</span> : decode from the beginning of the stream up to, but not including, track 4, index 1<br />
+ <span class="argument">--cue=2.1-2.4</span> : decode from track 2, index 1, up to, but not including, track 2, index 4
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_decode_through_errors" />
+ <span class="argument">-F</span>,<br /><span class="argument">--decode-through-errors</span>
+ </td>
+ <td>
+ By default <span class="commandname">flac</span> stops decoding with an error and removes the partially decoded file if it encounters a bitstream error. With <span class="argument">-F</span>, errors are still printed but <span class="commandname">flac</span> will continue decoding to completion. Note that errors may cause the decoded audio to be missing some samples or have silent sections.
+ </td>
+ </tr>
+ <!-- @@@ undocumented, also not in the man page yet
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_apply_replaygain_which_is_not_lossless" />
+ <span class="argument">-@@@-apply-replaygain-which-is-not-lossless[=&lt;specification&gt;]</span>
+ </td>
+ <td>
+ Applies ReplayGain values while decoding.
+ <br /><br />
+ <b>WARNING: THIS IS NOT LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS OPTION</b>.
+ <br /><br />
+ The equals sign and &lt;specification&gt; is optional. If omitted, the default is <span class="argument">0aLn1</span>.
+ <br /><br />
+ The <span class="argument">&lt;specification&gt;</span> is a shorthand notation for describing how to apply ReplayGain. All components are optional but order is important. '<span class="argument">[]</span>' means 'optional'. '<span class="argument">|</span>' means 'or'. '<span class="argument">{}</span>' means required. The format is:<br /><br />
+ &nbsp;&nbsp;<span class="argument">[&lt;preamp&gt;][a|t][l|L][n{0|1|2|3}]</span>
+ <ul>
+ <li>
+ <span class="argument">&lt;preamp&gt;</span><br />
+ &nbsp;&nbsp;A floating point number in dB. This is added to the existing gain value.
+ </li>
+ <li>
+ <span class="argument">a|t</span><br />
+ &nbsp;&nbsp;Specify '<span class="argument">a</span>' to use the album gain, or '<span class="argument">t</span>' to use the track gain
+ </li>
+ <li>
+ <span class="argument">l|L</span><br />
+ &nbsp;&nbsp;Specify '<span class="argument">l</span>' to peak-limit the output, so that the ReplayGain peak value is full-scale. Specify '<span class="argument">L</span>' to use a 6dB hard limiter that kicks in when the signal approaches full-scale.
+ </li>
+ <li>
+ <span class="argument">n{0|1|2|3}</span><br />
+ &nbsp;&nbsp;Specify the amount of noise shaping. ReplayGain synthesis happens in floating point; the result is dithered before converting back to integer. This quantization adds noise. Noise shaping tries to move the noise where you won't hear it as much. <span class="argument">0</span> means no noise shaping, <span class="argument">1</span> means 'low', <span class="argument">2</span> means 'medium', <span class="argument">3</span> means 'high'.
+ </li>
+ </ul>
+ For example, the default of <span class="argument">0aLn1</span> means 0dB preamp, use album gain, 6dB hard limit, low noise shaping.
+ <br /><br />
+ <span class="argument">-@@@-apply-replaygain-which-is-not-lossless=3</span> means 3dB preamp, use album gain, no limiting, no noise shaping.
+ <br /><br />
+ <span class="commandname">flac</span> uses the ReplayGain tags for the calculation. If a stream does not have the required tags or they can't be parsed, decoding will continue with a warning, and no ReplayGain is applied to that stream.
+ </td>
+ </tr>
+ -->
+ </table>
+ </td></tr></table>
+
+ <br />
+
+ <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="encoding_options"><font size="+1"><b>Encoding Options</b></font></a>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_verify" />
+ <span class="argument">-V</span>, <span class="argument">--verify</span>
+ </td>
+ <td>
+ Verify the encoding process. With this option, <span class="commandname">flac</span> will create a parallel decoder that decodes the output of the encoder and compares the result against the original. It will abort immediately with an error if a mismatch occurs. <span class="argument">-V</span> increases the total encoding time but is guaranteed to catch any unforseen bug in the encoding process.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_lax" />
+ <span class="argument">--lax</span>
+ </td>
+ <td>
+ Allow encoder to generate non-<a href="format.html#subset">Subset</a> files. The resulting FLAC file may not be streamable or might have trouble being played in all players (especially hardware devices), so you should only use this option in combination with custom encoding options meant for archival.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_replay_gain" />
+ <span class="argument">--replay-gain</span>
+ </td>
+ <td>
+ Calculate <a href="http://www.replaygain.org/">ReplayGain</a> values and store in FLAC tags, similar to <a href="http://packages.qa.debian.org/v/vorbisgain.html">VorbisGain</a>. Title gains/peaks will be computed for each input file, and an album gain/peak will be computed for all files. All input files must have the same resolution, sample rate, and number of channels. Only mono and stereo files are allowed, and the sample rate must be one of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48 kHz. Also note that this option may leave a few extra bytes in a <span class="code">PADDING</span> block as the exact size of the tags is not known until all files are processed.<br /><br />
+ Note that this option cannot be used when encoding to standard output (stdout).
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_cuesheet" />
+ <span class="argument">--cuesheet=FILENAME</span>
+ </td>
+ <td>
+ Import the given cuesheet file and store it in a <a href="format.html#def_CUESHEET"><span class="code">CUESHEET</span></a> metadata block. This option may only be used when encoding a single file. A seekpoint will be added for each index point in the cuesheet to the <a href="format.html#def_SEEKTABLE"><span class="code">SEEKTABLE</span></a> unless <span class="argument">--no-cued-seekpoints</span> is specified.<br /><br />
+ The cuesheet file must be of the sort written by <a href="http://www.goldenhawk.com/cdrwin.htm">CDRwin</a>, <a href="http://www.dcsoft.com/prod03.htm">CDRcue</a>, <a href="http://www.exactaudiocopy.de/">EAC</a>, et al.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_sector_align" />
+ <span class="argument">--sector-align</span>
+ </td>
+ <td>
+ Align encoding of multiple CD format WAVE files on sector boundaries. This option is only allowed when encoding WAVE files, all of which have a 44.1kHz sample rate and 2 channels. With <span class="argument">--sector-align</span>, the encoder will align the resulting .flac streams so that their lengths are even multiples of a CD sector (1/75th of a second, or 588 samples). It does this by carrying over any partial sector at the end of each WAVE file to the next stream. The last stream will be padded to alignment with zeroes.<br /><br />
+ This option will have no effect if the files are already aligned (as is the normally the case with WAVE files ripped from a CD). <span class="commandname">flac</span> can only align a set of files given in one invocation of <span class="commandname">flac</span>.<br /><br />
+ <b>WARNING:</b> The ordering of files is important! If you give a command like '<span class="code">flac --sector-align *.wav</span>' the shell may not expand the wildcard to the order you expect. To be safe you should '<span class="code">echo *.wav</span>' first to confirm the order, or be explicit like '<span class="code">flac --sector-align 8.wav 9.wav 10.wav</span>'.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_seekpoint" />
+ <span class="argument">-S {#|X|#x|#s}</span>,<br /><span class="argument">--seekpoint={#|X|#x|#s}</span>
+ </td>
+ <td>
+ Include a point or points in a <span class="code">SEEKTABLE</span>:<br />
+ <ul>
+ <li>
+ <span class="argument">#&nbsp;</span> : a specific sample number for a seek point
+ </li>
+ <li>
+ <span class="argument">X&nbsp;</span> : a placeholder point (always goes at the end of the <span class="code">SEEKTABLE</span>)
+ </li>
+ <li>
+ <span class="argument">#x</span> : # evenly spaced seekpoints, the first being at sample 0
+ </li>
+ <li>
+ <span class="argument">#s</span> : a seekpoint every # seconds; # does not have to be a whole number, it can be, for example, <span class="argument">9.5</span>, meaning a seekpoint every 9.5 seconds
+ </li>
+ </ul>
+ You may use many -S options; the resulting <span class="code">SEEKTABLE</span> will be the unique-ified union of all such values.<br />
+ With no -S options, flac defaults to '-S 10s'. Use --no-seektable for no <span class="code">SEEKTABLE</span>.<br />
+ <b>NOTE:</b> -S #x and -S #s will not work if the encoder can't determine the input size before starting.<br />
+ <b>NOTE:</b> if you use -S # and # is &gt;= samples in the input, there will be either no seek point entered (if the input size is determinable before encoding starts) or a placeholder point (if input size is not determinable).<br />
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_padding" />
+ <span class="argument">-P #</span>, <span class="argument">--padding=#</span>
+ </td>
+ <td>
+ Tell the encoder to write a <span class="code">PADDING</span> metadata block of the given length (in bytes) after the <span class="code">STREAMINFO</span> block. This is useful if you plan to tag the file later with an <span class="code">APPLICATION</span> block; instead of having to rewrite the entire file later just to insert your block, you can write directly over the <span class="code">PADDING</span> block. Note that the total length of the <span class="code">PADDING</span> block will be 4 bytes longer than the length given because of the 4 metadata block header bytes. You can force no <span class="code">PADDING</span> block at all to be written with <span class="argument">--no-padding</span>. The encoder writes a <span class="code">PADDING</span> block of 4096 bytes by default.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_tag" />
+ <span class="argument">-T FIELD=VALUE</span>,<br /><span class="argument">--tag=FIELD=VALUE</span>
+ </td>
+ <td>
+ Add a FLAC tag. The comment must adhere to the Vorbis comment spec (which FLAC tags implement), i.e. the FIELD must contain only legal characters, terminated by an 'equals' sign. Make sure to quote the comment if necessary. This option may appear more than once to add several comments. NOTE: all tags will be added to all encoded files.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_blocksize" />
+ <span class="argument">-b #</span>, <span class="argument">--blocksize=#</span>
+ </td>
+ <td>
+ Specify the block size in samples. The default is 1152 for -l 0, otherwise 4608. Subset streams must use one of 192/576/1152/2304/4608/256/512/1024/2048/4096/8192/16384/32768. The reference encoder uses the same block size for the entire stream.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_mid_side" />
+ <span class="argument">-m</span>, <span class="argument">--mid-side</span>
+ </td>
+ <td>
+ Enable mid-side coding (only for stereo streams). Tends to increase compression by a few percent on average. For each block both the stereo pair and mid-side versions of the block will be encoded, and smallest resulting frame will be stored.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_adaptive_mid_side" />
+ <span class="argument">-M</span>, <span class="argument">--adaptive-mid-side</span>
+ </td>
+ <td>
+ Enable adaptive mid-side coding (only for stereo streams). Like <span class="argument">-m</span> but the encoder adaptively switches between independent and mid-side coding, which is faster but yields less compression than <span class="argument">-m</span> (which does an exhaustive search).
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_levels" />
+ <span class="argument">-0 .. -8</span>
+ </td>
+ <td>
+ Fastest compression .. highest compression. The default is <span class="argument">-5</span>.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_level_0" />
+ <span class="argument">-0</span>, <span class="argument">--compression-level-0</span>
+ </td>
+ <td>
+ Synonymous with <span class="argument">-l 0 -b 1152 -r 2,2</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_level_1" />
+ <span class="argument">-1</span>, <span class="argument">--compression-level-1</span>
+ </td>
+ <td>
+ Synonymous with <span class="argument">-l 0 -b 1152 -M -r 2,2</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_level_2" />
+ <span class="argument">-2</span>, <span class="argument">--compression-level-2</span>
+ </td>
+ <td>
+ Synonymous with <span class="argument">-l 0 -b 1152 -m -r 3</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_level_3" />
+ <span class="argument">-3</span>, <span class="argument">--compression-level-3</span>
+ </td>
+ <td>
+ Synonymous with <span class="argument">-l 6 -b 4608 -r 3,3</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_level_4" />
+ <span class="argument">-4</span>, <span class="argument">--compression-level-4</span>
+ </td>
+ <td>
+ Synonymous with <span class="argument">-l 8 -b 4608 -M -r 3,3</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_level_5" />
+ <span class="argument">-5</span>, <span class="argument">--compression-level-5</span>
+ </td>
+ <td>
+ Synonymous with <span class="argument">-l 8 -b 4608 -m -r 3,3</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_level_6" />
+ <span class="argument">-6</span>, <span class="argument">--compression-level-6</span>
+ </td>
+ <td>
+ Synonymous with <span class="argument">-l 8 -b 4608 -m -r 4</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_level_7" />
+ <span class="argument">-7</span>, <span class="argument">--compression-level-7</span>
+ </td>
+ <td>
+ Synonymous with <span class="argument">-l 8 -b 4608 -m -e -r 6</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_level_8" />
+ <span class="argument">-8</span>, <span class="argument">--compression-level-8</span>
+ </td>
+ <td>
+ Synonymous with <span class="argument">-l 12 -b 4608 -m -e -r 6</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_fast" />
+ <span class="argument">--fast</span>
+ </td>
+ <td>
+ Fastest compression. Currently synonymous with <span class="argument">-0</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_best" />
+ <span class="argument">--best</span>
+ </td>
+ <td>
+ Highest compression. Currently synonymous with <span class="argument">-8</span>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_exhaustive_model_search" />
+ <span class="argument">-e</span>,<br /><span class="argument">--exhaustive-model-search</span>
+ </td>
+ <td>
+ Exhaustive model search (expensive!). Normally the encoder estimates the best model to use and encodes once based on the estimate. With an exhaustive model search, the encoder will generate subframes for every order and use the smallest. If the max LPC order is high this can significantly increase the encode time but can shave off another 0.5%.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_max_lpc_order" />
+ <span class="argument">-l #</span>, <span class="argument">--max-lpc-order=#</span>
+ </td>
+ <td>
+ Specifies the maximum LPC order. This number must be &lt;= 32. If 0, the encoder will not attempt generic linear prediction, and use only fixed predictors. Using fixed predictors is faster but usually results in files being 5-10% larger.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_qlp_coeff_precision" />
+ <span class="argument">-q #</span>,<br /><span class="argument">--qlp-coeff-precision=#</span>
+ </td>
+ <td>
+ Specifies the precision of the quantized LP coefficients, in bits. The default is <span class="argument">-q 0</span>, which means let the encoder decide based on the signal. Unless you really know your input file it's best to leave this up to the encoder.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_qlp_coeff_precision_search" />
+ <span class="argument">-p</span>,<br /><span class="argument">--qlp-coeff-precision-search</span>
+ </td>
+ <td>
+ Do exhaustive LP coefficient quantization optimization. This option overrides any <span class="argument">-q</span> option. It is expensive and typically will only improve the compression a tiny fraction of a percent. <span class="argument">-q</span> has no effect when <span class="argument">-l 0</span> is used.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_rice_partition_order" />
+ <span class="argument">-r [#,]#</span>,<br /><span class="argument">--rice-partition-order=[#,]#</span>
+ </td>
+ <td>
+ Set the [min,]max residual partition order. The min value defaults to 0 if unspecified.<br /><br />
+ By default the encoder uses a single Rice parameter for the subframe's entire residual. With this option, the residual is iteratively partitioned into 2^min# .. 2^max# pieces, each with its own Rice parameter. Higher values of max# yield diminishing returns. The most bang for the buck is usually with <span class="argument">-r 2,2</span> (more for higher block sizes). This usually shaves off about 1.5%. The technique tends to peak out about when blocksize/(2^n)=128. Use <span class="argument">-r 0,16</span> to force the highest degree of optimization.
+ </td>
+ </tr>
+ </table>
+ </td></tr></table>
+
+ <br />
+
+ <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="format_options"><font size="+1"><b>Format Options</b></font></a>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_endian" />
+ <span class="argument">--endian={big|little}</span>
+ </td>
+ <td>
+ Specify big-endian or little-endian byte order in the raw file.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_channels" />
+ <span class="argument">--channels=#</span>
+ </td>
+ <td>
+ Specify the number of channels in the raw file.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_bps" />
+ <span class="argument">--bps=#</span>
+ </td>
+ <td>
+ Specify the number of bits per sample in the raw file.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_sample_rate" />
+ <span class="argument">--sample-rate=#</span>
+ </td>
+ <td>
+ Specify the sample rate of the raw file.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_sign" />
+ <span class="argument">--sign={signed|unsigned}</span>
+ </td>
+ <td>
+ Specify that the samples in the raw file are signed or unsigned (the default is signed).
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_input_size" />
+ <span class="argument">--input-size=#</span>
+ </td>
+ <td>
+ Specify the size of the raw input in bytes. If you are encoding raw samples from stdin, you must set this option in order to be able to use --skip, --until, --cue-sheet, or other options that need to know the size of the input beforehand. If the size given is greater than what is found in the input stream, the encoder will complain about an unexpected end-of-file. If the size given is less, samples will be truncated.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_force_aiff_format" />
+ <span class="argument">--force-aiff-format</span>
+ </td>
+ <td>
+ Force the decoder to output AIFF format. This option is not needed if the output filename (as set by -o) ends with .aiff. Also, this option has no effect when encoding since input AIFF is auto-detected.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="flac_options_force_raw_format" />
+ <span class="argument">--force-raw-format</span>
+ </td>
+ <td>
+ Treat the input file (or output file if decoding) as a raw file, regardless of the extension.
+ </td>
+ </tr>
+ </table>
+ </td></tr></table>
+ <br />
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <A NAME="metaflac"><B><FONT SIZE="+2">metaflac</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- <B><TT>metaflac</TT></B> is the command-line <TT>.flac</TT> file metadata editor. You can use it to list the contents of metadata blocks, edit, delete or insert blocks, and manage padding.
- </P>
- <P>
- <B><TT>metaflac</TT></B> takes a set of "options" (though some are not optional) and a set of FLAC files to operate on. There are three kinds of "options":
- <UL>
- <LI>
+ <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="negative_options"><font size="+1"><b>Negative Options</b></font></a>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <span class="argument">--no-adaptive-mid-side</span><br />
+ <span class="argument">--no-decode-through-errors</span><br />
+ <span class="argument">--no-delete-input-file</span><br />
+ <span class="argument">--no-escape-coding</span><br />
+ <span class="argument">--no-exhaustive-model-search</span><br />
+ <span class="argument">--no-lax</span><br />
+ <span class="argument">--no-mid-side</span><br />
+ <span class="argument">--no-ogg</span><br />
+ <span class="argument">--no-padding</span><br />
+ <span class="argument">--no-qlp-coeff-precision-search</span><br />
+ <span class="argument">--no-residual-gnuplot</span><br />
+ <span class="argument">--no-residual-text</span><br />
+ <span class="argument">--no-sector-align</span><br />
+ <span class="argument">--no-seektable</span><br />
+ <span class="argument">--no-silent</span><br />
+ <span class="argument">--no-verify</span>
+ </td>
+ <td>
+ Can all be used to turn off a particular option.
+ </td>
+ </tr>
+ </table>
+ </td></tr></table>
+
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+<br />
+
+<div class="box">
+ <div class="box_title">
+ <a name="metaflac">metaflac</a>
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ <span class="commandname">metaflac</span> is the command-line <span class="code">.flac</span> file metadata editor. You can use it to list the contents of metadata blocks, edit, delete or insert blocks, and manage padding.
+ <br /><br />
+ <span class="commandname">metaflac</span> takes a set of "options" (though some are not optional) and a set of FLAC files to operate on. There are three kinds of "options":
+ <ul>
+ <li>
Major operations, which specify a mode of operation like listing blocks, removing blocks, etc. These will have sub-operations describing exactly what is to be done.
- </LI>
- <LI>
- Shorthand operations, which are convenient synonyms for major operations. For example, there is a shorthand operation <TT>--show-sample-rate</TT> that shows just the sample rate field from the STREAMINFO metadata block.
- </LI>
- <LI>
+ </li>
+ <li>
+ Shorthand operations, which are convenient synonyms for major operations. For example, there is a shorthand operation <span class="argument">--show-sample-rate</span> that shows just the sample rate field from the <span class="code">STREAMINFO</span> metadata block.
+ </li>
+ <li>
Global options, which affect all the operations.
- </LI>
- </UL>
- </P>
- <P>
+ </li>
+ </ul>
All of these are described in the tables below. At least one shorthand or major operation must be supplied. You can use multiple shorthand operations to do more than one thing to a file or set of files. Most of the common things to do to metadata have shorthand operations. As an example, here is how to show the MD5 signatures for a set of three FLAC files:
- </P>
- <P>
- <TT>metaflac --show-md5sum file1.flac file2.flac file3.flac</TT>
- </P>
- <P>
- Another example; this removes all DESCRIPTION and COMMENT tags in a set of FLAC files, and uses the <TT>--preserve-modtime</TT> global option to keep the FLAC file modification times the same (usually when files are edited the modification time is set to the current time):
- </P>
- <P>
- <TT>metaflac --preserve-modtime --remove-tag=DESCRIPTION --remove-tag=COMMENT file1.flac file2.flac file3.flac</TT>
- </P>
- <P>
- <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="global_options"><FONT SIZE="+1"><B>Global Options</B></FONT></A>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_options_preserve_modtime">
- <TT>--preserve-modtime</TT>
- </TD>
- <TD>
- Preserve the original modification time in spite of edits.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_options_with_filename">
- <TT>--with-filename</TT>
- </TD>
- <TD>
- Prefix each output line with the FLAC file name (the default if more than one FLAC file is specified).
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_options_no_filename">
- <TT>--no-filename</TT>
- </TD>
- <TD>
- Do not prefix each output line with the FLAC file name (the default if only one FLAC file is specified)
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_options_no_utf8_convert">
- <TT>--no-utf8-convert</TT>
- </TD>
- <TD>
- Do not convert tags from UTF-8 to local charset, or vice versa. This is useful for scripts.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_options_dont_use_padding">
- <TT>--dont-use-padding</TT>
- </TD>
- <TD>
- By default <B><TT>metaflac</TT></B> tries to use padding where possible to avoid rewriting the entire file if the metadata size changes. Use this option to tell metaflac to not take advantage of padding this way.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- <P>
- <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="shorthand_operations"><FONT SIZE="+1"><B>Shorthand Operations</B></FONT></A>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_md5sum">
- <TT>--show-md5sum</TT>
- </TD>
- <TD>
- Show the MD5 signature from the STREAMINFO block.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_min_blocksize">
- <TT>--show-min-blocksize</TT>
- </TD>
- <TD>
- Show the minimum block size from the STREAMINFO block.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_max_blocksize">
- <TT>--show-max-blocksize</TT>
- </TD>
- <TD>
- Show the maximum block size from the STREAMINFO block.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_min_framesize">
- <TT>--show-min-framesize</TT>
- </TD>
- <TD>
- Show the minimum frame size from the STREAMINFO block.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_max_framesize">
- <TT>--show-max-framesize</TT>
- </TD>
- <TD>
- Show the maximum frame size from the STREAMINFO block.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_sample_rate">
- <TT>--show-sample-rate</TT>
- </TD>
- <TD>
- Show the sample rate from the STREAMINFO block.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_channels">
- <TT>--show-channels</TT>
- </TD>
- <TD>
- Show the number of channels from the STREAMINFO block.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_bps">
- <TT>--show-bps</TT>
- </TD>
- <TD>
- Show the # of bits per sample from the STREAMINFO block.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_total_samples">
- <TT>--show-total-samples</TT>
- </TD>
- <TD>
- Show the total # of samples from the STREAMINFO block.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_vendor_tag">
- <TT>--show-vendor-tag</TT>
- </TD>
- <TD>
- Show the vendor string from the VORBIS_COMMENT block.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_show_tag">
- <TT>--show-tag=NAME</TT>
- </TD>
- <TD>
- Show all tags where the the field name matches <TT>NAME</TT>.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_remove_tag">
- <TT>--remove-tag=NAME</TT>
- </TD>
- <TD>
- Remove all tags whose field name is <TT>NAME</TT>.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_remove_first_tag">
- <TT>--remove-first-tag=NAME</TT>
- </TD>
- <TD>
- Remove first tag whose field name is <TT>NAME</TT>.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_remove_all_tags">
- <TT>--remove-all-tags</TT>
- </TD>
- <TD>
- Remove all tags, leaving only the vendor string.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_set_tag">
- <TT>--set-tag=FIELD</TT>
- </TD>
- <TD>
- Add a tag. The <TT>FIELD</TT> must comply with the Vorbis comment spec, of the form <TT>NAME=VALUE</TT>. If there is currently no tag block, one will be created.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_import_tags_from">
- <TT>--import-tags-from=FILE</TT>
- </TD>
- <TD>
- Import tags from a file. Use '-' for stdin. Each line should be of the form <TT>NAME=VALUE</TT>. Multi-line comments are currently not supported. Specify <TT>--remove-all-tags</TT> and/or <TT>--no-utf8-convert</TT> before <TT>--import-tags-from</TT> if necessary.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_export_tags_to">
- <TT>--export-tags-to=FILE</TT>
- </TD>
- <TD>
- Export tags to a file. Use '-' for stdin. Each line will be of the form <TT>NAME=VALUE</TT>. Specify <TT>--no-utf8-convert</TT> if necessary.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_import_cuesheet_from">
- <TT>--import-cuesheet-from=FILE</TT>
- </TD>
- <TD>
- Import a cuesheet from a file. Use '-' for stdin. Only one FLAC file may be specified. A seekpoint will be added for each index point in the cuesheet to the SEEKTABLE unless <TT>--no-cued-seekpoints</TT> is specified.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_export_cuesheet_to">
- <TT>--export-cuesheet-to=FILE</TT>
- </TD>
- <TD>
- Export CUESHEET block to a cuesheet file, suitable for use by CD authoring software. Use '-' for stdout. Only one FLAC file may be specified on the command line.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_add_replay_gain">
- <TT>--add-replay-gain</TT>
- </TD>
- <TD>
- Calculates the title and album gains/peaks of the given FLAC files as if all the files were part of one album, then stores them in the VORBIS_COMMENT block. The tags are the same as those used by <TT>vorbisgain</TT>. Existing ReplayGain tags will be replaced. If only one FLAC file is given, the album and title gains will be the same. Since this operation requires two passes, it is always executed last, after all other operations have been completed and written to disk. All FLAC files specified must have the same resolution, sample rate, and number of channels. The sample rate must be one of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48 kHz.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_add_seekpoint">
- <TT>--add-seekpoint={#|X|#x|#s}</TT>
- </TD>
- <TD>
- Add seek points to a SEEKTABLE block:<BR>
- <UL>
- <LI>
- <TT>#&nbsp;</TT> : a specific sample number for a seek point
- </LI>
- <LI>
- <TT>X&nbsp;</TT> : a placeholder point (always goes at the end of the SEEKTABLE)
- </LI>
- <LI>
- <TT>#x</TT> : # evenly spaced seekpoints, the first being at sample 0
- </LI>
- <LI>
- <TT>#s</TT> : a seekpoint every # seconds; # does not have to be a whole number, it can be, for example, <TT>9.5</TT>, meaning a seekpoint every 9.5 seconds
- </LI>
- </UL>
- If no SEEKTABLE block exists, one will be created. If one already exists, points will be added to the existing table, and any duplicates will be turned into placeholder points.<BR>
- You may use many <TT>--add-seekpoint</TT> options; the resulting SEEKTABLE will be the unique-ified union of all such values. Example: <TT>--add-seekpoint=100x --add-seekpoint=3.5s</TT> will add 100 evenly spaced seekpoints and a seekpoint every 3.5 seconds.<BR>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_shorthand_add_padding">
- <TT>--add-padding=#</TT>
- </TD>
- <TD>
- Add a padding block of the given length (in bytes). The overall length of the new block will be 4 + length; the extra 4 bytes is for the metadata block header.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- <P>
- <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="major_operations"><FONT SIZE="+1"><B>Major Operations</B></FONT></A>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_operations_version">
- <TT>--version</TT>
- </TD>
- <TD>
- Show the metaflac version number.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_operations_list">
- <TT>--list</TT>
- </TD>
- <TD>
- List the contents of one or more metadata blocks to stdout. By default, all metadata blocks are listed in text format. Use the following options to change this behavior:<P>
+ <br /><br />
+ <span class="code">metaflac --show-md5sum file1.flac file2.flac file3.flac</span>
+ <br /><br />
+ Another example; this removes all DESCRIPTION and COMMENT tags in a set of FLAC files, and uses the <span class="argument">--preserve-modtime</span> global option to keep the FLAC file modification times the same (usually when files are edited the modification time is set to the current time):
+ <br /><br />
+ <span class="code">metaflac --preserve-modtime --remove-tag=DESCRIPTION --remove-tag=COMMENT file1.flac file2.flac file3.flac</span>
+ <br /><br />
+
+ <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="global_options"><font size="+1"><b>Global Options</b></font></a>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_options_preserve_modtime" />
+ <span class="argument">--preserve-modtime</span>
+ </td>
+ <td>
+ Preserve the original modification time in spite of edits.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_options_with_filename" />
+ <span class="argument">--with-filename</span>
+ </td>
+ <td>
+ Prefix each output line with the FLAC file name (the default if more than one FLAC file is specified).
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_options_no_filename" />
+ <span class="argument">--no-filename</span>
+ </td>
+ <td>
+ Do not prefix each output line with the FLAC file name (the default if only one FLAC file is specified)
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_options_no_utf8_convert" />
+ <span class="argument">--no-utf8-convert</span>
+ </td>
+ <td>
+ Do not convert tags from UTF-8 to local charset, or vice versa. This is useful for scripts.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_options_dont_use_padding" />
+ <span class="argument">--dont-use-padding</span>
+ </td>
+ <td>
+ By default <span class="commandname">metaflac</span> tries to use padding where possible to avoid rewriting the entire file if the metadata size changes. Use this option to tell metaflac to not take advantage of padding this way.
+ </td>
+ </tr>
+ </table>
+ </td></tr></table>
+
+ <br />
- <TT>--block-number=#[,#[...]]</TT><BR>
- An optional comma-separated list of block numbers to display. The first block, the STREAMINFO block, is block 0.<P>
+ <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="shorthand_operations"><font size="+1"><b>Shorthand Operations</b></font></a>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_md5sum" />
+ <span class="argument">--show-md5sum</span>
+ </td>
+ <td>
+ Show the MD5 signature from the <span class="code">STREAMINFO</span> block.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_min_blocksize" />
+ <span class="argument">--show-min-blocksize</span>
+ </td>
+ <td>
+ Show the minimum block size from the <span class="code">STREAMINFO</span> block.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_max_blocksize" />
+ <span class="argument">--show-max-blocksize</span>
+ </td>
+ <td>
+ Show the maximum block size from the <span class="code">STREAMINFO</span> block.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_min_framesize" />
+ <span class="argument">--show-min-framesize</span>
+ </td>
+ <td>
+ Show the minimum frame size from the <span class="code">STREAMINFO</span> block.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_max_framesize" />
+ <span class="argument">--show-max-framesize</span>
+ </td>
+ <td>
+ Show the maximum frame size from the <span class="code">STREAMINFO</span> block.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_sample_rate" />
+ <span class="argument">--show-sample-rate</span>
+ </td>
+ <td>
+ Show the sample rate from the <span class="code">STREAMINFO</span> block.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_channels" />
+ <span class="argument">--show-channels</span>
+ </td>
+ <td>
+ Show the number of channels from the <span class="code">STREAMINFO</span> block.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_bps" />
+ <span class="argument">--show-bps</span>
+ </td>
+ <td>
+ Show the # of bits per sample from the <span class="code">STREAMINFO</span> block.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_total_samples" />
+ <span class="argument">--show-total-samples</span>
+ </td>
+ <td>
+ Show the total # of samples from the <span class="code">STREAMINFO</span> block.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_vendor_tag" />
+ <span class="argument">--show-vendor-tag</span>
+ </td>
+ <td>
+ Show the vendor string from the <span class="code">VORBIS_COMMENT</span> block.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_show_tag" />
+ <span class="argument">--show-tag=NAME</span>
+ </td>
+ <td>
+ Show all tags where the the field name matches <span class="argument">NAME</span>.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_remove_tag" />
+ <span class="argument">--remove-tag=NAME</span>
+ </td>
+ <td>
+ Remove all tags whose field name is <span class="argument">NAME</span>.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_remove_first_tag" />
+ <span class="argument">--remove-first-tag=NAME</span>
+ </td>
+ <td>
+ Remove first tag whose field name is <span class="argument">NAME</span>.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_remove_all_tags" />
+ <span class="argument">--remove-all-tags</span>
+ </td>
+ <td>
+ Remove all tags, leaving only the vendor string.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_set_tag" />
+ <span class="argument">--set-tag=FIELD</span>
+ </td>
+ <td>
+ Add a tag. The <span class="argument">FIELD</span> must comply with the Vorbis comment spec, of the form <span class="argument">NAME=VALUE</span>. If there is currently no tag block, one will be created.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_import_tags_from" />
+ <span class="argument">--import-tags-from=FILE</span>
+ </td>
+ <td>
+ Import tags from a file. Use '-' for stdin. Each line should be of the form <span class="argument">NAME=VALUE</span>. Multi-line comments are currently not supported. Specify <span class="argument">--remove-all-tags</span> and/or <span class="argument">--no-utf8-convert</span> before <span class="argument">--import-tags-from</span> if necessary.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_export_tags_to" />
+ <span class="argument">--export-tags-to=FILE</span>
+ </td>
+ <td>
+ Export tags to a file. Use '-' for stdin. Each line will be of the form <span class="argument">NAME=VALUE</span>. Specify <span class="argument">--no-utf8-convert</span> if necessary.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_import_cuesheet_from" />
+ <span class="argument">--import-cuesheet-from=FILE</span>
+ </td>
+ <td>
+ Import a cuesheet from a file. Use '-' for stdin. Only one FLAC file may be specified. A seekpoint will be added for each index point in the cuesheet to the <span class="code">SEEKTABLE</span> unless <span class="argument">--no-cued-seekpoints</span> is specified.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_export_cuesheet_to" />
+ <span class="argument">--export-cuesheet-to=FILE</span>
+ </td>
+ <td>
+ Export <span class="code">CUESHEET</span> block to a cuesheet file, suitable for use by CD authoring software. Use '-' for stdout. Only one FLAC file may be specified on the command line.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_add_replay_gain" />
+ <span class="argument">--add-replay-gain</span>
+ </td>
+ <td>
+ Calculates the title and album gains/peaks of the given FLAC files as if all the files were part of one album, then stores them in the <span class="code">VORBIS_COMMENT</span> block. The tags are the same as those used by <span class="commandname">vorbisgain</span>. Existing ReplayGain tags will be replaced. If only one FLAC file is given, the album and title gains will be the same. Since this operation requires two passes, it is always executed last, after all other operations have been completed and written to disk. All FLAC files specified must have the same resolution, sample rate, and number of channels. The sample rate must be one of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48 kHz.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_add_seekpoint" />
+ <span class="argument">--add-seekpoint={#|X|#x|#s}</span>
+ </td>
+ <td>
+ Add seek points to a <span class="code">SEEKTABLE</span> block:<br />
+ <ul>
+ <li>
+ <span class="argument">#&nbsp;</span> : a specific sample number for a seek point
+ </li>
+ <li>
+ <span class="argument">X&nbsp;</span> : a placeholder point (always goes at the end of the <span class="code">SEEKTABLE</span>)
+ </li>
+ <li>
+ <span class="argument">#x</span> : # evenly spaced seekpoints, the first being at sample 0
+ </li>
+ <li>
+ <span class="argument">#s</span> : a seekpoint every # seconds; # does not have to be a whole number, it can be, for example, <span class="argument">9.5</span>, meaning a seekpoint every 9.5 seconds
+ </li>
+ </ul>
+ If no <span class="code">SEEKTABLE</span> block exists, one will be created. If one already exists, points will be added to the existing table, and any duplicates will be turned into placeholder points.<br />
+ You may use many <span class="argument">--add-seekpoint</span> options; the resulting <span class="code">SEEKTABLE</span> will be the unique-ified union of all such values. Example: <span class="argument">--add-seekpoint=100x --add-seekpoint=3.5s</span> will add 100 evenly spaced seekpoints and a seekpoint every 3.5 seconds.<br />
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_shorthand_add_padding" />
+ <span class="argument">--add-padding=#</span>
+ </td>
+ <td>
+ Add a padding block of the given length (in bytes). The overall length of the new block will be 4 + length; the extra 4 bytes is for the metadata block header.
+ </td>
+ </tr>
+ </table>
+ </td></tr></table>
- <TT>--block-type=type[,type[...]]</TT><BR>
- <TT>--except-block-type=type[,type[...]]</TT><BR>
- An optional comma-separated list of block types to be included or ignored with this option. Use only one of <TT>--block-type</TT> or <TT>--except-block-type</TT>. The valid block types are: STREAMINFO, PADDING, APPLICATION, SEEKTABLE, VORBIS_COMMENT. You may narrow down the types of APPLICATION blocks displayed as follows:<BR>
- <TABLE BORDER="1">
- <TR>
- <TD><TT>APPLICATION:abcd</TT></TD>
- <TD>The APPLICATION block(s) whose textual representation of the 4-byte ID is "abcd"
- <TR>
- <TD><TT>APPLICATION:0xXXXXXXXX</TT></TD>
- <TD>The APPLICATION block(s) whose hexadecimal big- endian representation of the 4-byte ID is "0xXXXXXXXX". For the example "abcd" above the hexadecimal equivalalent is 0x61626364
- </TABLE>
- <P>
+ <br />
- NOTE: if both <TT>--block-number</TT> and <TT>--[except-]block-type</TT> are specified, the result is the logical AND of both arguments.<P>
+ <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="major_operations"><font size="+1"><b>Major Operations</b></font></a>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_operations_version" />
+ <span class="argument">--version</span>
+ </td>
+ <td>
+ Show the metaflac version number.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_operations_list" />
+ <span class="argument">--list</span>
+ </td>
+ <td>
+ List the contents of one or more metadata blocks to stdout. By default, all metadata blocks are listed in text format. Use the following options to change this behavior:<br /><br />
- <TT>--application-data-format=hexdump|text</TT><BR>
- If the application block you are displaying contains binary data but your <TT>--data-format=text</TT>, you can display a hex dump of the application data contents instead using <TT>--application-data-format=hexdump</TT>.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_operations_remove">
- <TT>--remove</TT>
- </TD>
- <TD>
- Remove one or more metadata blocks from the metadata. Unless <TT>--dont-use-padding</TT> is specified, the blocks will be replaced with padding. You may not remove the STREAMINFO block.<P>
+ <span class="argument">--block-number=#[,#[...]]</span><br />
+ An optional comma-separated list of block numbers to display. The first block, the <span class="code">STREAMINFO</span> block, is block 0.<br /><br />
- <TT>--block-number=#[,#[...]]</TT><BR>
- <TT>--block-type=type[,type[...]]</TT><BR>
- <TT>--except-block-type=type[,type[...]]</TT><BR>
- See <A HREF="#metaflac_operations_list"><TT>--list</TT></A> above for usage.<P>
+ <span class="argument">--block-type=type[,type[...]]</span><br />
+ <span class="argument">--except-block-type=type[,type[...]]</span><br />
+ An optional comma-separated list of block types to be included or ignored with this option. Use only one of <span class="argument">--block-type</span> or <span class="argument">--except-block-type</span>. The valid block types are: <span class="code">STREAMINFO</span>, <span class="code">PADDING</span>, <span class="code">APPLICATION</span>, <span class="code">SEEKTABLE</span>, <span class="code">VORBIS_COMMENT</span>. You may narrow down the types of <span class="code">APPLICATION</span> blocks displayed as follows:<br />
+ <table border="1">
+ <tr>
+ <td><span class="argument">APPLICATION:abcd</span></td>
+ <td>The <span class="code">APPLICATION</span> block(s) whose textual representation of the 4-byte ID is "abcd"</td>
+ </tr>
+ <tr>
+ <td><span class="argument">APPLICATION:0xXXXXXXXX</span></td>
+ <td>The <span class="code">APPLICATION</span> block(s) whose hexadecimal big- endian representation of the 4-byte ID is "0xXXXXXXXX". For the example "abcd" above the hexadecimal equivalalent is 0x61626364</td>
+ </tr>
+ </table>
+ <br />
- NOTE: if both <TT>--block-number</TT> and <TT>--[except-]block-type</TT> are specified, the result is the logical AND of both arguments.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_operations_remove_all">
- <TT>--remove-all</TT>
- </TD>
- <TD>
- Remove all metadata blocks (except the STREAMINFO block) from the metadata. Unless <TT>--dont-use-padding</TT> is specified, the blocks will be replaced with padding.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_operations_merge_padding">
- <TT>--merge-padding</TT>
- </TD>
- <TD>
- Merge adjacent PADDING blocks into single blocks.
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <A NAME="metaflac_operations_sort_padding">
- <TT>--sort-padding</TT>
- </TD>
- <TD>
- Move all PADDING blocks to the end of the metadata and merge them into a single block.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
+ NOTE: if both <span class="argument">--block-number</span> and <span class="argument">--[except-]block-type</span> are specified, the result is the logical AND of both arguments.<br /><br />
+ <span class="argument">--application-data-format=hexdump|text</span><br />
+ If the application block you are displaying contains binary data but your <span class="argument">--data-format=text</span>, you can display a hex dump of the application data contents instead using <span class="argument">--application-data-format=hexdump</span>.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_operations_remove" />
+ <span class="argument">--remove</span>
+ </td>
+ <td>
+ Remove one or more metadata blocks from the metadata. Unless <span class="argument">--dont-use-padding</span> is specified, the blocks will be replaced with padding. You may not remove the <span class="code">STREAMINFO</span> block.<br /><br />
-<A NAME="plugins"></A>
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <A NAME="xmms_plugin"><B><FONT SIZE="+2">xmms plugin</FONT></B></A>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- All that is necessary is to copy <B><TT>libxmms-flac.so</TT></B> to the directory where XMMS looks for input plugins (usually <B><TT>/usr/lib/xmms/Input</TT></B>). There is nothing else to configure. Make sure to restart XMMS before trying to play any <TT>.flac</TT> files.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
+ <span class="argument">--block-number=#[,#[...]]</span><br />
+ <span class="argument">--block-type=type[,type[...]]</span><br />
+ <span class="argument">--except-block-type=type[,type[...]]</span><br />
+ See <a href="#metaflac_operations_list"><span class="argument">--list</span></a> above for usage.<br /><br />
+ NOTE: if both <span class="argument">--block-number</span> and <span class="argument">--[except-]block-type</span> are specified, the result is the logical AND of both arguments.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_operations_remove_all" />
+ <span class="argument">--remove-all</span>
+ </td>
+ <td>
+ Remove all metadata blocks (except the <span class="code">STREAMINFO</span> block) from the metadata. Unless <span class="argument">--dont-use-padding</span> is specified, the blocks will be replaced with padding.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_operations_merge_padding" />
+ <span class="argument">--merge-padding</span>
+ </td>
+ <td>
+ Merge adjacent <span class="code">PADDING</span> blocks into single blocks.
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <a name="metaflac_operations_sort_padding" />
+ <span class="argument">--sort-padding</span>
+ </td>
+ <td>
+ Move all <span class="code">PADDING</span> blocks to the end of the metadata and merge them into a single block.
+ </td>
+ </tr>
+ </table>
+ </td></tr></table>
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <A NAME="winamp2_plugin"><B><FONT SIZE="+2">winamp2 plugin</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- The Winamp plugin should work for both Winamp2 and Winamp5. If you are using Winamp 2.x, all that is necessary is to copy <B><TT>in_flac.dll</TT></B> to the <B><TT>Plugins/</TT></B> directory of your Winamp installation. There is nothing else to configure. Make sure to restart Winamp before trying to play any <TT>.flac</TT> files.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
+ </div>
+ <div class="box_footer"></div>
+</div>
+<br />
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <A NAME="bugs"><B><FONT SIZE="+2">known bugs</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- Bug tracking is done on the Sourceforge project page <A HREF="http://sourceforge.net/bugs/?group_id=13478">here</A>. If you submit a bug, make sure and provide an email contact or use the Monitor feature.
- </P>
- <P>
+<div class="box">
+ <div class="box_title">
+ <a name="plugins"></a><a name="xmms_plugin">xmms plugin</a>
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ All that is necessary is to copy <span class="code">libxmms-flac.so</span> to the directory where XMMS looks for input plugins (usually <span class="code">/usr/lib/xmms/Input</span> or <span class="code">$HOME/.xmms/Input</span>). There is nothing else to configure. Make sure to restart XMMS before trying to play any <span class="code">.flac</span> files.
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+<br />
+
+<div class="box">
+ <div class="box_title">
+ <a name="winamp2_plugin">winamp2 plugin</a>
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ The Winamp plugin should work for both Winamp2 and Winamp5. If you are using Winamp 2.x, all that is necessary is to copy <span class="code">in_flac.dll</span> to the <span class="code">Plugins/</span> directory of your Winamp installation. There is nothing else to configure. Make sure to restart Winamp before trying to play any <span class="code">.flac</span> files.
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+<br />
+
+<div class="box">
+ <div class="box_title">
+ <a name="bugs">known bugs</a>
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ Bug tracking is done on the Sourceforge project page <a href="http://sourceforge.net/bugs/?group_id=13478">here</a>. If you submit a bug, make sure and provide an email contact or use the Monitor feature.
+ <br /><br />
The following are major known bugs in the current (1.1.2) release:
- </P>
- <P>
- <UL>
- <LI>
+ <ul>
+ <li>
(none)
- </LI>
- </UL>
- </P>
- <P>
+ </li>
+ </ul>
The following are major known bugs in the 1.1.0 release:
- </P>
- <P>
- <UL>
- <LI>
+ <ul>
+ <li>
If you change the FLAC configuration options in the XMMS plugin while a FLAC file is playing, it can cause a crash or other bad things to happen.
- </LI>
- </UL>
- </P>
- <P>
+ </li>
+ </ul>
The following are major known bugs in the 1.0.4 release:
- </P>
- <P>
- <UL>
- <LI>
- All decoders prior to and including 1.0.4 have a bug that prevents them from skipping unknown metadata blocks properly. A FLAC file created by flac 1.1.0 containing a CUESHEET metadata block will not decode in 1.0.x decoders.
- </LI>
- <LI>
- <B><TT>metaflac</TT></B> has a bug where, if --import-vc-from is used on a FLAC file that has no Vorbis comment block, the FLAC file can be corrupted. All FLAC files generated by 1.0.4 have a Vorbis comment block added automatically but files from 1.0.3 and before do not. This is fixed in CVS.
- </LI>
- <LI>
- There is an odd bug in <B><TT>metaflac</TT></B> such that you must always use the <TT>--dont-use-padding</TT> option with <TT>--add-padding</TT> or the padding block won't be written. This is fixed in CVS.
- </LI>
- </UL>
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
+ <ul>
+ <li>
+ All decoders prior to and including 1.0.4 have a bug that prevents them from skipping unknown metadata blocks properly. A FLAC file created by flac 1.1.0 containing a <span class="code">CUESHEET</span> metadata block will not decode in 1.0.x decoders.
+ </li>
+ <li>
+ <span class="commandname">metaflac</span> has a bug where, if --import-vc-from is used on a FLAC file that has no Vorbis comment block, the FLAC file can be corrupted. All FLAC files generated by 1.0.4 have a Vorbis comment block added automatically but files from 1.0.3 and before do not. This is fixed in CVS.
+ </li>
+ <li>
+ There is an odd bug in <span class="commandname">metaflac</span> such that you must always use the <span class="argument">--dont-use-padding</span> option with <span class="argument">--add-padding</span> or the padding block won't be written. This is fixed in CVS.
+ </li>
+ </ul>
+ </div>
+ <div class="box_footer"></div>
+</div>
+<br />
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <A NAME="monkey"><B><FONT SIZE="+2">monkey</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
+<div class="box">
+ <div class="box_title">
+ <a name="monkey">monkey</a>
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
Monkey's Audio comes with a nice GUI that many people are familiar with. It supports some external encoders, but not FLAC. However, the FLAC Windows distribution comes with a utility that allows you to replace one the of the supported lossless external codecs with FLAC. Here's how:
- <UL>
- <LI>Copy <B><TT>flac.exe</TT></B> and <B><TT>flac_ren.exe</TT></B> to the <B><TT>External/</TT></B> directory of the Monkey's Audio installation.</LI>
- <LI>
+ <ul>
+ <li>Copy <span class="commandname">flac.exe</span> and <span class="commandname">flac_ren.exe</span> to the <span class="code">External/</span> directory of the Monkey's Audio installation.</li>
+ <li>
Choose a supported encoder to replace:
- <UL>
- <LI>Shorten - copy <B><TT>flac_mac.exe</TT></B> on top of <B><TT>External/shortn32.exe</TT></B></LI>
- <LI>WavPack - copy <B><TT>flac_mac.exe</TT></B> on top of both <B><TT>External/wavpack.exe</TT></B> and <B><TT>External/wvunpack.exe</TT></B></LI>
- <LI>RKAU - copy <B><TT>flac_mac.exe</TT></B> on top of <B><TT>External/rkau.exe</TT></B></LI>
- </UL>
+ <ul>
+ <li>Shorten - copy <span class="commandname">flac_mac.exe</span> on top of <span class="commandname">External/shortn32.exe</span></li>
+ <li>WavPack - copy <span class="commandname">flac_mac.exe</span> on top of both <span class="commandname">External/wavpack.exe</span> and <span class="commandname">External/wvunpack.exe</span></li>
+ <li>RKAU - copy <span class="commandname">flac_mac.exe</span> on top of <span class="commandname">External/rkau.exe</span></li>
+ </ul>
If you choose WavPack you will also be able to use the WavPack Configuration menu to add flac options.
- </LI>
- <LI>Now you can encode FLAC files as if you were using the replaced encoder. The renamed <B><TT>flac_mac.exe</TT></B> utility will call <B><TT>flac.exe</TT></B> and afterwards, <B><TT>flac_ren.exe</TT></B> will rename the resulting file to have the .flac extension.</LI>
- </UL>
- </P>
- <P>
- Other front-ends may be wedged in the same way; if you have one in mind, post it to the <A HREF="http://lists.sourceforge.net/lists/listinfo/flac-dev">flac-dev</A> mailing list.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
+ </li>
+ <li>Now you can encode FLAC files as if you were using the replaced encoder. The renamed <span class="commandname">flac_mac.exe</span> utility will call <span class="commandname">flac.exe</span> and afterwards, <span class="commandname">flac_ren.exe</span> will rename the resulting file to have the .flac extension.</li>
+ </ul>
+ Other front-ends may be wedged in the same way; if you have one in mind, post it to the <a href="http://lists.sourceforge.net/lists/listinfo/flac-dev">flac-dev</a> mailing list.
+ </div>
+ <div class="box_footer"></div>
+</div>
-</CENTER>
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
-</BODY>
-</HTML>
+</body>
+</html>
diff --git a/doc/html/download.html b/doc/html/download.html
index 3baf2fcb..2075e452 100644
--- a/doc/html/download.html
+++ b/doc/html/download.html
@@ -1,261 +1,213 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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>
- <TITLE>FLAC - download</TITLE>
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;download&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/download.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">download</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- All source code and binaries are freely available and distributed under <A HREF="http://www.opensource.org/docs/definition.php">Open Source</A> licenses. The codec libraries are distributed under Xiph.org's BSD license, and the plugins and command-line utilites (<B><TT>flac</TT></B> and <B><TT>metaflac</TT></B>) are distributed under the <A HREF="http://www.opensource.org/licenses/gpl-license.html">GPL</A>. If you would like to redistribute parts or all of FLAC under different terms, <A HREF="mailto:jcoalson@users.sourceforge.net">contact Josh Coalson</A>. (For more information, see the <A HREF="license.html">license page</A>.)
- </P>
- <P>
- <UL>
- <LI>
- <B>Linux</B>
- <UL>
- <LI><A HREF="http://prdownloads.sourceforge.net/flac/flac-1.1.2-linux-i386.tar.gz?download">FLAC 1.1.2 for RedHat 7.x</A></LI>
- <LI><A HREF="http://packages.debian.org/cgi-bin/search_packages.pl?keywords=flac+libflac+1.&searchon=all&subword=1&version=all&release=all">FLAC 1.x Debian packages</A>
- <LI>RPMs can be found on <A HREF="http://ccrma-www.stanford.edu/planetccrma/software/soundapps.html">Planet CCRMA</A> and <A HREF="http://rpmfind.net/linux/rpm2html/search.php?query=flac">rpmfind.net</A>
- </UL>
- </LI>
- <LI>
- <B>Mac OS X</B>
- <UL>
- <LI><A HREF="http://www.danrules.com/macflac/">MacFLAC with installer and GUI front-end</A> (source code not available)</LI>
- <LI><A HREF="http://software.emuscene.com/view.php?softid=10">FLACer</A> (source code not available)</LI>
- <LI><A HREF="http://www.versiontracker.com/dyn/moreinfo/macosx/21952">xACT with installer and GUI front-end</A> (source code included)</LI>
- <LI><A HREF="http://fink.sourceforge.net/pdb/package.php/flac">FLAC Fink package</A> for use with <A HREF="http://fink.sourceforge.net/">Fink</A>
- <LI><A HREF="http://prdownloads.sourceforge.net/flac/flac-1.1.2-osx-ppc.tar.gz?download">FLAC 1.1.2 for OS X (no installer)</A></LI>
- </UL>
- </LI>
- <LI>
- <B>Windows</B>
- <UL>
- <LI><A HREF="http://cyberial.com/flacinstaller.asp">FLAC 1.1.2 for Windows with installer</A>. <B>NOTE: </B>Several virus scanners are reporting that FLAC contains a trojan; this is a FALSE POSITIVE. For more info see <A HREF="http://nsis.sourceforge.net/index.php?id=2&backPID=2&tt_news=14">here</A>, <A HREF="http://servicenews.symantec.com/cgi-bin/displayArticle.cgi?article=29991&group=symantec.support.generic.virus_corporate.general&tpre=ent&">here</A>, <A HREF="http://forums.mcafeehelp.com/viewtopic.php?p=164312">here</A>.</LI>
- <LI><A HREF="http://prdownloads.sourceforge.net/flac/flac-1.1.2-win.zip?download">FLAC 1.1.2 for Windows (tools only)</A></LI>
- </UL>
- </LI>
- <LI>
- <B>Other</B>
- <UL>
- <LI><A HREF="http://amiga.sourceforge.net/">FLAC package for Amiga</A></LI>
- <LI><A HREF="http://freeware.sgi.com/">FLAC packages for IRIX</A>.
- <LI><A HREF="http://prdownloads.sourceforge.net/flac/flac-1.1.0-sol2.7-sparc.tar.gz?download">FLAC 1.1.0 for Solaris 2.7</A></LI>
- <LI>Unofficial port of the <A HREF="http://arisme.free.fr/ports/flac.php">FLAC libraries to Windows CE (WinCE)</A></LI>
- </UL>
- </LI>
- <LI>
- <B>Source code</B>
- <UL>
- <LI><A HREF="http://prdownloads.sourceforge.net/flac/flac-1.1.2.tar.gz?download">FLAC 1.1.2 full source code</A>; also includes documentation and build systems for Windows (MSVC++) and *nix,*BSD,OS/2,OS X (autotools)</LI>
- <LI><A HREF="http://cvs.sourceforge.net/cvstarballs/flac-cvsroot.tar.bz2">Nightly CVS tarball</A>; this is the actual CVS repository used for development</LI>
- </UL>
- </LI>
- <LI>
- <B>Older versions</B>
- <UL>
- <LI><A HREF="http://sourceforge.net/project/showfiles.php?group_id=13478">Older versions of FLAC</A> available from SourceForge</LI>
- </UL>
- </LI>
- </UL>
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-<A NAME="extras">
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">extras</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- <B>NOTE: </B> these extras are not part of the FLAC project. They are all freely available but distributed under their authors' own terms.
- </P>
- <P>
- <B>NOTE: </B> don't forget to check out the <A HREF="links.html">links page</A> for a list of other useful open-source software supporting FLAC.
- </P>
- <P>
- <B>GUI encoding/decoding front-ends:</B>
- </P>
- <UL>
- <LI>
- <B>Windows</B>
- <UL>
- <LI><A HREF="http://www.dbpoweramp.com/">dBpowerAMP</A>, a swiss army knife that can convert and play many formats, including FLAC.</LI>
- <LI><A HREF="http://www.uninformative.com/flacattack/">Flacattack</A>: an all-in-one tool that works with ExactAudioCopy to encode a CD image to FLAC, embed the cuesheet, add ReplayGain, create lossy files, etc. all in a customizable directory structure.</LI>
- <LI><A HREF="http://www.rarewares.org/lossless.html">FLACdrop</A>, an Oggdrop-like frontend for Windows, or the even more versatile <A HREF="http://homepage.ntlworld.com/jfe1205/">oggdropXPd</A>.</LI>
- <LI><A HREF="http://home.wanadoo.nl/~w.speek/flac.htm">FLAC frontend</A>, a Windows GUI, or the even more versatile <A HREF="http://home.wanadoo.nl/~w.speek/multi.htm">Multi frontend</A>.</LI>
- <LI><A HREF="http://home.vxu.se/mdati00/frontah/">Frontah</A>, a new frontend to many codecs, including FLAC. Still in beta but has good reviews.</LI>
- <LI><A HREF="http://mareo.netfirms.com/">MAREO</A> is a "virtual" encoder that can be used with ExactAudioCopy to encode to multiple formats (including FLAC) at once while ripping.</LI>
- <LI><A HREF="http://www.monkeysaudio.com/">Monkey's Audio</A> can be fooled into supporting FLAC as an external encoder; <A HREF="documentation.html#monkey">here's how</A>.</LI>
- <LI><A HREF="http://www.unifront.boereck.de/">UniversalFront</A>, an encoding/decoding/transcoding GUI that is also scriptable.</LI>
- </UL>
- </LI>
- <LI>
- <B>Unix</B>
- <UL>
- <LI><A HREF="http://www.nostatic.org/grip/">Grip</A> is a great ripping and encoding front end and can be easily configured to use flac. See <A HREF="http://sourceforge.net/mailarchive/forum.php?thread_id=1634089&forum_id=5443">this message</A> on how to configure Grip for FLAC.</LI>
- <LI><A HREF="http://www.amb.org/xmcd/">xmcd</A> is a CD ripper with CDDB support as well as a player.</LI>
- </UL>
- </LI>
- <LI>
- <B>Mac OS X</B>
- <UL>
- <LI><A HREF="http://www.danrules.com/macflac/">MacFLAC</A>, a FLAC distribution which also includes nice graphical front-end.</LI>
- <LI><A HREF="http://members.rogers.com/beamsplitter/">RipBeak</A> is a nice GUI encoding frond-end that supports FLAC as well as Vorbis and MP3.</LI>
- <LI><A HREF="http://www.versiontracker.com/dyn/moreinfo/macosx/21952">xACT</A>, another FLAC distribution with a graphical front-end to FLAC and other formats.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <B>CD burning:</B>
- <P>
- <UL>
- <LI>
- <B>Windows</B>
- <UL>
- <LI><A HREF="http://www.burnatonce.com/">burnatonce</A>, a CD burning GUI that wraps around <A HREF="http://sourceforge.net/projects/cdrdao/">cdrdao</A> and <A HREF="http://freshmeat.net/projects/cdrecord/">mkisofs</A>.</LI>
- <LI><A HREF="http://www.burrrn.net/">Burrrn</A> supports burning CDs from cuesheets directly from many formats, including FLAC, and supports most tag formats.</LI>
- <LI><A HREF="http://www.cdwave.com/">CD Wave</A>, a CD authoring tool that can read and write FLAC.</LI>
- </UL>
- </LI>
- <LI>
- <B>Unix</B>
- <UL>
- <LI><A HREF="http://arson.sourceforge.net/">Arson</A>, a front-end to various CD burning and ripping tools.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <B>Third-party plugins:</B>
- <P>
- <UL>
- <LI>
- <B>Windows</B>
- <UL>
- <!-- case's page disappeared, use temporary links
- <LI><A HREF="http://www.saunalahti.fi/~cse/files/cool_flac.zip">Cooledit FLAC filter</A> (source code <A HREF="http://www.saunalahti.fi/cse/files/cool_flac_src.zip">here</A>).</LI>
- -->
- <LI><A HREF="http://www.hydrogenaudio.org/index.php?showtopic=20145&">Cooledit FLAC filter</A>.</LI>
- <LI><A HREF="http://corecodec.org/projects/coreflac">CoreFLAC</A>: DirectShow filters for encoding to/decoding from FLAC.</LI>
- <LI><A HREF="http://www.illiminable.com/ogg/">DirectShow filters</A> for encoding to/decoding from FLAC and Ogg FLAC (as well as Ogg Vorbis/Speex/Theora).</LI>
- <LI><A HREF="http://www.monsterfang.com/MCinFLAC/">Media Center/Media Jukebox FLAC plugin</A> and <A HREF="http://www.monsterfang.com/MCinFLAC/Encoding.htm">instructions</A> on how to encode to FLAC as well. Source is also available.</LI>
- <LI><A HREF="http://www.phsoft.nl/?id=flacplginf">Mp3CoolPlay-X FLAC plugin</A>.</LI>
- <LI><A HREF="http://neroplugins.cd-rw.org/">Nero FLAC plugin</A> allows you to burn FLAC files directly to audio CDs.</LI>
- <LI><A HREF="http://www.quinnware.com/plugins/in_qcdflac.exe">QCD FLAC plugin</A>.</LI>
- <LI><A HREF="http://www.winamp.com/plugins/details.php?id=131643">FLAC Winamp3 plugin</A> by Giacomo Margarito.</LI>
- </UL>
- </LI>
- <LI>
- <B>Java</B>
- <UL>
- <LI><A HREF="http://jflac.sourceforge.net/">jFLAC</A>: a Java native-FLAC decoder library and player application.</LI>
- <LI><A HREF="http://www.j-ogg.de/">J-Ogg</A>: Java libraries for Ogg decoding, including Ogg FLAC.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-</CENTER>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
-
-</BODY>
-</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 - download</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="separator2"></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;download&nbsp;&nbsp;|
+ &nbsp;<a href="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/download.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="below_nav"></div>
+
+<div class="box">
+ <div class="box_title">
+ download
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ All source code and binaries are freely available and distributed under <a href="http://www.opensource.org/docs/definition.php">Open Source</a> licenses. The codec libraries are distributed under Xiph.org's BSD license, and the plugins and command-line utilites (<span class="commandname">flac</span> and <span class="commandname">metaflac</span>) are distributed under the <a href="http://www.opensource.org/licenses/gpl-license.html">GPL</a>. If you would like to redistribute parts or all of FLAC under different terms, <a href="mailto:jcoalson@users.sourceforge.net">contact Josh Coalson</a>. (For more information, see the <a href="license.html">license page</a>.)
+ <ul>
+ <li>
+ <b>Linux</b>
+ <ul>
+ <li><a href="http://prdownloads.sourceforge.net/flac/flac-1.1.2-linux-i386.tar.gz?download">FLAC 1.1.2 for RedHat 7.x</a></li>
+ <li><a href="http://packages.debian.org/cgi-bin/search_packages.pl?keywords=flac+libflac+1.&amp;searchon=all&amp;subword=1&amp;version=all&amp;release=all">FLAC 1.x Debian packages</a></li>
+ <li>RPMs can be found on <a href="http://ccrma-www.stanford.edu/planetccrma/software/soundapps.html">Planet CCRMA</a> and <a href="http://rpmfind.net/linux/rpm2html/search.php?query=flac">rpmfind.net</a></li>
+ </ul>
+ </li>
+ <li>
+ <b>Mac OS X</b>
+ <ul>
+ <li><a href="http://www.danrules.com/macflac/">MacFLAC with installer and GUI front-end</a> (source code not available)</li>
+ <li><a href="http://software.emuscene.com/view.php?softid=10">FLACer</a> (source code not available)</li>
+ <li><a href="http://www.versiontracker.com/dyn/moreinfo/macosx/21952">xACT with installer and GUI front-end</a> (source code included)</li>
+ <li><a href="http://fink.sourceforge.net/pdb/package.php/flac">FLAC Fink package</a> for use with <a href="http://fink.sourceforge.net/">Fink</a></li>
+ <li><a href="http://prdownloads.sourceforge.net/flac/flac-1.1.2-osx-ppc.tar.gz?download">FLAC 1.1.2 for OS X (no installer)</a></li>
+ </ul>
+ </li>
+ <li>
+ <b>Windows</b>
+ <ul>
+ <li><a href="http://cyberial.com/flacinstaller.asp">FLAC 1.1.2 for Windows with installer</a>. <b>NOTE: </b>Several virus scanners are reporting that FLAC contains a trojan; this is a FALSE POSITIVE. For more info see <a href="http://nsis.sourceforge.net/index.php?id=2&amp;backPID=2&amp;tt_news=14">here</a>, <a href="http://servicenews.symantec.com/cgi-bin/displayArticle.cgi?article=29991&amp;group=symantec.support.generic.virus_corporate.general&amp;tpre=ent">here</a>, <a href="http://forums.mcafeehelp.com/viewtopic.php?p=164312">here</a>.</li>
+ <li><a href="http://prdownloads.sourceforge.net/flac/flac-1.1.2-win.zip?download">FLAC 1.1.2 for Windows (tools only)</a></li>
+ </ul>
+ </li>
+ <li>
+ <b>Other</b>
+ <ul>
+ <li><a href="http://amiga.sourceforge.net/">FLAC package for Amiga</a></li>
+ <li><a href="http://freeware.sgi.com/">FLAC packages for IRIX</a>.</li>
+ <li><a href="http://prdownloads.sourceforge.net/flac/flac-1.1.0-sol2.7-sparc.tar.gz?download">FLAC 1.1.0 for Solaris 2.7</a></li>
+ <li>Unofficial port of the <a href="http://arisme.free.fr/ports/flac.php">FLAC libraries to Windows CE (WinCE)</a></li>
+ </ul>
+ </li>
+ <li>
+ <b>Source code</b>
+ <ul>
+ <li><a href="http://prdownloads.sourceforge.net/flac/flac-1.1.2.tar.gz?download">FLAC 1.1.2 full source code</a>; also includes documentation and build systems for Windows (MSVC++) and *nix,*BSD,OS/2,OS X (autotools)</li>
+ <li><a href="http://cvs.sourceforge.net/cvstarballs/flac-cvsroot.tar.bz2">Nightly CVS tarball</a>; this is the actual CVS repository used for development</li>
+ </ul>
+ </li>
+ <li>
+ <b>Older versions</b>
+ <ul>
+ <li><a href="http://sourceforge.net/project/showfiles.php?group_id=13478">Older versions of FLAC</a> available from SourceForge</li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+<br />
+
+<a name="extras" />
+<div class="box">
+ <div class="box_title">
+ extras
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ <b>NOTE: </b> these extras are not part of the FLAC project. They are all freely available but distributed under their authors' own terms.
+ <br /><br />
+ <b>NOTE: </b> don't forget to check out the <a href="links.html">links page</a> for a list of other useful open-source software supporting FLAC.
+ <br /><br />
+ <b>GUI encoding/decoding front-ends:</b>
+ <ul>
+ <li>
+ <b>Windows</b>
+ <ul>
+ <li><a href="http://www.dbpoweramp.com/">dBpowerAMP</a>, a swiss army knife that can convert and play many formats, including FLAC.</li>
+ <li><a href="http://www.uninformative.com/flacattack/">Flacattack</a>: an all-in-one tool that works with ExactAudioCopy to encode a CD image to FLAC, embed the cuesheet, add ReplayGain, create lossy files, etc. all in a customizable directory structure.</li>
+ <li><a href="http://www.rarewares.org/lossless.html">FLACdrop</a>, an Oggdrop-like frontend for Windows, or the even more versatile <a href="http://homepage.ntlworld.com/jfe1205/">oggdropXPd</a>.</li>
+ <li><a href="http://home.wanadoo.nl/~w.speek/flac.htm">FLAC frontend</a>, a Windows GUI, or the even more versatile <a href="http://home.wanadoo.nl/~w.speek/multi.htm">Multi frontend</a>.</li>
+ <li><a href="http://home.vxu.se/mdati00/frontah/">Frontah</a>, a new frontend to many codecs, including FLAC. Still in beta but has good reviews.</li>
+ <li><a href="http://mareo.netfirms.com/">MAREO</a> is a "virtual" encoder that can be used with ExactAudioCopy to encode to multiple formats (including FLAC) at once while ripping.</li>
+ <li><a href="http://www.monkeysaudio.com/">Monkey's Audio</a> can be fooled into supporting FLAC as an external encoder; <a href="documentation.html#monkey">here's how</a>.</li>
+ <li><a href="http://www.unifront.boereck.de/">UniversalFront</a>, an encoding/decoding/transcoding GUI that is also scriptable.</li>
+ </ul>
+ </li>
+ <li>
+ <b>Unix</b>
+ <ul>
+ <li><a href="http://www.nostatic.org/grip/">Grip</a> is a great ripping and encoding front end and can be easily configured to use flac. See <a href="http://sourceforge.net/mailarchive/forum.php?thread_id=1634089&amp;forum_id=5443">this message</a> on how to configure Grip for FLAC.</li>
+ <li><a href="http://www.amb.org/xmcd/">xmcd</a> is a CD ripper with CDDB support as well as a player.</li>
+ </ul>
+ </li>
+ <li>
+ <b>Mac OS X</b>
+ <ul>
+ <li><a href="http://www.danrules.com/macflac/">MacFLAC</a>, a FLAC distribution which also includes nice graphical front-end.</li>
+ <li><a href="http://members.rogers.com/beamsplitter/">RipBeak</a> is a nice GUI encoding frond-end that supports FLAC as well as Vorbis and MP3.</li>
+ <li><a href="http://www.versiontracker.com/dyn/moreinfo/macosx/21952">xACT</a>, another FLAC distribution with a graphical front-end to FLAC and other formats.</li>
+ </ul>
+ </li>
+ </ul>
+ <b>CD burning:</b>
+ <ul>
+ <li>
+ <b>Windows</b>
+ <ul>
+ <li><a href="http://www.burnatonce.com/">burnatonce</a>, a CD burning GUI that wraps around <a href="http://sourceforge.net/projects/cdrdao/">cdrdao</a> and <a href="http://freshmeat.net/projects/cdrecord/">mkisofs</a>.</li>
+ <li><a href="http://www.burrrn.net/">Burrrn</a> supports burning CDs from cuesheets directly from many formats, including FLAC, and supports most tag formats.</li>
+ <li><a href="http://www.cdwave.com/">CD Wave</a>, a CD authoring tool that can read and write FLAC.</li>
+ </ul>
+ </li>
+ <li>
+ <b>Unix</b>
+ <ul>
+ <li><a href="http://arson.sourceforge.net/">Arson</a>, a front-end to various CD burning and ripping tools.</li>
+ </ul>
+ </li>
+ </ul>
+ <b>Third-party plugins:</b>
+ <ul>
+ <li>
+ <b>Windows</b>
+ <ul>
+ <!-- case's page disappeared, use temporary links
+ <li><a href="http://www.saunalahti.fi/~cse/files/cool_flac.zip">Cooledit FLAC filter</a> (source code <a href="http://www.saunalahti.fi/cse/files/cool_flac_src.zip">here</a>).</li>
+ -->
+ <li><a href="http://www.hydrogenaudio.org/index.php?showtopic=20145">Cooledit FLAC filter</a>.</li>
+ <li><a href="http://corecodec.org/projects/coreflac">CoreFLAC</a>: DirectShow filters for encoding to/decoding from FLAC.</li>
+ <li><a href="http://www.illiminable.com/ogg/">DirectShow filters</a> for encoding to/decoding from FLAC and Ogg FLAC (as well as Ogg Vorbis/Speex/Theora).</li>
+ <li><a href="http://www.monsterfang.com/MCinFLAC/">Media Center/Media Jukebox FLAC plugin</a> and <a href="http://www.monsterfang.com/MCinFLAC/Encoding.htm">instructions</a> on how to encode to FLAC as well. Source is also available.</li>
+ <li><a href="http://www.phsoft.nl/?id=flacplginf">Mp3CoolPlay-X FLAC plugin</a>.</li>
+ <li><a href="http://neroplugins.cd-rw.org/">Nero FLAC plugin</a> allows you to burn FLAC files directly to audio CDs.</li>
+ <li><a href="http://www.quinnware.com/plugins/in_qcdflac.exe">QCD FLAC plugin</a>.</li>
+ <li><a href="http://www.winamp.com/plugins/details.php?id=131643">FLAC Winamp3 plugin</a> by Giacomo Margarito.</li>
+ </ul>
+ </li>
+ <li>
+ <b>Java</b>
+ <ul>
+ <li><a href="http://jflac.sourceforge.net/">jFLAC</a>: a Java native-FLAC decoder library and player application.</li>
+ <li><a href="http://www.j-ogg.de/">J-Ogg</a>: Java libraries for Ogg decoding, including Ogg FLAC.</li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
+
+</body>
+</html>
diff --git a/doc/html/faq.html b/doc/html/faq.html
index ddec4129..3c8f4620 100644
--- a/doc/html/faq.html
+++ b/doc/html/faq.html
@@ -1,426 +1,317 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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>
- <TITLE>FLAC - faq</TITLE>
-</HEAD>
+<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 - faq</title>
+</head>
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
+<body>
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
+<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>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
+<div class="above_nav"></div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;faq&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
+<div class="navbar">
+ &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
+ &nbsp;faq&nbsp;&nbsp;|
+ &nbsp;<a href="news.html">news</a>&nbsp;&nbsp;|
+ &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
+ &nbsp;<a href="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/faq.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/faq.html">russian</a>&nbsp;
+</div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
+<div class="separator2"></div>
-<CENTER>
+<div class="below_nav"></div>
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
+<div class="box">
+ <div class="box_title">
+ faq
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ <b>General</b>
+ <ul>
+ <li>
+ <a href="#general__license"><b>What licensing applies to the FLAC format and software?</b></a>
+ </li>
+ <li>
+ <a href="#general__tagging"><b>What kinds of tags does FLAC support?</b></a>
+ </li>
+ <li>
+ <a href="#general__software"><b>What software support FLAC?</b></a>
+ </li>
+ <li>
+ <a href="#general__hardware"><b>What hardware products support FLAC?</b></a>
+ </li>
+ <li>
+ <a href="#general__native_vs_ogg"><b>What is the difference between (native) FLAC and Ogg FLAC?</b></a>
+ </li>
+ <li>
+ <a href="#general__native_or_ogg"><b>Which should I use, (native) FLAC or Ogg FLAC?</b></a>
+ </li>
+ <li>
+ <a href="#general__no_cuesheet_tags"><b>Why aren't PERFORMER/TITLE/etc tags stored in the FLAC CUESHEET block?</b></a>
+ </li>
+ <li>
+ <a href="#general__no_wave_metadata"><b>Why doesn't FLAC store all WAVE metadata?</b></a>
+ </li>
+ <li>
+ <a href="#general__asymmetry"><b>Why do the encoder settings have a big effect on the encoding time but not the decoding time?</b></a>
+ </li>
+ <li>
+ <a href="#general__alternatives"><b>Why use FLAC instead of other codecs that compress more?</b></a>
+ </li>
+ <li>
+ <a href="#general__encode_faster"><b>Why can't you make FLAC encode faster?</b></a>
+ </li>
+ <li>
+ <a href="#general__lossless_trust"><b>How can I be sure FLAC is lossless?</b></a>
+ </li>
+ <li>
+ <a href="#general__testing"><b>How much testing has been done on FLAC?</b></a>
+ </li>
+ <li>
+ <a href="#general__lowest_bitrate"><b>What is the lowest bitrate (or highest compression) achievable with FLAC?</b></a>
+ </li>
+ <li>
+ <a href="#general__channels"><b>How many channels does FLAC support?</b></a>
+ </li>
+ <li>
+ <a href="#general__samples"><b>What kind of audio samples does FLAC support?</b></a>
+ </li>
+ </ul>
+ <b>Tools</b>
+ <ul>
+ <li>
+ <a href="#tools__eac_and_flac"><b>How do I set up EAC to rip directly to FLAC?</b></a>
+ </li>
+ <li>
+ <a href="#tools__option_blocking"><b>How do I encode a file that starts with a dash?</b></a>
+ </li>
+ <li>
+ <a href="#tools__long_meta_edits"><b>Why does it take so long to edit some FLAC files with metaflac?</b></a>
+ </li>
+ <li>
+ <a href="#tools__hardware_prob"><b>I compressed a file to FLAC with verify on, and flac said "Verify FAILED!" Why?</b></a>
+ </li>
+ <li>
+ <a href="#tools__wave_flac_wave"><b>I compressed a WAVE file to FLAC, then decompressed to WAVE, and the two weren't identical. Why?</b></a>
+ </li>
+ <li>
+ <a href="#tools__skipped_subchunk"><b>I compressed a WAVE file to FLAC and it said "warning: skipping unknown sub-chunk LIST". Why?</b></a>
+ </li>
+ <li>
+ <a href="#tools__two_bytes_short"><b>I decoded a FLAC file and the WAVE is 2 bytes shorter than the original. Why?</b></a>
+ </li>
+ <li>
+ <a href="#tools__not_streamable"><b>Why did I get "ERROR initializing encoder, state = 14:FLAC__STREAM_ENCODER_NOT_STREAMABLE"?</b></a>
+ </li>
+ </ul>
+ <b>API</b>
+ <ul>
+ <li>
+ <a href="#api__frame_length"><b>How can I determine the encoded frame length?</b></a>
+ </li>
+ </ul>
+ <b>Project</b>
+ <ul>
+ <li>
+ <a href="#project__lists"><b>Where are the mailing lists, forums, discussion areas, etc.?</b></a>
+ </li>
+ <li>
+ <a href="#project__submit_bug"><b>How do I submit a bug report?</b></a>
+ </li>
+ </ul>
+ <h2>
+ <b>General</b>
+ </h2>
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">faq</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
-
- <P>
- <B>General</B>
- <BR>
- <UL>
- <LI>
- <A HREF="#general__license"><B>What licensing applies to the FLAC format and software?</B></A>
- </LI>
- <LI>
- <A HREF="#general__tagging"><B>What kinds of tags does FLAC support?</B></A>
- </LI>
- <LI>
- <A HREF="#general__software"><B>What software support FLAC?</B></A>
- </LI>
- <LI>
- <A HREF="#general__hardware"><B>What hardware products support FLAC?</B></A>
- </LI>
- <LI>
- <A HREF="#general__native_vs_ogg"><B>What is the difference between (native) FLAC and Ogg FLAC?</B></A>
- </LI>
- <LI>
- <A HREF="#general__native_or_ogg"><B>Which should I use, (native) FLAC or Ogg FLAC?</B></A>
- </LI>
- <LI>
- <A HREF="#general__no_cuesheet_tags"><B>Why aren't PERFORMER/TITLE/etc tags stored in the FLAC CUESHEET block?</B></A>
- </LI>
- <LI>
- <A HREF="#general__no_wave_metadata"><B>Why doesn't FLAC store all WAVE metadata?</B></A>
- </LI>
- <LI>
- <A HREF="#general__asymmetry"><B>Why do the encoder settings have a big effect on the encoding time but not the decoding time?</B></A>
- </LI>
- <LI>
- <A HREF="#general__alternatives"><B>Why use FLAC instead of other codecs that compress more?</B></A>
- </LI>
- <LI>
- <A HREF="#general__encode_faster"><B>Why can't you make FLAC encode faster?</B></A>
- </LI>
- <LI>
- <A HREF="#general__lossless_trust"><B>How can I be sure FLAC is lossless?</B></A>
- </LI>
- <LI>
- <A HREF="#general__testing"><B>How much testing has been done on FLAC?</B></A>
- </LI>
- <LI>
- <A HREF="#general__lowest_bitrate"><B>What is the lowest bitrate (or highest compression) achievable with FLAC?</B></A>
- </LI>
- <LI>
- <A HREF="#general__channels"><B>How many channels does FLAC support?</B></A>
- </LI>
- <LI>
- <A HREF="#general__samples"><B>What kind of audio samples does FLAC support?</B></A>
- </LI>
- </UL>
- </P>
-
- <P>
- <B>Tools</B>
- <BR>
- <UL>
- <LI>
- <A HREF="#tools__eac_and_flac"><B>How do I set up EAC to rip directly to FLAC?</B></A>
- </LI>
- <LI>
- <A HREF="#tools__option_blocking"><B>How do I encode a file that starts with a dash?</B></A>
- </LI>
- <LI>
- <A HREF="#tools__long_meta_edits"><B>Why does it take so long to edit some FLAC files with metaflac?</B></A>
- </LI>
- <LI>
- <A HREF="#tools__hardware_prob"><B>I compressed a file to FLAC with verify on, and flac said "Verify FAILED!" Why?</B></A>
- </LI>
- <LI>
- <A HREF="#tools__wave_flac_wave"><B>I compressed a WAVE file to FLAC, then decompressed to WAVE, and the two weren't identical. Why?</B></A>
- </LI>
- <LI>
- <A HREF="#tools__skipped_subchunk"><B>I compressed a WAVE file to FLAC and it said "warning: skipping unknown sub-chunk LIST". Why?</B></A>
- </LI>
- <LI>
- <A HREF="#tools__two_bytes_short"><B>I decoded a FLAC file and the WAVE is 2 bytes shorter than the original. Why?</B></A>
- </LI>
- <LI>
- <A HREF="#tools__not_streamable"><B>Why did I get "ERROR initializing encoder, state = 14:FLAC__STREAM_ENCODER_NOT_STREAMABLE"?</B></A>
- </LI>
- </UL>
- </P>
-
- <P>
- <B>API</B>
- <BR>
- <UL>
- <LI>
- <A HREF="#api__frame_length"><B>How can I determine the encoded frame length?</B></A>
- </LI>
- </UL>
- </P>
+ <a name="general__license"><b>What licensing applies to the FLAC format and software?</b></a><br />
+ <br />
+ See the <a href="license.html">license page</a>.<br />
+ <br />
+ <a name="general__tagging"><b>What kinds of tags does FLAC support?</b></a><br />
+ <br />
+ FLAC has it's own native tagging system which is identical to that of Vorbis. They are called alternately "FLAC tags" and "Vorbis comments". It is the only tagging system required and guaranteed to be supported by FLAC implementations.<br />
+ <br />
+ Out of convenience, the reference decoder knows how to skip ID3 tags so that they don't interfere with decoding. But you should not expect any tags beside FLAC tags to be supported in applications; some implementations may not even be able to decode a FLAC file with ID3 tags.<br />
+ <br />
+ <a name="general__software"><b>What software support FLAC?</b></a><br />
+ <br />
+ This list is so large now it is difficult to maintain and keep up-to-date. For a partial list of open-source software that supports FLAC, see the <a href="links.html#software">software section</a> of the links page. For a partial list of the most popular software used to encode, decode, play, tag, and rip FLAC files, see the <a href="download.html">download page</a>.<br />
+ <br />
+ <a name="general__hardware"><b>What hardware products support FLAC?</b></a><br />
+ <br />
+ See the <a href="links.html#hardware">hardware section</a> of the links page.<br />
+ <br />
+ <a name="general__native_vs_ogg"><b>What is the difference between (native) FLAC and Ogg FLAC?</b></a><br />
+ <br />
+ You can think of an audio codec as having two layers. The inside layer is the raw compressed data, and the outside layer is the "container" or "transport layer" that splits and arranges the compressed data in pieces so it can be seeked through, edited, etc.<br />
+ <br />
+ "Native" FLAC is the compressed FLAC data stored in a very minimalist container, designed to be very efficient at storing single audio streams.<br />
+ <br />
+ Ogg FLAC is the compressed FLAC data stored in an <a href="http://xiph.org/ogg/vorbis/doc/oggstream.html">Ogg container</a>. Ogg is a much more powerful transport layer that enables mixing several kinds of different streams (audio, data, metadata, etc). The overhead is slightly higher than with native FLAC.<br />
+ <br />
+ In either case, the compressed FLAC data is the same and one can be converted to the other without re-encoding.<br />
+ <br />
+ <a name="general__native_or_ogg"><b>Which should I use, (native) FLAC or Ogg FLAC?</b></a><br />
+ <br />
+ The short answer right now is probably "native FLAC". If all you are doing is compressing audio to be played back later, native FLAC will do everything you need, is more widely supported, and will yield smaller files. If you plan to edit the compressed audio, or want to multiplex the audio with video later in an Ogg container, Ogg FLAC is a better choice.<br />
+ <br />
+ <a name="general__no_cuesheet_tags"><b>Why aren't PERFORMER/TITLE/etc tags stored in the FLAC CUESHEET block?</b></a><br />
+ <br />
+ This has turned out to be a pretty polarizing issue and requires a long explanation.<br />
+ <br />
+ The original purpose of a cue sheet in CD authoring software was to lay out the disc, essentially specifying how the audio will be organized on the disc; some of the information ends up as the CD table of contents: the track numbers and locations, and the index points. Later CD-TEXT was added. But CD-TEXT is a very complex spec, and actually goes in the CD subcode data. It is internationalized, not through Unicode, but with several different character sets, some of them multi-byte. It even allows for graphics. In cue sheets, the TITLE/PERFORMER/etc tags are just a limited shorthand for authoring CD-TEXT, but when you rip, you almost never parse the CD-TEXT, you get it from another database, and it doesn't really belong in the FLAC CUESHEET block.<br />
+ <br />
+ For FLAC the intention is that applications can calculate the CDDB or CDindex ID from the CUESHEET block and look it up in an online or local database just like CD rippers and players do. But if you really want it in the file itself, the track metadata should be stored separate from the CUESHEET, and already can be because of FLAC's metadata system. There just isn't a method specified yet because as soon as it is, people will say that it's not flexible enough. From experience (and you can see this come up time and time again in many lists), anyone who is going to the trouble of keeping a lossless collection in the first place will already be picky about metadata, and it is hard to come up with a standard that will please even the majority. That is the big problem with metadata and is why Xiph has deferred on it, waiting for someone to come up with a good metadata spec that can me multiplexed together with data.<br />
+ <br />
+ Some players (for example Foobar2000) allow you to store the CDDB data as FLAC tags and can parse that.<br />
+ <br />
+ <a name="general__no_wave_metadata"><b>Why doesn't FLAC store all WAVE metadata?</b></a><br />
+ <br />
+ FLAC is a general-purpose audio format, not just a compressed WAVE file format. There's a subtle difference. WAVE is a complicated standard; many kinds of data besides audio data can be put in it. FLAC's purpose is not to reproduce a WAVE file, including all the non-audio data that is in it, it is to losslessly compress the audio.<br />
+ <br />
+ People have asked for that in FLAC, but if it were added, then what about similar formats like AIFF? <span class="commandname">flac</span> can extract and compress audio data in an AIFF file also. AIFF is widely used on the Mac. AIFF users have asked that all AIFF metadata be stored for the same reasons. And it doesn't end there, other uncompressed formats exist.<br />
+ <br />
+ Also, it would add a lot of complexity to FLAC because non-audio data has to go in the metadata section which is at the beginning of the FLAC file. But in WAVE and AIFF it can go before or after the audio, so the encoding would have to make multiple passes and also store the chunk hierarchy to be able to reproduce it.<br />
+ <br />
+ <a name="general__asymmetry"><b>Why do the encoder settings have a big effect on the encoding time but not the decoding time?</b></a><br />
+ <br />
+ It's hard to explain without going into the codec design, but to oversimplify, the encoder is looking for functions that approximate the signal. Higher settings make the encoder search more to find better approximations. The functions are themselves encoded in the FLAC file. Decoding only requires computing the one chosen function, and the complexity of the function is very stable. This is by design, to make decoding easier, and is one of the things that makes FLAC easy to implement in hardware.<br />
+ <br />
+ <a name="general__alternatives"><b>Why use FLAC instead of other codecs that compress more?</b></a><br />
+ <br />
+ For most users, a small difference in filesize is usually far outweighed by FLAC's advantages: open patent free codec, portable open source (BSD) reference implementation, documented API, multi-platform support, hardware support, multi-channel support, etc. Improving FLAC to get a little more compression is not worth making it more complex and more compute-intensive to decode, and hence, less likely to be supported in hardware.<br />
+ <br />
+ <a name="general__encode_faster"><b>Why can't you make FLAC encode faster?</b></a><br />
+ <br />
+ FLAC already encodes pretty fast. It is faster than real-time even on weak systems and is not much slower than even the fastest codecs. And it is faster than the CD ripping process with which it is usually paired, meaning even if it went faster, it would not speed up the ripping-encoding process anyway.<br />
+ <br />
+ Part of the reason is that FLAC is asymmetric <a href="#general__asymmetry">(see also)</a>. That means that it is optimized for decoding speed at the expense of encoding speed, because it makes it easier to decode on low-powered hardware, and because you only encode once but you decode many times. <br />
+ <br />
+ <a name="general__lossless_trust"><b>How can I be sure FLAC is lossless?</b></a><br />
+ <a name="general__testing"><b>How much testing has been done on FLAC?</b></a><br />
+ <br />
+ First, FLAC is probably the only lossless compressor that has a published and comprehensive test suite. With the others you rely on the author's personal testing or the longevity of the program. But with FLAC you can download the whole test suite and run it on any version you like, or alter it to test your own data. The test suite checks every function in the API, as well as running many thousands of streams through an encode-decode-verify process, to test every nook and cranny of the system. Even on a fast machine the full test suite takes hours. The full test suite must pass on several platforms before a release is made.<br />
+ <br />
+ Second, you can always use the <span class="argument">-V</span> option with <span class="commandname">flac</span> (also supported by most GUI frontends) to verify while encoding. With this option, a decoder is run in parallel to the encoder and its output is compared against the original input. If a difference is found <span class="commandname">flac</span> will stop with an error.<br />
+ <br />
+ Finally, FLAC is used by many people and has been judged stable enough by many software and hardware makers to be incorporated into their products.<br />
+ <br />
+ <a name="general__lowest_bitrate"><b>What is the lowest bitrate (or highest compression) achievable with FLAC?</b></a><br />
+ <br />
+ With FLAC you do not specify a bitrate like with some lossy codecs. It's more like specifying a quality with Vorbis or MPC, except with FLAC the quality is always "lossless" and the resulting bitrate is roughly proportional to the amount of information in the original signal. You cannot control the bitrate much and the result can be from around 100% of the input rate (if you are encoding noise), down to almost 0 (encoding silence).<br />
+ <br />
+ <a name="general__channels"><b>How many channels does FLAC support?</b></a><br />
+ <br />
+ FLAC supports from 1 to 8 channels per stream. Channels are only grouped in FLAC to take advantage of interchannel correlation and to define common channel assignments (like stereo L/R, 5.1 surround, et cetera). When encoding a large number of independent channels it is expected that they are coded separately and if required, multiplexed together in a suitable container like Ogg or Matroska.<br />
+ <br />
+ <a name="general__samples"><b>What kind of audio samples does FLAC support?</b></a><br />
+ <br />
+ FLAC supports linear PCM samples with a resolution between 4 and 32 bits per sample. FLAC does not support floating point samples. In some cases it is possible to losslessly transform samples from an incompatible range to a FLAC-compatible range before encoding.<br />
+ <br />
+ FLAC supports linear sample rates from 1Hz - 655350Hz in 1Hz increments.
- <P>
- <B>Project</B>
- <BR>
- <UL>
- <LI>
- <A HREF="#project__lists"><B>Where are the mailing lists, forums, discussion areas, etc.?</B></A>
- </LI>
- <LI>
- <A HREF="#project__submit_bug"><B>How do I submit a bug report?</B></A>
- </LI>
- </UL>
- </P>
+ <h2>
+ <b>Tools</b>
+ </h2>
- <H2>
- <B>General</B>
- </H2>
- <P>
- <A NAME="general__license"><B>What licensing applies to the FLAC format and software?</B></A>
- </P>
- <P>
- See the <A HREF="license.html">license page</A>.
- </P>
- <P>
- <A NAME="general__tagging"><B>What kinds of tags does FLAC support?</B></A>
- </P>
- <P>
- FLAC has it's own native tagging system which is identical to that of Vorbis. They are called alternately "FLAC tags" and "Vorbis comments". It is the only tagging system required and guaranteed to be supported by FLAC implementations.
- </P>
- <P>
- Out of convenience, the reference decoder knows how to skip ID3 tags so that they don't interfere with decoding. But you should not expect any tags beside FLAC tags to be supported in applications; some implementations may not even be able to decode a FLAC file with ID3 tags.
- </P>
- <P>
- <A NAME="general__software"><B>What software support FLAC?</B></A>
- </P>
- <P>
- This list is so large now it is difficult to maintain and keep up-to-date. For a partial list of open-source software that supports FLAC, see the <A HREF="links.html#software">software section</A> of the links page. For a partial list of the most popular software used to encode, decode, play, tag, and rip FLAC files, see the <A HREF="download.html">download page</A>.
- </P>
- <P>
- <A NAME="general__hardware"><B>What hardware products support FLAC?</B></A>
- </P>
- <P>
- See the <A HREF="links.html#hardware">hardware section</A> of the links page.
- </P>
- <P>
- <A NAME="general__native_vs_ogg"><B>What is the difference between (native) FLAC and Ogg FLAC?</B></A>
- </P>
- <P>
- You can think of an audio codec as having two layers. The inside layer is the raw compressed data, and the outside layer is the "container" or "transport layer" that splits and arranges the compressed data in pieces so it can be seeked through, edited, etc.
- </P>
- <P>
- "Native" FLAC is the compressed FLAC data stored in a very minimalist container, designed to be very efficient at storing single audio streams.
- </P>
- <P>
- Ogg FLAC is the compressed FLAC data stored in an <A HREF="http://xiph.org/ogg/vorbis/doc/oggstream.html">Ogg container</A>. Ogg is a much more powerful transport layer that enables mixing several kinds of different streams (audio, data, metadata, etc). The overhead is slightly higher than with native FLAC.
- </P>
- <P>
- In either case, the compressed FLAC data is the same and one can be converted to the other without re-encoding.
- </P>
- <P>
- <A NAME="general__native_or_ogg"><B>Which should I use, (native) FLAC or Ogg FLAC?</B></A>
- </P>
- <P>
- The short answer right now is probably "native FLAC". If all you are doing is compressing audio to be played back later, native FLAC will do everything you need, is more widely supported, and will yield smaller files. If you plan to edit the compressed audio, or want to multiplex the audio with video later in an Ogg container, Ogg FLAC is a better choice.
- </P>
- <P>
- <A NAME="general__no_cuesheet_tags"><B>Why aren't PERFORMER/TITLE/etc tags stored in the FLAC CUESHEET block?</B></A>
- </P>
- <P>
- This has turned out to be a pretty polarizing issue and requires a long explanation.
- </P>
- <P>
- The original purpose of a cue sheet in CD authoring software was to lay out the disc, essentially specifying how the audio will be organized on the disc; some of the information ends up as the CD table of contents: the track numbers and locations, and the index points. Later CD-TEXT was added. But CD-TEXT is a very complex spec, and actually goes in the CD subcode data. It is internationalized, not through Unicode, but with several different character sets, some of them multi-byte. It even allows for graphics. In cue sheets, the TITLE/PERFORMER/etc tags are just a limited shorthand for authoring CD-TEXT, but when you rip, you almost never parse the CD-TEXT, you get it from another database, and it doesn't really belong in the FLAC CUESHEET block.
- </P>
- <P>
- For FLAC the intention is that applications can calculate the CDDB or CDindex ID from the CUESHEET block and look it up in an online or local database just like CD rippers and players do. But if you really want it in the file itself, the track metadata should be stored separate from the CUESHEET, and already can be because of FLAC's metadata system. There just isn't a method specified yet because as soon as it is, people will say that it's not flexible enough. From experience (and you can see this come up time and time again in many lists), anyone who is going to the trouble of keeping a lossless collection in the first place will already be picky about metadata, and it is hard to come up with a standard that will please even the majority. That is the big problem with metadata and is why Xiph has deferred on it, waiting for someone to come up with a good metadata spec that can me multiplexed together with data.
- </P>
- <P>
- Some players (for example Foobar2000) allow you to store the CDDB data as FLAC tags and can parse that.
- </P>
- <P>
- <A NAME="general__no_wave_metadata"><B>Why doesn't FLAC store all WAVE metadata?</B></A>
- </P>
- <P>
- FLAC is a general-purpose audio format, not just a compressed WAVE file format. There's a subtle difference. WAVE is a complicated standard; many kinds of data besides audio data can be put in it. FLAC's purpose is not to reproduce a WAVE file, including all the non-audio data that is in it, it is to losslessly compress the audio.
- </P>
- <P>
- People have asked for that in FLAC, but if it were added, then what about similar formats like AIFF? <B><TT>flac</TT></B> can extract and compress audio data in an AIFF file also. AIFF is widely used on the Mac. AIFF users have asked that all AIFF metadata be stored for the same reasons. And it doesn't end there, other uncompressed formats exist.
- </P>
- <P>
- Also, it would add a lot of complexity to FLAC because non-audio data has to go in the metadata section which is at the beginning of the FLAC file. But in WAVE and AIFF it can go before or after the audio, so the encoding would have to make multiple passes and also store the chunk hierarchy to be able to reproduce it.
- </P>
- <P>
- <A NAME="general__asymmetry"><B>Why do the encoder settings have a big effect on the encoding time but not the decoding time?</B></A>
- </P>
- <P>
- It's hard to explain without going into the codec design, but to oversimplify, the encoder is looking for functions that approximate the signal. Higher settings make the encoder search more to find better approximations. The functions are themselves encoded in the FLAC file. Decoding only requires computing the one chosen function, and the complexity of the function is very stable. This is by design, to make decoding easier, and is one of the things that makes FLAC easy to implement in hardware.
- </P>
- <P>
- <A NAME="general__alternatives"><B>Why use FLAC instead of other codecs that compress more?</B></A>
- </P>
- <P>
- For most users, a small difference in filesize is usually far outweighed by FLAC's advantages: open patent free codec, portable open source (BSD) reference implementation, documented API, multi-platform support, hardware support, multi-channel support, etc. Improving FLAC to get a little more compression is not worth making it more complex and more compute-intensive to decode, and hence, less likely to be supported in hardware.
- </P>
- <P>
- <A NAME="general__encode_faster"><B>Why can't you make FLAC encode faster?</B></A>
- </P>
- <P>
- FLAC already encodes pretty fast. It is faster than real-time even on weak systems and is not much slower than even the fastest codecs. And it is faster than the CD ripping process with which it is usually paired, meaning even if it went faster, it would not speed up the ripping-encoding process anyway.
- </P>
- <P>
- Part of the reason is that FLAC is asymmetric <A HREF="#general__asymmetry">(see also)</A>. That means that it is optimized for decoding speed at the expense of encoding speed, because it makes it easier to decode on low-powered hardware, and because you only encode once but you decode many times.
- </P>
- <P>
- <A NAME="general__lossless_trust"><B>How can I be sure FLAC is lossless?</B></A>
- <BR>
- <A NAME="general__testing"><B>How much testing has been done on FLAC?</B></A>
- </P>
- <P>
- First, FLAC is probably the only lossless compressor that has a published and comprehensive test suite. With the others you rely on the author's personal testing or the longevity of the program. But with FLAC you can download the whole test suite and run it on any version you like, or alter it to test your own data. The test suite checks every function in the API, as well as running many thousands of streams through an encode-decode-verify process, to test every nook and cranny of the system. Even on a fast machine the full test suite takes hours. The full test suite must pass on several platforms before a release is made.
- </P>
- <P>
- Second, you can always use the <TT>-V</TT> option with <TT>flac</TT> (also supported by most GUI frontends) to verify while encoding. With this option, a decoder is run in parallel to the encoder and its output is compared against the original input. If a difference is found <TT>flac</TT> will stop with an error.
- </P>
- <P>
- Finally, FLAC is used by many people and has been judged stable enough by many software and hardware makers to be incorporated into their products.
- </P>
- <P>
- <A NAME="general__lowest_bitrate"><B>What is the lowest bitrate (or highest compression) achievable with FLAC?</B></A>
- </P>
- <P>
- With FLAC you do not specify a bitrate like with some lossy codecs. It's more like specifying a quality with Vorbis or MPC, except with FLAC the quality is always "lossless" and the resulting bitrate is roughly proportional to the amount of information in the original signal. You cannot control the bitrate much and the result can be from around 100% of the input rate (if you are encoding noise), down to almost 0 (encoding silence).
- </P>
- <P>
- <A NAME="general__channels"><B>How many channels does FLAC support?</B></A>
- </P>
- <P>
- FLAC supports from 1 to 8 channels per stream. Channels are only grouped in FLAC to take advantage of interchannel correlation and to define common channel assignments (like stereo L/R, 5.1 surround, et cetera). When encoding a large number of independent channels it is expected that they are coded separately and if required, multiplexed together in a suitable container like Ogg or Matroska.
- </P>
- <P>
- <A NAME="general__samples"><B>What kind of audio samples does FLAC support?</B></A>
- </P>
- <P>
- FLAC supports linear PCM samples with a resolution between 4 and 32 bits per sample. FLAC does not support floating point samples. In some cases it is possible to losslessly transform samples from an incompatible range to a FLAC-compatible range before encoding.
- </P>
- <P>
- FLAC supports linear sample rates from 1Hz - 655350Hz in 1Hz increments.
- </P>
+ <a name="tools__eac_and_flac"><b>How do I set up EAC to rip directly to FLAC?</b></a><br />
+ <br />
+ See Case's excellent <a href="http://www.saunalahti.fi/cse/EAC/index.html">EAC configuration page</a>. Or use <a href="http://mareo.netfirms.com/">MAREO</a> to rip to multiple formats at once.<br />
+ <br />
+ <a name="tools__option_blocking"><b>How do I encode a file that starts with a dash?</b></a><br />
+ <br />
+ When using <span class="commandname">flac</span> to encode on the command-line, a file that starts with a dash will be treated as an option, but there is a simple workaround. Use <span class="argument">--</span> to signal the end of options and the beginning of filenames, like so:<br />
+ <br />
+ <span class="code">flac -V -- -01-name.wav</span><br />
+ <br />
+ <a name="tools__long_meta_edits"><b>Why does it take so long to edit some FLAC files with metaflac?</b></a><br />
+ <br />
+ Since metadata is stored at the beginning of a FLAC file, changing the length of it can sometimes cause the whole file to be rewritten. You can avoid this by adding padding with <span class="commandname">flac</span> when you encode, or with <span class="commandname">metaflac</span> after encoding. By default, <span class="commandname">flac</span> adds 4k of padding; you can change this amount if you need more or less.<br />
+ <br />
+ <a name="tools__hardware_prob"><b>I compressed a file to FLAC with verify on, and flac said "Verify FAILED!" Why?</b></a><br />
+ <br />
+ Every single report of this has turned out to be caused by a hardware problem, usually aggressive over-clocking or bad RAM. The best indicator of this is that the verify failure does not always happen in the same place for the same file. First, read the comments in <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=595858&amp;group_id=13478&amp;atid=113478">this bug report</a>. Then, if you have a file that fails verification in the same place every time, <a href="#project__submit_bug">submit a new bug</a>, uploading a sample according to <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=585158&amp;group_id=13478&amp;atid=113478">the instructions found at the bottom of this bug report</a>.<br />
+ <br />
+ <a name="tools__wave_flac_wave"><b>I compressed a WAVE file to FLAC, then decompressed to WAVE, and the two weren't identical. Why?</b></a><br />
+ <a name="tools__skipped_subchunk"><b>I compressed a WAVE file to FLAC and it said "warning: skipping unknown sub-chunk LIST". Why?</b></a><br />
+ <br />
+ WAVE is a complicated standard; many kinds of data besides audio data can be put in it. Most likely what has happened is that the application that created the original WAVE file also added some extra information for it's own use, which FLAC does not store or recreate <a href="#tools__two_bytes_short">(see also)</a>. But the audio data in the two WAVE files will be identical. There are other tools to compare just the audio content of two WAVE files; <a href="http://www.exactaudiocopy.de/">ExactAudioCopy</a> has such a feature.<br />
+ <br />
+ For the more technically inclined, FLAC only stores what is in the 'fmt ' and 'data' sub-chunks of a WAVE file.<br />
+ <br />
+ <a href="#general__no_wave_metadata">(see also)</a><br />
+ <br />
+ <a name="tools__two_bytes_short"><b>I decoded a FLAC file and the WAVE is 2 bytes shorter than the original. Why?</b></a><br />
+ <br />
+ The difference is probably that between an 18-byte 'fmt ' subchunk in the original WAVE vs. a 16-byte one in the decoded WAVE. With WAVE there is more than one way to write identical formatting information, but FLAC always writes the most common form. <a href="#tools__wave_flac_wave">(see also)</a><br />
+ <br />
+ <a name="tools__not_streamable"><b>Why did I get "ERROR initializing encoder, state = 14:FLAC__STREAM_ENCODER_NOT_STREAMABLE"?</b></a><br />
+ <br />
+ You specified encoding options that are outside the <a href="format.html#subset">Streamable subset</a>. If that is what you really wanted, you must also use <span class="code">flac --lax</span>.
- <H2>
- <B>Tools</B>
- </H2>
- <P>
- <A NAME="tools__eac_and_flac"><B>How do I set up EAC to rip directly to FLAC?</B></A>
- </P>
- <P>
- See Case's excellent <A HREF="http://www.saunalahti.fi/cse/EAC/index.html">EAC configuration page</A>. Or use <A HREF="http://mareo.netfirms.com/">MAREO</A> to rip to multiple formats at once.
- </P>
- <P>
- <A NAME="tools__option_blocking"><B>How do I encode a file that starts with a dash?</B></A>
- </P>
- <P>
- When using <TT>flac</TT> to encode on the command-line, a file that starts with a dash will be treated as an option, but there is a simple workaround. Use <TT>--</TT> to signal the end of options and the beginning of filenames, like so:
- </P>
- <P>
- <TT>flac -V -- -01-name.wav</TT>
- </P>
- <P>
- <A NAME="tools__long_meta_edits"><B>Why does it take so long to edit some FLAC files with metaflac?</B></A>
- </P>
- <P>
- Since metadata is stored at the beginning of a FLAC file, changing the length of it can sometimes cause the whole file to be rewritten. You can avoid this by adding padding with <TT>flac</TT> when you encode, or with <TT>metaflac</TT> after encoding. By default, <TT>flac</TT> adds 4k of padding; you can change this amount if you need more or less.
- </P>
- <P>
- <A NAME="tools__hardware_prob"><B>I compressed a file to FLAC with verify on, and flac said "Verify FAILED!" Why?</B></A>
- </P>
- <P>
- Every single report of this has turned out to be caused by a hardware problem, usually aggressive over-clocking or bad RAM. The best indicator of this is that the verify failure does not always happen in the same place for the same file. First, read the comments in <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=595858&group_id=13478&atid=113478">this bug report</A>. Then, if you have a file that fails verification in the same place every time, <A HREF="#project__submit_bug">submit a new bug</A>, uploading a sample according to <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=585158&group_id=13478&atid=113478">the instructions found at the bottom of this bug report</A>.
- </P>
- <P>
- <A NAME="tools__wave_flac_wave"><B>I compressed a WAVE file to FLAC, then decompressed to WAVE, and the two weren't identical. Why?</B></A>
- <BR>
- <A NAME="tools__skipped_subchunk"><B>I compressed a WAVE file to FLAC and it said "warning: skipping unknown sub-chunk LIST". Why?</B></A>
- </P>
- <P>
- WAVE is a complicated standard; many kinds of data besides audio data can be put in it. Most likely what has happened is that the application that created the original WAVE file also added some extra information for it's own use, which FLAC does not store or recreate <A HREF="#tools__two_bytes_short">(see also)</A>. But the audio data in the two WAVE files will be identical. There are other tools to compare just the audio content of two WAVE files; <A HREF="http://www.exactaudiocopy.de/">ExactAudioCopy</A> has such a feature.
- </P>
- <P>
- For the more technically inclined, FLAC only stores what is in the 'fmt ' and 'data' sub-chunks of a WAVE file.
- </P>
- <P>
- <A HREF="#general__no_wave_metadata">(see also)</A>
- </P>
- <P>
- <A NAME="tools__two_bytes_short"><B>I decoded a FLAC file and the WAVE is 2 bytes shorter than the original. Why?</B></A>
- </P>
- <P>
- The difference is probably that between an 18-byte 'fmt ' subchunk in the original WAVE vs. a 16-byte one in the decoded WAVE. With WAVE there is more than one way to write identical formatting information, but FLAC always writes the most common form. <A HREF="#tools__wave_flac_wave">(see also)</A>
- </P>
- <P>
- <A NAME="tools__not_streamable"><B>Why did I get "ERROR initializing encoder, state = 14:FLAC__STREAM_ENCODER_NOT_STREAMABLE"?</B></A>
- </P>
- <P>
- You specified encoding options that are outside the <A HREF="format.html#subset">Streamable subset</A>. If that is what you really wanted, you must also use <TT>flac --lax</TT>.
- </P>
+ <h2>
+ <b>API</b>
+ </h2>
- <H2>
- <B>API</B>
- </H2>
- <P>
- <A NAME="api__frame_length"><B>How can I determine the encoded frame length?</B></A>
- </P>
- <P>
- With native FLAC, it is not possible to determine the frame length without decoding. Probably if I had it all to do again I would have constrained the possible block sizes, which would have made it more practical to put the frame length in the frame header. For an example of how to find the frame boundaries in a stream, see the source code to <TT>metaflac</TT>, in the functionality that adds seek points.
- </P>
- <P>
+ <a name="api__frame_length"><b>How can I determine the encoded frame length?</b></a><br />
+ <br />
+ With native FLAC, it is not possible to determine the frame length without decoding. Probably if I had it all to do again I would have constrained the possible block sizes, which would have made it more practical to put the frame length in the frame header. For an example of how to find the frame boundaries in a stream, see the source code to <span class="commandname">metaflac</span>, in the functionality that adds seek points.<br />
+ <br />
With Ogg FLAC, it can be calculated from the Ogg page header.
- </P>
-
- <H2>
- <B>Project</B>
- </H2>
- <P>
- <A NAME="project__lists"><B>Where are the mailing lists, forums, discussion areas, etc.?</B></A>
- </P>
- <P>
- There are a few places. The main discussions happen on <A HREF="http://sourceforge.net/mail/?group_id=13478">the official FLAC mailing lists</A>. Eventually we will be transitioning over to <A HREF="http://xiph.org/archives/">the lists on Xiph.org</A>. Also, there is a lot of discussion relating to FLAC on <A HREF="http://www.hydrogenaudio.org/">Hydrogen Audio</A>.
- </P>
- <P>
- <A NAME="project__submit_bug"><B>How do I submit a bug report?</B></A>
- </P>
- <P>
- First, <A HREF="http://sourceforge.net/tracker/?group_id=13478&atid=113478">visit the bug tracking page</A> and do a little searching of both open and closed bugs to see if yours is already there. If you have something truly new, <A HREF="http://sourceforge.net/bugs/?func=addbug&group_id=13478">submit a new bug</A>. <B>Make sure</B> to monitor the bug or include your email address in the description. Include as much information as possible: the version of FLAC that you are running, the name and version of any frontend you are running, your operating system and version, your CPU type and speed, the amount of memory you have, where you downloaded FLAC from, the exact error message (if any) copied from the console, and anything else you may think will help.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
+ <h2>
+ <b>Project</b>
+ </h2>
+ <a name="project__lists"><b>Where are the mailing lists, forums, discussion areas, etc.?</b></a><br />
+ <br />
+ There are a few places. The main discussions happen on <a href="http://sourceforge.net/mail/?group_id=13478">the official FLAC mailing lists</a>. Eventually we will be transitioning over to <a href="http://xiph.org/archives/">the lists on Xiph.org</a>. Also, there is a lot of discussion relating to FLAC on <a href="http://www.hydrogenaudio.org/">Hydrogen Audio</a>.<br />
+ <br />
+ <a name="project__submit_bug"><b>How do I submit a bug report?</b></a><br />
+ <br />
+ First, <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=113478">visit the bug tracking page</a> and do a little searching of both open and closed bugs to see if yours is already there. If you have something truly new, <a href="http://sourceforge.net/bugs/?func=addbug&amp;group_id=13478">submit a new bug</a>. <b>Make sure</b> to monitor the bug or include your email address in the description. Include as much information as possible: the version of FLAC that you are running, the name and version of any frontend you are running, your operating system and version, your CPU type and speed, the amount of memory you have, where you downloaded FLAC from, the exact error message (if any) copied from the console, and anything else you may think will help.
+ </div>
+ <div class="box_footer"></div>
+</div>
-</CENTER>
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
-</BODY>
-</HTML>
+</body>
+</html>
diff --git a/doc/html/features.html b/doc/html/features.html
index 0b0f7a87..3bf703ab 100644
--- a/doc/html/features.html
+++ b/doc/html/features.html
@@ -1,159 +1,125 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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>
- <TITLE>FLAC - features</TITLE>
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;features&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/features.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">features</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- FLAC stands for Free Lossless Audio Codec. Grossly oversimplified, FLAC is similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality. This is similar to how Zip works, except with FLAC you will get much better compression because it is designed specifically for audio, and you can play back compressed FLAC files in your favorite player (or your car or home stereo, see <A HREF="links.html#hardware">supported devices</A>) just like you would an MP3 file.
- </P>
- <P>
- FLAC is freely available and supported on most operating systems, including Windows, "unix" (Linux, *BSD, Solaris, OS X, IRIX), BeOS, OS/2, and Amiga. There are build systems for autotools, MSVC, Watcom C, and Project Builder.
- </P>
- <P>
+<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 - features</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="separator2"></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;features&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/features.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="below_nav"></div>
+
+<div class="box">
+ <div class="box_title">
+ features
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ FLAC stands for Free Lossless Audio Codec. Grossly oversimplified, FLAC is similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality. This is similar to how Zip works, except with FLAC you will get much better compression because it is designed specifically for audio, and you can play back compressed FLAC files in your favorite player (or your car or home stereo, see <a href="links.html#hardware">supported devices</a>) just like you would an MP3 file.<br />
+ <br />
+ FLAC is freely available and supported on most operating systems, including Windows, "unix" (Linux, *BSD, Solaris, OS X, IRIX), BeOS, OS/2, and Amiga. There are build systems for autotools, MSVC, Watcom C, and Project Builder.<br />
+ <br />
The FLAC project consists of:
- </P>
- <P>
- <UL>
- <LI>the stream format</LI>
- <LI>reference encoders and decoders in library form</LI>
- <LI><B><TT>flac</TT></B>, a command-line program to encode and decode FLAC files</LI>
- <LI><B><TT>metaflac</TT></B>, a command-line metadata editor for FLAC files</LI>
- <LI>input plugins for various music players</LI>
- </UL>
- </P>
- <P>
- When we say that FLAC is "Free" it means more than just that it is available at no cost. It means that the specification of the format is fully open to the public to be used for any purpose (the FLAC project reserves the right to set the FLAC specification and certify compliance), and that neither the FLAC format nor any of the implemented encoding/decoding methods are covered by any known patent. It also means that all the source code is available under open-source licenses. It is the first truly open and free lossless audio format. (For more information, see the <A HREF="license.html">license page</A>.)
- </P>
- <P>
+ <ul>
+ <li>the stream format</li>
+ <li>reference encoders and decoders in library form</li>
+ <li><span class="commandname">flac</span>, a command-line program to encode and decode FLAC files</li>
+ <li><span class="commandname">metaflac</span>, a command-line metadata editor for FLAC files</li>
+ <li>input plugins for various music players</li>
+ </ul>
+ When we say that FLAC is "Free" it means more than just that it is available at no cost. It means that the specification of the format is fully open to the public to be used for any purpose (the FLAC project reserves the right to set the FLAC specification and certify compliance), and that neither the FLAC format nor any of the implemented encoding/decoding methods are covered by any known patent. It also means that all the source code is available under open-source licenses. It is the first truly open and free lossless audio format. (For more information, see the <a href="license.html">license page</a>.)<br />
+ <br />
Notable features of FLAC:
- </P>
- <UL>
- <P><LI>
- <B>Lossless</B>: The encoding of audio (PCM) data incurs no loss of information, and the decoded audio is bit-for-bit identical to what went into the encoder. Each frame contains a 16-bit CRC of the frame data for detecting transmission errors. The integrity of the audio data is further insured by storing an <A HREF="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5 signature</A> of the original unencoded audio data in the file header, which can be compared against later during decoding or testing.
- </LI></P>
- <P><LI>
- <B>Fast</B>: FLAC is asymmetric in favor of decode speed. Decoding requires only integer arithmetic, and is much less compute-intensive than for most perceptual codecs. Real-time decode performance is easily achievable on even modest hardware.
- </LI></P>
- <P><LI>
- <B>Hardware support</B>: Because of FLAC's free reference implementation and low decoding complexity, FLAC is currently the only lossless codec that has any kind of hardware support.
- </LI></P>
- <P><LI>
- <B>Streamable</B>: Each FLAC frame contains enough data to decode that frame. FLAC does not even rely on previous or following frames. FLAC uses sync codes and CRCs (similar to MPEG and other formats), which, along with framing, allow decoders to pick up in the middle of a stream with a minimum of delay.
- </LI></P>
- <P><LI>
- <B>Seekable</B>: FLAC supports fast sample-accurate seeking. Not only is this useful for playback, it makes FLAC files suitable for use in editing applications.
- </LI></P>
- <P><LI>
- <B>Flexible metadata</B>: New metadata blocks can be defined and implemented in future versions of FLAC without breaking older streams or decoders. Currently there are metadata types for tags, cue sheets, and seek tables. Applications can write their own <A HREF="format.html#def_APPLICATION">APPLICATION</A> metadata once they <A HREF="id.html">register an ID</A>
- </LI></P>
- <P><LI>
- <B>Suitable for archiving</B>: FLAC is an open format, and there is no generation loss if you need to convert your data to another format in the future. In addition to the frame CRCs and MD5 signature, <B><TT>flac</TT></B> has a verify option that decodes the encoded stream in parallel with the encoding process and compares the result to the original, aborting with an error if there is a mismatch.
- </LI></P>
- <P><LI>
- <B>Convenient CD archiving</B>: FLAC has a <A HREF="format.html#def_CUESHEET">"cue sheet"</a> metadata block for storing a CD table of contents and all track and index points. For instance, you can rip a CD to a single file, then import the CD's extracted cue sheet while encoding to yield a single file representation of the entire CD. If your original CD is damaged, the cue sheet can be exported later in order to burn an exact copy.
- </LI></P>
- <P><LI>
- <B>Error resistant</B>: Because of FLAC's framing, stream errors limit the damage to the frame in which the error occurred, typically a small fraction of a second worth of data. Contrast this with some other lossless codecs, in which a single error destroys the remainder of the stream.
- </LI></P>
- </UL>
- <P>
- What FLAC is <B>not</B>:
- </P>
- <UL>
- <P><LI>
- Lossy. FLAC is intended for lossless compression only, as there are many good lossy formats already, such as <A HREF="http://www.xiph.org/ogg/vorbis/index.html">Vorbis</A>, <!-- A HREF="http://musepack.org/" -->MPC<!-- /A -->, and <A HREF="http://www.mp3-tech.org/">MP3</A> (see <A HREF="http://www.mp3dev.org/mp3/">LAME</A> for an excellent open-source implementation).
- </LI></P>
- <P><LI>
- SDMI compliant, et cetera. There is no intention to support any methods of copy protection, which are, for all practical purposes, a complete waste of bits. (Another way to look at it is that since copy protection is futile, it really carries no information, so you might say FLAC already losslessly compresses all possible copy protection information down to zero bits!) Of course, we can't stop what some misguided person does with proprietary metadata blocks, but then again, non-proprietary decoders will skip them anyway.
- </LI></P>
- </UL>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-</CENTER>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
-
-</BODY>
-</HTML>
+ <ul>
+ <li>
+ <b>Lossless</b>: The encoding of audio (PCM) data incurs no loss of information, and the decoded audio is bit-for-bit identical to what went into the encoder. Each frame contains a 16-bit CRC of the frame data for detecting transmission errors. The integrity of the audio data is further insured by storing an <a href="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5 signature</a> of the original unencoded audio data in the file header, which can be compared against later during decoding or testing.
+ </li>
+ <li>
+ <b>Fast</b>: FLAC is asymmetric in favor of decode speed. Decoding requires only integer arithmetic, and is much less compute-intensive than for most perceptual codecs. Real-time decode performance is easily achievable on even modest hardware.
+ </li>
+ <li>
+ <b>Hardware support</b>: Because of FLAC's free reference implementation and low decoding complexity, FLAC is currently the only lossless codec that has any kind of hardware support.
+ </li>
+ <li>
+ <b>Streamable</b>: Each FLAC frame contains enough data to decode that frame. FLAC does not even rely on previous or following frames. FLAC uses sync codes and CRCs (similar to MPEG and other formats), which, along with framing, allow decoders to pick up in the middle of a stream with a minimum of delay.
+ </li>
+ <li>
+ <b>Seekable</b>: FLAC supports fast sample-accurate seeking. Not only is this useful for playback, it makes FLAC files suitable for use in editing applications.
+ </li>
+ <li>
+ <b>Flexible metadata</b>: New metadata blocks can be defined and implemented in future versions of FLAC without breaking older streams or decoders. Currently there are metadata types for tags, cue sheets, and seek tables. Applications can write their own <a href="format.html#def_APPLICATION">APPLICATION</a> metadata once they <a href="id.html">register an ID</a>
+ </li>
+ <li>
+ <b>Suitable for archiving</b>: FLAC is an open format, and there is no generation loss if you need to convert your data to another format in the future. In addition to the frame CRCs and MD5 signature, <span class="commandname">flac</span> has a verify option that decodes the encoded stream in parallel with the encoding process and compares the result to the original, aborting with an error if there is a mismatch.
+ </li>
+ <li>
+ <b>Convenient CD archiving</b>: FLAC has a <a href="format.html#def_CUESHEET">"cue sheet"</a> metadata block for storing a CD table of contents and all track and index points. For instance, you can rip a CD to a single file, then import the CD's extracted cue sheet while encoding to yield a single file representation of the entire CD. If your original CD is damaged, the cue sheet can be exported later in order to burn an exact copy.
+ </li>
+ <li>
+ <b>Error resistant</b>: Because of FLAC's framing, stream errors limit the damage to the frame in which the error occurred, typically a small fraction of a second worth of data. Contrast this with some other lossless codecs, in which a single error destroys the remainder of the stream.
+ </li>
+ </ul>
+ What FLAC is <b>not</b>:
+ <ul>
+ <li>
+ Lossy. FLAC is intended for lossless compression only, as there are many good lossy formats already, such as <a href="http://www.xiph.org/ogg/vorbis/index.html">Vorbis</a>, <!-- a href="http://musepack.org/" -->MPC<!-- /a -->, and <a href="http://www.mp3-tech.org/">MP3</a> (see <a href="http://www.mp3dev.org/mp3/">LAME</a> for an excellent open-source implementation).
+ </li>
+ <li>
+ SDMI compliant, et cetera. There is no intention to support any methods of copy protection, which are, for all practical purposes, a complete waste of bits. (Another way to look at it is that since copy protection is futile, it really carries no information, so you might say FLAC already losslessly compresses all possible copy protection information down to zero bits!) Of course, we can't stop what some misguided person does with proprietary metadata blocks, but then again, non-proprietary decoders will skip them anyway.
+ </li>
+ </ul>
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
+
+</body>
+</html>
diff --git a/doc/html/flac.css b/doc/html/flac.css
new file mode 100644
index 00000000..cce84bce
--- /dev/null
+++ b/doc/html/flac.css
@@ -0,0 +1,197 @@
+/*
+ * Copyright (c) 2005 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
+ */
+
+body
+{
+ background-color: #99CC99;
+ color: black;
+ margin: 0px;
+ padding: 0px;
+}
+
+div
+{
+ background-color: #99CC99;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.logo
+{
+ background-color: black;
+ padding: 1px;
+ text-align: center;
+}
+
+div.navbar
+{
+ background-color: #D3D4C5;
+ padding: 3px;
+ text-align: center;
+}
+
+div.langbar
+{
+ background-color: #EEEED4;
+ padding: 3px;
+ text-align: center;
+}
+
+div.above_nav
+{
+ height: 25px;
+}
+
+div.below_nav
+{
+ height: 25px;
+}
+
+div.body_with_sidebar
+{
+/* text-align: left; */
+}
+
+div.box
+{
+ text-align: left;
+ margin: 0px 8px 0px 8px;
+ background-color: #EEEED4;
+}
+
+div.box_title
+{
+ border-width: 1px 0px 0px 0px;
+ border-style: solid;
+ border-color: black;
+ background-color: #D3D4C5;
+ padding: 3px;
+ font-family: lucida, verdana, helvetica, arial, sans-serif;
+ font-weight: bold;
+ font-size: 150%;
+}
+
+div.box_header
+{
+ border-width: 1px 0px 0px 0px;
+ border-style: solid;
+ border-color: black;
+ background-color: #EEEED4;
+ padding: 3px;
+}
+
+div.box_footer
+{
+ border-width: 0px 0px 1px 0px;
+ border-style: solid;
+ border-color: black;
+ background-color: #EEEED4;
+ padding: 3px;
+}
+
+div.box_body
+{
+ background-color: #EEEED4;
+ padding: 0px 3px 0px 3px;
+ font-family: lucida, verdana, helvetica, arial, sans-serif;
+ font-weight: normal;
+ font-size: 100%;
+}
+
+div.smallbox
+{
+ text-align: left;
+ margin: 0px 8px 0px 0px;
+ background-color: #EEEED4;
+}
+
+div.smallbox_title
+{
+ text-align: center;
+ border-width: 1px 0px 0px 0px;
+ border-style: solid;
+ border-color: black;
+ background-color: #D3D4C5;
+ padding: 3px;
+ font-family: lucida, verdana, helvetica, arial, sans-serif;
+ font-weight: bold;
+ font-size: 100%;
+}
+
+div.smallbox_header
+{
+ border-width: 1px 0px 0px 0px;
+ border-style: solid;
+ border-color: black;
+ background-color: #EEEED4;
+ padding: 3px;
+}
+
+div.smallbox_footer
+{
+ border-width: 0px 0px 1px 0px;
+ border-style: solid;
+ border-color: black;
+ background-color: #EEEED4;
+ padding: 3px;
+}
+
+div.smallbox_body
+{
+ background-color: #EEEED4;
+ padding: 0px 3px 0px 3px;
+ font-family: lucida, verdana, helvetica, arial, sans-serif;
+ font-weight: normal;
+ font-size: 80%;
+}
+
+div.copyright
+{
+ text-align: left;
+ margin: 10px;
+}
+
+div.separator
+{
+ background-color: black;
+ height: 1px;
+}
+
+div.separator2
+{
+ background-color: black;
+ height: 2px;
+}
+
+span.commandname
+{
+ font-family: monospace;
+ font-weight: bold;
+}
+
+span.command
+{
+ font-family: monospace;
+ font-weight: bold;
+}
+
+span.argument
+{
+ font-family: monospace;
+}
+
+span.code
+{
+ font-family: monospace;
+}
+
+a:link {color:#336699; background-color:transparent}
+a:visited {color:#336699; background-color:transparent}
+a:active {color:#336699; background-color:transparent}
+a:hover {color:#336699; background-color:transparent}
diff --git a/doc/html/format.html b/doc/html/format.html
index 311cb8c5..6f0b97a4 100644
--- a/doc/html/format.html
+++ b/doc/html/format.html
@@ -1,1605 +1,1590 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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>
- <TITLE>FLAC - format</TITLE>
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;format&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/format.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">format</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- 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>.
- </P>
- <P>
- <A NAME="toc"><FONT SIZE="+1"><B><U>Table of Contents</U></B></FONT></A>
- </P>
- <P>
- <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>
- </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>
- </P>
- <P>
- <A NAME="acknowledgments"><FONT SIZE="+1"><B><U>Acknowledgments</U></B></FONT></A>
- </P>
- <P>
+<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="separator2"></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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;format&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/format.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></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 />
+ <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>
+ </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:
- </P>
- <P>
- <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://www.digitalcentury.com/encyclo/update/shannon.html">Claude Shannon</A>
- </LI>
- </UL>
- </P>
- <P>
- <A NAME="scope"><FONT SIZE="+1"><B><U>Scope</U></B></FONT></A>
- </P>
- <P>
- 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.
- </P>
- <P>
+ <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://www.digitalcentury.com/encyclo/update/shannon.html">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.
- </P>
- <P>
- <A NAME="architecture"><FONT SIZE="+1"><B><U>Architecture</U></B></FONT></A>
- </P>
- <P>
+ <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:
- </P>
- <UL>
- <P><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></P>
- <P><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></P>
- <P><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></P>
- <LI><P>
- <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></P>
- </UL>
- <P>
+ <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.
- </P>
- <P>
- <A NAME="definitions"><FONT SIZE="+1"><B><U>Definitions</U></B></FONT></A>
- </P>
- <P>
+ <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.
- </P>
- <UL>
- <P><LI>
- <B>Block</B>: One or more audio samples that span several channels.
- </LI></P>
- <P><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></P>
- <P><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></P>
- <P><LI>
- <B>Frame</B>: A frame header plus one or more subframes.
- </LI></P>
- <P><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></P>
- </UL>
- <P>
- <A NAME="blocking"><FONT SIZE="+1"><B><U>Blocking</U></B></FONT></A>
- </P>
- <P>
+ <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.
- </P>
- <P>
+ <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.
- </P>
- <P>
+ <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.
- </P>
- <P>
- <A NAME="interchannel"><FONT SIZE="+1"><B><U>Interchannel Decorrelation</U></B></FONT></A>
- </P>
- <P>
+ <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.
- </P>
- <UL>
- <P><LI>
- <B>Independent</B>. The left and right channels are coded independently.
- </LI></P>
- <P><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></P>
- <P><LI>
- <B>Left-side</B>. The left channel and side channel are coded.
- </LI></P>
- <P><LI>
- <B>Right-side</B>. The right channel and side channel are coded
- </LI></P>
- </UL>
- <P>
+ <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.
- </P>
- <P>
- <A NAME="prediction"><FONT SIZE="+1"><B><U>Prediction</U></B></FONT></A>
- </P>
- <P>
+ <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:
- </P>
- <UL>
- <P><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></P>
- <P><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></P>
- <P><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></P>
- <P><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></P>
- </UL>
- <P>
- <A NAME="residualcoding"><FONT SIZE="+1"><B><U>Residual Coding</U></B></FONT></A>
- </P>
- <P>
+ <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.)
- </P>
- <P>
- 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.
- </P>
- <P>
- <A NAME="format_overview"><FONT SIZE="+1"><B><U>Format</U></B></FONT>
- </P>
- <P>
+ <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.
- </P>
- <P>
+ <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.
- </P>
- <P>
+ <br /><br />
Before the formal description of the stream, an overview might be helpful.
- </P>
- <UL>
- <P><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></P>
- <P><LI>
- FLAC supports up to 128 kinds of metadata blocks; currently the following are defined:
- <UL>
- <LI><A NAME="def_STREAMINFO"><B>STREAMINFO</B>: 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>: 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>: 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>: 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>: 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/ogg/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.</LI>
- <LI><A NAME="def_CUESHEET"><B>CUESHEET</B>: 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>
- </UL>
- </LI></P>
- <P><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></P>
- <P><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></P>
- <P><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></P>
- <P><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></P>
- <P><LI>
- <A NAME="subset">FLAC 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.
- </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>
- 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></P>
- </UL>
-
- <P>
- 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.
- </P>
-
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-
- <P>
- <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">
+ <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>: 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>: 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>: 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>: 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>: 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/ogg/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.</li>
+ <li><a name="def_CUESHEET" /><b>CUESHEET</b>: 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>
+ </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 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.
+ </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>
+ 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>
+ </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>
+ </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>
+ </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>
+ </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>
- </P>
-
- <P>
- <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>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
+ </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">
+ </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-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">
+ </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-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>
+ </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>
- </P>
-
- <P>
- <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>
- </TD>
- <TD>
+ </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>
+ </td>
+ <td>
The block data must match the block type in the block header.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
-
- <P>
- <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">
+ </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>
+ </td>
+ <td>
The minimum block size (in samples) used in the stream.
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;16&gt;
- </TD>
- <TD>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;24&gt;
- </TD>
- <TD>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;24&gt;
- </TD>
- <TD>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;20&gt;
- </TD>
- <TD>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;3&gt;
- </TD>
- <TD>
+ </td>
+ <td>
(number of channels)-1. FLAC supports from 1 to 8 channels
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;5&gt;
- </TD>
- <TD>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;36&gt;
- </TD>
- <TD>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;128&gt;
- </TD>
- <TD>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
+ </td>
+ <td>
n '0' bits (n must be a multiple of 8)
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
-
- <P>
- <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">
+ </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">
+ </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>
+ </td>
+ <td>
Application data (n must be a multiple of 8)
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
-
- <P>
- <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>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;64&gt;
- </TD>
- <TD>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;16&gt;
- </TD>
- <TD>
+ </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>
+ </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>
+ </li>
+ <li>
Seek points within a table must be sorted in ascending order by sample number.
- </LI>
- <LI>
+ </li>
+ <li>
Seek points within a table must be unique by sample number, with the exception of placeholder points.
- </LI>
- <LI>
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
- The contents of a vorbis comment packet as specified <A HREF="http://www.xiph.org/ogg/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>
- </P>
-
- <P>
- <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">
+ </td>
+ <td>
+ The contents of a vorbis comment packet as specified <a href="http://www.xiph.org/ogg/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>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;64&gt;
- </TD>
- <TD>
+ </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">
+ </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">
+ </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>
+ </td>
+ <td>
Reserved. All bits must be set to zero.
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;8&gt;
- </TD>
- <TD>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;8&gt;
- </TD>
- <TD>
+ </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">
+ </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">
+ </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>
+ </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">
+ </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">
+ </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>
+ </td>
+ <td>
Reserved. All bits must be set to zero.
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;8&gt;
- </TD>
- <TD>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;8&gt;
- </TD>
- <TD>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;3*8&gt;
- </TD>
- <TD>
+ </td>
+ <td>
Reserved. All bits must be set to zero.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
-
- <P>
- <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>
+ </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>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;?&gt;
- </TD>
- <TD>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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">
+ </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">
+ </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">
+ </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">
+ </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>
+ </td>
+ <td>
Channel assignment
- <UL>
- <LI>
- <TT>0000-0111</TT> : (number of independent channels)-1. when == 0001, channel 0 is the left channel and channel 1 is the right
- </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">
+ <ul>
+ <li>
+ <tt>0000-0111</tt> : (number of independent channels)-1. when == 0001, channel 0 is the left channel and channel 1 is the right
+ </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">
+ </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>
+ </td>
+ <td>
Zero bit padding, to prevent sync-fooling string of 1s
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
+ </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>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;?&gt;
- </TD>
- <TD>
- if(blocksize bits == 011x)<BR>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;?&gt;
- </TD>
- <TD>
- if(sample rate bits == 11xx)<BR>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;8&gt;
- </TD>
- <TD>
+ </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>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
+ </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>
- </P>
-
- <P>
- <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>
+ </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">
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
+ </td>
+ <td>
Zero bit padding, to prevent sync-fooling string of 1s
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;6&gt;
- </TD>
- <TD>
+ </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 <= 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">
+ <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>
+ </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>
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
-
- <P>
- <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">
+ <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>
+ </td>
+ <td>
Unencoded constant value of the subblock, n = frame's bits-per-sample.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
-
- <P>
- <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">
+ </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>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
+ </td>
+ <td>
Unencoded warm-up samples (n = frame's bits-per-sample * lpc order).
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;4&gt;
- </TD>
- <TD>
+ </td>
+ <td>
(Quantized linear predictor coefficients' precision in bits)-1 (1111 = invalid).
- </TD>
- </TR>
- <TR>
- <TD ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;5&gt;
- </TD>
- <TD>
+ </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">
+ </td>
+ </tr>
+ <tr>
+ <td align="right" valign="top" bgcolor="#F4F4CC">
&lt;n&gt;
- </TD>
- <TD>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
+ </td>
+ <td>
Unencoded subblock; n = frame's bits-per-sample, i = frame's blocksize.
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
-
- <P>
- <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">
+ </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>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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>
+ </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>
+ </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>
- </P>
-
- <P>
- <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">
+ </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">
+ </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>
+ </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>
+ </li>
+ <li>
else if this is not the first partition of the subframe, n = (frame's blocksize / (2^partition order))
- </LI>
- <LI>
+ </li>
+ <li>
else n = (frame's blocksize / (2^partition order)) - predictor order
- </LI>
- </UL>
- </TD>
- </TR>
- </TABLE>
- </TD></TR></TABLE>
- </P>
-
-</TD></TR>
-</TABLE>
-
+ </li>
+ </ul>
+ </td>
+ </tr>
+ </table>
+ </td></tr></table>
+</div>
-</CENTER>
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
-</BODY>
-</HTML>
+</body>
+</html>
diff --git a/doc/html/goals.html b/doc/html/goals.html
index c15fd29c..e3bfd97d 100644
--- a/doc/html/goals.html
+++ b/doc/html/goals.html
@@ -1,139 +1,107 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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>
- <TITLE>FLAC - goals</TITLE>
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;goals&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/goals.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">goals</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- Since FLAC is an open-source project, it's important to have a set of goals that everyone works to. They may change slightly from time to time but they're a good guideline. Changes should be in line with the goals and should not attempt to embrace any of the anti-goals!
- </P>
- <P>
- <B>Goals</B>
- </P>
- <P>
- <UL>
- <LI>
- FLAC should be and stay an open format with an open-source reference implementation.
- </LI>
- <LI>
- FLAC should be lossless. This seems obvious but lossy compression seems to creep into every audio codec. This goal also means that flac should stay archival quality and be truly lossless for all input. Testing of releases should be thorough.
- </LI>
- <LI>
- FLAC should yield respectable compression, on par or better than other lossless codecs.
- </LI>
- <LI>
- FLAC should allow at least realtime decoding on even modest hardware.
- </LI>
- <LI>
- FLAC should support fast sample-accurate seeking.
- </LI>
- <LI>
- FLAC should allow gapless playback of consecutive streams. This follows from the lossless goal.
- </LI>
- <LI>
- The FLAC project owes a lot to the many people who have advanced the audio compression field so freely, and aims also to contribute through the open-source development of new ideas.
- </LI>
- </UL>
- </P>
- <P>
- <B>Anti-goals</B>
- </P>
- <P>
- <UL>
- <LI>
- Lossy compression. There are already many suitable lossy formats (<A HREF="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</A>, <A HREF="http://www.mp3-tech.org/">MP3</A>, etc.).
- </LI>
- <LI>
- Copy prevention of any kind.
- </LI>
- </UL>
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-</CENTER>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
-
-</BODY>
-</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 - goals</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="separator2"></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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;goals&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/goals.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="below_nav"></div>
+
+<div class="box">
+ <div class="box_title">
+ goals
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ Since FLAC is an open-source project, it's important to have a set of goals that everyone works to. They may change slightly from time to time but they're a good guideline. Changes should be in line with the goals and should not attempt to embrace any of the anti-goals!<br />
+ <br />
+ <b>Goals</b>
+ <ul>
+ <li>
+ FLAC should be and stay an open format with an open-source reference implementation.
+ </li>
+ <li>
+ FLAC should be lossless. This seems obvious but lossy compression seems to creep into every audio codec. This goal also means that flac should stay archival quality and be truly lossless for all input. Testing of releases should be thorough.
+ </li>
+ <li>
+ FLAC should yield respectable compression, on par or better than other lossless codecs.
+ </li>
+ <li>
+ FLAC should allow at least realtime decoding on even modest hardware.
+ </li>
+ <li>
+ FLAC should support fast sample-accurate seeking.
+ </li>
+ <li>
+ FLAC should allow gapless playback of consecutive streams. This follows from the lossless goal.
+ </li>
+ <li>
+ The FLAC project owes a lot to the many people who have advanced the audio compression field so freely, and aims also to contribute through the open-source development of new ideas.
+ </li>
+ </ul>
+ <b>Anti-goals</b><br />
+ <ul>
+ <li>
+ Lossy compression. There are already many suitable lossy formats (<a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a>, <a href="http://www.mp3-tech.org/">MP3</a>, etc.).
+ </li>
+ <li>
+ Copy prevention of any kind.
+ </li>
+ </ul>
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
+
+</body>
+</html>
diff --git a/doc/html/id.html b/doc/html/id.html
index 58292e73..7e6d9b79 100644
--- a/doc/html/id.html
+++ b/doc/html/id.html
@@ -1,226 +1,187 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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>
- <TITLE>FLAC - id</TITLE>
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;id&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/id.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">register</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- FLAC allows third-party applications to register an ID for use with FLAC <A HREF="format.html#def_APPLICATION">APPLICATION metadata blocks</A>. Use the following form to request an ID, or to submit a change to an existing ID.
- </P>
- <P>
- <FORM NAME="register" METHOD="GET" ENCTYPE="text/plain" ACTION="mailto:jcoalson@users.sourceforge.net">
- <CENTER>
- <TABLE BORDER="0" WIDTH="90%">
- <TR>
- <TD>* Application ID: <INPUT TYPE=TEXT NAME="id" SIZE="8" MAXLENGTH="8"></TD>
- </TR>
- <TR>
- <TD>* Application name: <INPUT TYPE=TEXT NAME="name" SIZE="40"></TD>
- </TR>
- <TR>
- <TD>* Contact e-mail: <INPUT TYPE=TEXT NAME="email" SIZE="40"></TD>
- </TR>
- <TR>
- <TD>Application URL: <INPUT TYPE=TEXT NAME="appurl" SIZE="40"></TD>
- </TR>
- <TR>
- <TD>Specification URL: <INPUT TYPE=TEXT NAME="specurl" SIZE="40"></TD>
- </TR>
- <TR>
- <TD>Comment:</TD>
- </TR>
- <TR>
- <TD><TEXTAREA NAME="comment" COLS="72" ROWS="5" WRAP="OFF"></TEXTAREA></TD>
- </TR>
- <TR>
- <TD>(* = mandatory)</TD>
- </TR>
- </TABLE>
- </CENTER>
- <P>
- The ID request should be 8 hexadecimal digits and not conflict with any existing IDs (see the table below for all currently registered IDs). This 32-bit number will be stored big-endian in the block.
- </P>
- <P>
- Information about your application (but not your e-mail address) will show up on this page in the ID directory. You can also provide a URL to your application and a URL reference to the specification of your application's APPLICATION block.
- </P>
- <P>
- You will be notified via e-mail about your submission.
- </P>
- <CENTER><INPUT TYPE=SUBMIT VALUE="Submit request"></CENTER>
- </FORM>
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <A NAME="directory"><B><FONT SIZE="+2">id directory</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- Here is a list of all registered IDs and their applications:
- </P>
- <P>
- <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0" BGCOLOR="#EEEED4"><TR><TD>
- <TABLE WIDTH="100%" BORDER="1" BGCOLOR="#EEEED4">
- <TR>
- <TD BGCOLOR="#D3D4C5">
- <FONT SIZE="+1"><B>ID</B></FONT>
- </TD>
- <TD BGCOLOR="#D3D4C5">
- <FONT SIZE="+1"><B>Application</B></FONT>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <TT>43756573 - "Cues"</TT>
- </TD>
- <TD>
- <A HREF="http://www.goldwave.com">GoldWave</A> cue points (<A HREF="http://www.goldwave.com/developer.php">specification</A>)
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <TT>46746F6C - "Ftol"</TT>
- </TD>
- <TD>
- <A HREF="http://flac-tools.sourceforge.net/">flac-tools</A>
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <TT>5346464C - "SFFL"</TT>
- </TD>
- <TD>
- Sound Font FLAC
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <TT>7065656D - "peem"</TT>
- </TD>
- <TD>
- <A HREF="http://peem.iconoclast.net/">Parseable Embedded Extensible Metadata</A> (<A HREF="http://peem.iconoclast.net/1.0/">specification</A>)
- </TD>
- </TR>
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- <TT>786D6364 - "xmcd"</TT>
- </TD>
- <TD>
- <A HREF="http://www.amb.org/xmcd">xmcd</A>
- </TD>
- </TR>
-<!--
- <TR>
- <TD NOWRAP ALIGN="RIGHT" VALIGN="TOP" BGCOLOR="#F4F4CC">
- deadbeef
- </TD>
- <TD>
- <A HREF="x">Application1</A> (<A HREF="y">specification</A>)
- </TD>
- </TR>
--->
- </TABLE>
- </TD></TR></TABLE>
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-</CENTER>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
-
-</BODY>
-</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 - id</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="separator2"></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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;id&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/id.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="below_nav"></div>
+
+<div class="box">
+ <div class="box_title">
+ register
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ FLAC allows third-party applications to register an ID for use with FLAC <a href="format.html#def_APPLICATION">APPLICATION metadata blocks</a>. Use the following form to request an ID, or to submit a change to an existing ID.<br />
+ <br />
+ <form name="register" method="get" enctype="text/plain" action="mailto:jcoalson@users.sourceforge.net">
+ <center>
+ <table border="0" width="90%">
+ <tr>
+ <td>* Application ID: <input type="text" name="id" size="8" maxlength="8" /></td>
+ </tr>
+ <tr>
+ <td>* Application name: <input type="text" name="name" size="40" /></td>
+ </tr>
+ <tr>
+ <td>* Contact e-mail: <input type="text" name="email" size="40" /></td>
+ </tr>
+ <tr>
+ <td>Application URL: <input type="text" name="appurl" size="40" /></td>
+ </tr>
+ <tr>
+ <td>Specification URL: <input type="text" name="specurl" size="40" /></td>
+ </tr>
+ <tr>
+ <td>Comment:</td>
+ </tr>
+ <tr>
+ <td><textarea name="comment" cols="72" rows="5" /></td>
+ </tr>
+ <tr>
+ <td>(* = mandatory)</td>
+ </tr>
+ </table>
+ </center>
+ <br />
+ The ID request should be 8 hexadecimal digits and not conflict with any existing IDs (see the table below for all currently registered IDs). This 32-bit number will be stored big-endian in the block.<br />
+ <br />
+ Information about your application (but not your e-mail address) will show up on this page in the ID directory. You can also provide a URL to your application and a URL reference to the specification of your application's APPLICATION block.<br />
+ <br />
+ You will be notified via e-mail about your submission.
+ <center><input type="submit" value="Submit request" /></center>
+ </form>
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+<br />
+
+<div class="box">
+ <div class="box_title">
+ <a name="directory" />id directory
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ Here is a list of all registered IDs and their applications:<br />
+ <br />
+ <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#EEEED4"><tr><td>
+ <table width="100%" border="1" bgcolor="#EEEED4">
+ <tr>
+ <td bgcolor="#D3D4C5">
+ <font size="+1"><b>ID</b></font>
+ </td>
+ <td bgcolor="#D3D4C5">
+ <font size="+1"><b>Application</b></font>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <tt>43756573 - "Cues"</tt>
+ </td>
+ <td>
+ <a href="http://www.goldwave.com">GoldWave</a> cue points (<a href="http://www.goldwave.com/developer.php">specification</a>)
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <tt>46746F6C - "Ftol"</tt>
+ </td>
+ <td>
+ <a href="http://flac-tools.sourceforge.net/">flac-tools</a>
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <tt>5346464C - "SFFL"</tt>
+ </td>
+ <td>
+ Sound Font FLAC
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <tt>7065656D - "peem"</tt>
+ </td>
+ <td>
+ <a href="http://peem.iconoclast.net/">Parseable Embedded Extensible Metadata</a> (<a href="http://peem.iconoclast.net/1.0/">specification</a>)
+ </td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ <tt>786D6364 - "xmcd"</tt>
+ </td>
+ <td>
+ <a href="http://www.amb.org/xmcd">xmcd</a>
+ </td>
+ </tr>
+ <!--
+ <tr>
+ <td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
+ deadbeef
+ </td>
+ <td>
+ <a href="x">Application1</a> (<a href="y">specification</a>)
+ </td>
+ </tr>
+ -->
+ </table>
+ </td></tr></table>
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
+
+</body>
+</html>
diff --git a/doc/html/index.html b/doc/html/index.html
index 8c56ec63..ad00b83a 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -1,272 +1,204 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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 NAME="author" CONTENT="Josh Coalson">
- <META NAME="description" CONTENT="An open source codec for lossless audio compression and decompression">
- <META NAME="keywords" CONTENT="lossless,audio,codec,encoder,decoder,compression,compressor,archive,archiving,backup">
- <TITLE>FLAC - Free Lossless Audio Codec</TITLE>
- <LINK REL="SHORTCUT ICON" HREF="favicon.ico">
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;home&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/index.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-<TABLE cellspacing="0" cellpadding="3" border="0" width="100%" bgcolor="#99CC99">
- <TR>
- <TD align="center" valign="top">
-
-<TABLE WIDTH="100%">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">status</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>FLAC 1.1.2 is available. New in this release are small decoding speedups for all platforms, small encoding speedups in fast (non-LPC) mode, streaming support in the XMMS plugin, and several bug fixes. For developers there are also a few additions and changes to the metadata API to make working with tags easier. See the <A HREF="changelog.html#flac_1_1_2">changelog entry</A> for complete details. This release actually wasn't supposed to happen so soon, but needed to be made to fix library naming and build problems in FLAC 1.1.1 that caused trouble for package maintainers, so unless you are having trouble with one of the particular bugs that got fixed in 1.1.2 then there is not much of a need to upgrade.</P>
- <P>Another handful of devices that support FLAC are out or announced: <!--the A HREF="http://www.planetminidisc.com/chroma-20gb.html"@Rio Chroma@/A, -->the <A HREF="http://www.zensonic.com/press_z500.php">Zensonic Z500 Networked DVD Media Player</A>, Escient's <A HREF="http://www.escient.com/releases/escient_jan0605_2.html">new FireBall E2-40, E2-160, and DVDM-300</A>, the <A HREF="http://www.digitaltechniques.com/M300A_Overview.html">M300A Digital Music Player</A> from Digital Techniques (see <A HREF="http://www.digitaltechniques.com/QuickStart.html">manual</A>), Meda Systems' <A HREF="http://www.medainc.com/">Bravo servers</A> (<A HREF="http://www.stereophile.com/news/092704medasystems/">more info</A>), and the <A HREF="http://www.cesweb.org/attendees/show_floor/product_locator/product_details.asp?prodid=5181">MS300 Music Server</A> by McIntosh Laboratory.</P>
- <P>We just found out that <A HREF="http://www.skipjam.com/">SkipJam</A>'s line of networked audio/video components supports FLAC. (Even though it's not mentioned on their site, I'm assured that's just because the site hasn't been updated yet.)</P>
- <P><A HREF="http://www.escient.com/">Escient</A> has a new home stereo component that supports FLAC, the <A HREF="http://www.escient.com/fireballe2300.html">FireBall E2-300</A>.</P>
- <P><A HREF="http://www.mindawn.com/">Mindawn</A>, a new online music service offering FLAC and Ogg Vorbis, is now open. They also have a multi-platform (Windows, Linux, Mac OS X) CD ripper/encoder and are finishing up a multi-platform player.</P>
- <P>Illiminable has updated his excellent <A HREF="http://www.illiminable.com/ogg/">Directshow filters</A> to support native FLAC (in addition to Ogg FLAC/Vorbis/Speex/Theora).</P>
- <P><I>last updated 2005-Feb-05</I></P><!-- @@@ remember to update the date after changes -->
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-<TABLE WIDTH="100%">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">what is FLAC?</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- FLAC stands for Free Lossless Audio Codec. Grossly oversimplified, FLAC is similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality. This is similar to how Zip works, except with FLAC you will get much better compression because it is designed specifically for audio, and you can play back compressed FLAC files in your favorite player (or your car or home stereo, see <A HREF="links.html#hardware">supported devices</A>) just like you would an MP3 file.
- </P>
- <P>
- FLAC is freely available and supported on most operating systems, including Windows, "unix" (Linux, *BSD, Solaris, OS X, IRIX), BeOS, OS/2, and Amiga. There are build systems for autotools, MSVC, Watcom C, and Project Builder.
- </P>
- <P>
- See the <A HREF="features.html">features page</A> for a complete list of features, or the <A HREF="comparison.html">comparison page</A> to see how FLAC compares with other lossless codecs.
- </P>
- <P>
- The FLAC project consists of:
- </P>
- <P>
- <UL>
- <LI>the stream format</LI>
- <LI>reference encoders and decoders in library form</LI>
- <LI><B><TT>flac</TT></B>, a command-line program to encode and decode FLAC files</LI>
- <LI><B><TT>metaflac</TT></B>, a command-line metadata editor for FLAC files</LI>
- <LI>input plugins for various music players</LI>
- </UL>
- </P>
- <P>
- When we say that FLAC is "Free" it means more than just that it is available at no cost. It means that the specification of the format is fully open to the public to be used for any purpose (the FLAC project reserves the right to set the FLAC specification and certify compliance), and that neither the FLAC format nor any of the implemented encoding/decoding methods are covered by any known patent. It also means that all the source code is available under open-source licenses. It is the first truly open and free lossless audio format. (For more information, see the <A HREF="license.html">license page</A>.)
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-
-<TABLE WIDTH="100%">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">download</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- Visit the <A HREF="download.html">download page</A> for links to the source code or pre-built binaries.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-
-<TABLE WIDTH="100%">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">documentation</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- The documentation is available online as well as in the distributions. The general installation and usage documentation for <B><TT>flac</TT></B> and the plugins is <A HREF="documentation.html">here</A>. For a detailed description of the FLAC format and reference encoder see the <A HREF="format.html">FLAC format page</A>.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-
-<TABLE WIDTH="100%">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">id registration</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- If you have an application that uses FLAC and would like it to be able to tag FLAC files with custom metadata, visit the <A HREF="id.html">registration page</A> to register an ID for your application.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-
-</TD>
-
-
-<TD width="26%" valign="top" align="center">
-
-
-<TABLE WIDTH="95%">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD ALIGN="center"><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B>news</B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20050205">05-Feb-2005</A> :<BR>&nbsp;&nbsp;Version 1.1.2 released<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20050117">17-Jan-2005</A> :<BR>&nbsp;&nbsp;Several new devices support FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20041112">12-Nov-2004</A> :<BR>&nbsp;&nbsp;Escient's new FireBall E2-300 supports FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20041102">02-Nov-2004</A> :<BR>&nbsp;&nbsp;New Mindawn music store offers FLAC and Vorbis<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20041001">01-Oct-2004</A> :<BR>&nbsp;&nbsp;Version 1.1.1 released<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20040727">27-Jul-2004</A> :<BR>&nbsp;&nbsp;The Furthur network now supports FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20040621">21-Jun-2004</A> :<BR>&nbsp;&nbsp;Bonnaroo soundboard recordings available in FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20040303">03-Mar-2004</A> :<BR>&nbsp;&nbsp;Metallica offers live shows in FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20040203">03-Feb-2004</A> :<BR>&nbsp;&nbsp;Charlie Hunter makes select albums available in FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20031119">19-Nov-2003</A> :<BR>&nbsp;&nbsp;PhatNoise's new Home Digital Media Player supports FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20031118">18-Nov-2003</A> :<BR>&nbsp;&nbsp;Slim's new 'Squeezebox' supports FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20031111">11-Nov-2003</A> :<BR>&nbsp;&nbsp;Primus offers live shows in FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20031013">13-Oct-2003</A> :<BR>&nbsp;&nbsp;Magnatune catalog available in FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20030811">11-Aug-2003</A> :<BR>&nbsp;&nbsp;New Rio Karma supports FLAC<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20030623">23-Jun-2003</A> :<BR>&nbsp;&nbsp;livephish.com offers FLAC shows<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20030209">09-Feb-2003</A> :<BR>&nbsp;&nbsp;ReQuest adds FLAC support<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20030129">29-Jan-2003</A> :<BR>&nbsp;&nbsp;FLAC joins Xiph.org!<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html#20030126">26-Jan-2003</A> :<BR>&nbsp;&nbsp;Version 1.1.0 released<BR></FONT></SMALL></TD></TR>
- <TR><TD BGCOLOR="#EEEED4"><SMALL><FONT FACE="Lucida,Verdana,Helvetica,Arial"><A HREF="news.html">(all news)</A><BR></FONT></SMALL></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE><BR><P>
-
-
-<A HREF="http://sourceforge.net"><IMG SRC="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&type=1" WIDTH="88" HEIGHT="31" BORDER="0" ALT="SourceForge Logo"></A><BR><P>
-
-<A HREF="http://www.eff.org/cafe/"><IMG SRC="images/cafebug.gif" ALT="CAFE Logo" BORDER=0></A><BR>
-
-
-<BR></FONT>
-</TD></TR></TABLE>
-
-
-</CENTER>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
-
-</BODY>
-</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 - Free Lossless Audio Codec</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="separator2"></div>
+
+<div class="navbar">
+ &nbsp;home&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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/index.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="below_nav"></div>
+
+<table border="0" cellpadding="0" cellspacing="0">
+ <tr>
+ <td width="75%" align="center" valign="top">
+
+ <div class="box">
+ <div class="box_title">
+ status
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ FLAC 1.1.2 is available. New in this release are small decoding speedups for all platforms, small encoding speedups in fast (non-LPC) mode, streaming support in the XMMS plugin, and several bug fixes. For developers there are also a few additions and changes to the metadata API to make working with tags easier. See the <a href="changelog.html#flac_1_1_2">changelog entry</a> for complete details. This release actually wasn't supposed to happen so soon, but needed to be made to fix library naming and build problems in FLAC 1.1.1 that caused trouble for package maintainers, so unless you are having trouble with one of the particular bugs that got fixed in 1.1.2 then there is not much of a need to upgrade.
+ <br /><br />
+ Another handful of devices that support FLAC are out or announced: <!--the a href="http://www.planetminidisc.com/chroma-20gb.html"@Rio Chroma@/A, -->the <a href="http://www.zensonic.com/press_z500.php">Zensonic Z500 Networked DVD Media Player</a>, Escient's <a href="http://www.escient.com/releases/escient_jan0605_2.html">new FireBall E2-40, E2-160, and DVDM-300</a>, the <a href="http://www.digitaltechniques.com/M300A_Overview.html">M300A Digital Music Player</a> from Digital Techniques (see <a href="http://www.digitaltechniques.com/QuickStart.html">manual</a>), Meda Systems' <a href="http://www.medainc.com/">Bravo servers</a> (<a href="http://www.stereophile.com/news/092704medasystems/">more info</a>), and the <a href="http://www.cesweb.org/attendees/show_floor/product_locator/product_details.asp?prodid=5181">MS300 Music Server</a> by McIntosh Laboratory.
+ <br /><br />
+ We just found out that <a href="http://www.skipjam.com/">SkipJam</a>'s line of networked audio/video components supports FLAC. (Even though it's not mentioned on their site, I'm assured that's just because the site hasn't been updated yet.)
+ <br /><br />
+ <a href="http://www.escient.com/">Escient</a> has a new home stereo component that supports FLAC, the <a href="http://www.escient.com/fireballe2300.html">FireBall E2-300</a>.
+ <br /><br />
+ <a href="http://www.mindawn.com/">Mindawn</a>, a new online music service offering FLAC and Ogg Vorbis, is now open. They also have a multi-platform (Windows, Linux, Mac OS X) CD ripper/encoder and are finishing up a multi-platform player.
+ <br /><br />
+ Illiminable has updated his excellent <a href="http://www.illiminable.com/ogg/">Directshow filters</a> to support native FLAC (in addition to Ogg FLAC/Vorbis/Speex/Theora).
+ <br /><br />
+ <i>last updated 2005-Feb-05</i> <!-- @@@ remember to update the date after changes -->
+ </div>
+ <div class="box_footer"></div>
+ </div>
+
+ <br />
+
+ <div class="box">
+ <div class="box_title">
+ what is FLAC?
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ FLAC stands for Free Lossless Audio Codec. Grossly oversimplified, FLAC is similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality. This is similar to how Zip works, except with FLAC you will get much better compression because it is designed specifically for audio, and you can play back compressed FLAC files in your favorite player (or your car or home stereo, see <a href="links.html#hardware">supported devices</a>) just like you would an MP3 file.
+ <br /><br />
+ FLAC is freely available and supported on most operating systems, including Windows, "unix" (Linux, *BSD, Solaris, OS X, IRIX), BeOS, OS/2, and Amiga. There are build systems for autotools, MSVC, Watcom C, and Project Builder.
+ <br /><br />
+ See the <a href="features.html">features page</a> for a complete list of features, or the <a href="comparison.html">comparison page</a> to see how FLAC compares with other lossless codecs.
+ <br /><br />
+ The FLAC project consists of:
+ <br /><br />
+ <ul>
+ <li>the stream format</li>
+ <li>reference encoders and decoders in library form</li>
+ <li><span class="commandname">flac</span>, a command-line program to encode and decode FLAC files</li>
+ <li><span class="commandname">metaflac</span>, a command-line metadata editor for FLAC files</li>
+ <li>input plugins for various music players</li>
+ </ul>
+ <br /><br />
+ When we say that FLAC is "Free" it means more than just that it is available at no cost. It means that the specification of the format is fully open to the public to be used for any purpose (the FLAC project reserves the right to set the FLAC specification and certify compliance), and that neither the FLAC format nor any of the implemented encoding/decoding methods are covered by any known patent. It also means that all the source code is available under open-source licenses. It is the first truly open and free lossless audio format. (For more information, see the <a href="license.html">license page</a>.)
+ </div>
+ <div class="box_footer"></div>
+ </div>
+
+ <br />
+
+ <div class="box">
+ <div class="box_title">
+ download
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ Visit the <a href="download.html">download page</a> for links to the source code or pre-built binaries.
+ </div>
+ <div class="box_footer"></div>
+ </div>
+
+ <br />
+
+ <div class="box">
+ <div class="box_title">
+ documentation
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ The documentation is available online as well as in the distributions. The general installation and usage documentation for <span class="commandname">flac</span> and the plugins is <a href="documentation.html">here</a>. For a detailed description of the FLAC format and reference encoder see the <a href="format.html">FLAC format page</a>.
+ </div>
+ <div class="box_footer"></div>
+ </div>
+
+ <br />
+
+ <div class="box">
+ <div class="box_title">
+ id registration
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ If you have an application that uses FLAC and would like it to be able to tag FLAC files with custom metadata, visit the <a href="id.html">registration page</a> to register an ID for your application.
+ </div>
+ <div class="box_footer"></div>
+ </div>
+
+ </td>
+
+
+ <td width="25%" align="center" valign="top">
+
+ <div class="smallbox">
+ <div class="smallbox_title">
+ news
+ </div>
+ <div class="smallbox_header"></div>
+ <div class="smallbox_body">
+ <a href="news.html#20050205">05-Feb-2005</a> :<br />Version 1.1.2 released<br /><br />
+ <a href="news.html#20050117">17-Jan-2005</a> :<br />Several new devices support FLAC<br /><br />
+ <a href="news.html#20041112">12-Nov-2004</a> :<br />Escient's new FireBall E2-300 supports FLAC<br /><br />
+ <a href="news.html#20041102">02-Nov-2004</a> :<br />New Mindawn music store offers FLAC and Vorbis<br /><br />
+ <a href="news.html#20041001">01-Oct-2004</a> :<br />Version 1.1.1 released<br /><br />
+ <a href="news.html#20040727">27-Jul-2004</a> :<br />The Furthur network now supports FLAC<br /><br />
+ <a href="news.html#20040621">21-Jun-2004</a> :<br />Bonnaroo soundboard recordings available in FLAC<br /><br />
+ <a href="news.html#20040303">03-Mar-2004</a> :<br />Metallica offers live shows in FLAC<br /><br />
+ <a href="news.html#20040203">03-Feb-2004</a> :<br />Charlie Hunter makes select albums available in FLAC<br /><br />
+ <a href="news.html#20031119">19-Nov-2003</a> :<br />PhatNoise's new Home Digital Media Player supports FLAC<br /><br />
+ <a href="news.html#20031118">18-Nov-2003</a> :<br />Slim's new 'Squeezebox' supports FLAC<br /><br />
+ <a href="news.html#20031111">11-Nov-2003</a> :<br />Primus offers live shows in FLAC<br /><br />
+ <a href="news.html#20031013">13-Oct-2003</a> :<br />Magnatune catalog available in FLAC<br /><br />
+ <a href="news.html#20030811">11-Aug-2003</a> :<br />New Rio Karma supports FLAC<br /><br />
+ <a href="news.html#20030623">23-Jun-2003</a> :<br />livephish.com offers FLAC shows<br /><br />
+ <a href="news.html#20030209">09-Feb-2003</a> :<br />ReQuest adds FLAC support<br /><br />
+ <a href="news.html#20030129">29-Jan-2003</a> :<br />FLAC joins Xiph.org!<br /><br />
+ <a href="news.html#20030126">26-Jan-2003</a> :<br />Version 1.1.0 released<br /><br />
+ <a href="news.html">(all news)</a>
+ </div>
+ <div class="smallbox_footer"></div>
+ </div>
+
+ <br />
+
+ <div>
+ <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=13478&amp;type=1" alt="SourceForge Logo" width="88" height="31" border="0" /></a>
+ </div>
+
+ <br />
+
+ <a href="http://www.eff.org/cafe/"><img src="images/cafebug.gif" alt="CAFE Logo" border="0" /></a><br />
+
+ </td>
+ </tr>
+</table>
+
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
+
+</body>
+</html>
diff --git a/doc/html/license.html b/doc/html/license.html
index 845d897a..1dc83853 100644
--- a/doc/html/license.html
+++ b/doc/html/license.html
@@ -1,119 +1,87 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Copyright (c) 2004,2005 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>
- <TITLE>FLAC - license</TITLE>
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/license.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">license</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- FLAC is a free codec in the fullest sense. This page explicitly states all that you may do with the format and software.
- </P>
- <P>
- The FLAC and Ogg FLAC formats themselves, and their specifications, are fully open to the public to be used for any purpose (the FLAC project reserves the right to set the FLAC specification and certify compliance). They are free for commercial or noncommercial use. That means that commercial developers may independently write FLAC or Ogg FLAC software which is compatible with the specifications for no charge and without restrictions of any kind. There are no licensing fees of any kind for use of the formats or their specifications, or for distributing, selling, or streaming media in the FLAC or Ogg FLAC formats.
- </P>
- <P>
- The FLAC project also makes available software that implements the formats, which is distributed according to <A HREF="http://www.opensource.org/docs/definition.php">Open Source</A> licenses as follows:
- </P>
- <P>
- The reference implementation libraries are licensed under <A HREF="http://www.xiph.org/licenses/bsd/">Xiph's variant of the BSD License</A>, a.k.a. the Xiph License. This is a trivial variation of the popular <A HREF="http://www.opensource.org/licenses/bsd-license.php">BSD License</A> where the Xiph.org Foundation is substituted for the University of California, Berkeley. In simple terms, these libraries may be used by any application, Open or proprietary, linked or incorporated in whole, so long as acknowledgement is made to Xiph.org Foundation when using the source code in whole or in derived works. The Xiph License is free enough that the libraries have been used in commercial products to implement FLAC, including in the firmware of hardware devices where other Open Source licenses can be problematic. In the source code these libraries are called <TT>libFLAC</TT>, <TT>libFLAC++</TT>, <TT>libOggFLAC</TT>, and <TT>libOggFLAC++</TT>.
- </P>
- <P>
- The rest of the software that the FLAC project provides is licensed under the <A HREF="http://www.gnu.org/licenses/licenses.html#GPL">GNU General Public License</A> (GPL). This software includes various utilities for converting files to and from FLAC format, plugins for audio players, et cetera. In general, the GPL allows redistribution as long as derived works are also made available in source code form according to compatible terms.
- </P>
- <P>
- Neither the FLAC nor Ogg FLAC formats nor any of the implemented encoding/decoding methods are covered by any known patent.
- </P>
- <P>
- FLAC is one of a family of codecs of the Xiph.org Foundation, all created according to the same free ideals. For some other codecs' descriptions of the Xiph License see the <A HREF="http://speex.org/fsos.html">Speex</A> and <A HREF="http://www.vorbis.com/faq.psp#flic">Vorbis</A> license pages.
- </P>
- <P>
- If you would like to redistribute parts or all of FLAC under different terms, <A HREF="mailto:jcoalson@users.sourceforge.net">contact Josh Coalson</A>.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-</CENTER>
-
-<P>&nbsp;Copyright (c) 2004,2005 Josh Coalson</P>
-
-</BODY>
-</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 - license</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="separator2"></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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/license.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="below_nav"></div>
+
+<div class="box">
+ <div class="box_title">
+ license
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ FLAC is a free codec in the fullest sense. This page explicitly states all that you may do with the format and software.<br />
+ <br />
+ The FLAC and Ogg FLAC formats themselves, and their specifications, are fully open to the public to be used for any purpose (the FLAC project reserves the right to set the FLAC specification and certify compliance). They are free for commercial or noncommercial use. That means that commercial developers may independently write FLAC or Ogg FLAC software which is compatible with the specifications for no charge and without restrictions of any kind. There are no licensing fees of any kind for use of the formats or their specifications, or for distributing, selling, or streaming media in the FLAC or Ogg FLAC formats.<br />
+ <br />
+ The FLAC project also makes available software that implements the formats, which is distributed according to <a href="http://www.opensource.org/docs/definition.php">Open Source</a> licenses as follows:<br />
+ <br />
+ The reference implementation libraries are licensed under <a href="http://www.xiph.org/licenses/bsd/">Xiph's variant of the BSD License</a>, a.k.a. the Xiph License. This is a trivial variation of the popular <a href="http://www.opensource.org/licenses/bsd-license.php">BSD License</a> where the Xiph.org Foundation is substituted for the University of California, Berkeley. In simple terms, these libraries may be used by any application, Open or proprietary, linked or incorporated in whole, so long as acknowledgement is made to Xiph.org Foundation when using the source code in whole or in derived works. The Xiph License is free enough that the libraries have been used in commercial products to implement FLAC, including in the firmware of hardware devices where other Open Source licenses can be problematic. In the source code these libraries are called <span class="commandname">libFLAC</span>, <span class="commandname">libFLAC++</span>, <span class="commandname">libOggFLAC</span>, and <span class="commandname">libOggFLAC++</span>.<br />
+ <br />
+ The rest of the software that the FLAC project provides is licensed under the <a href="http://www.gnu.org/licenses/licenses.html#GPL">GNU General Public License</a> (GPL). This software includes various utilities for converting files to and from FLAC format, plugins for audio players, et cetera. In general, the GPL allows redistribution as long as derived works are also made available in source code form according to compatible terms.<br />
+ <br />
+ Neither the FLAC nor Ogg FLAC formats nor any of the implemented encoding/decoding methods are covered by any known patent.<br />
+ <br />
+ FLAC is one of a family of codecs of the Xiph.org Foundation, all created according to the same free ideals. For some other codecs' descriptions of the Xiph License see the <a href="http://speex.org/fsos.html">Speex</a> and <a href="http://www.vorbis.com/faq.psp#flic">Vorbis</a> license pages.<br />
+ <br />
+ If you would like to redistribute parts or all of FLAC under different terms, <a href="mailto:jcoalson@users.sourceforge.net">contact Josh Coalson</a>.
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+
+<div class="copyright">
+ Copyright (c) 2004,2005 Josh Coalson
+</div>
+
+</body>
+</html>
diff --git a/doc/html/links.html b/doc/html/links.html
index 14a97977..1d847530 100644
--- a/doc/html/links.html
+++ b/doc/html/links.html
@@ -1,379 +1,273 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Copyright (c) 2004,2005 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>
- <TITLE>FLAC - links</TITLE>
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;links&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/links.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">links</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- The links page is the place for all things FLAC. The <A HREF="#hardware">hardware</A> section lists the home stereo, car stereo, and portable devices that support the FLAC format. The <A HREF="#music">music</A> section has links to artists, labels, and legal trading/sharing sites that offer works encoded in FLAC. The <A HREF="#software">software</A> section is a loosely categorized list of <A HREF="http://www.opensource.org/docs/definition.php">open-source software</A> that supports the FLAC format. Some of the most popular (some non-free) software can be found on the download page in the <A HREF="download.html#extras">extras section</A>.
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-<A NAME="hardware">
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">hardware</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- Below is a list of devices that support the FLAC format. So far we only have experience with the Rio Reciever. Manufacturers, if you would like your product reviewed here, feel free to <A HREF="mailto:jcoalson@users.sourceforge.net">send a unit</A>.
- </P>
-
- <P>
- <B>Home stereo:</B>
- </P>
- <UL>
- <LI><A HREF="http://www.request.com/us/">AudioReQuest</A> music servers</LI>
- <LI>Digital Techniques' "iStereo" <A HREF="http://www.digitaltechniques.com/M300A_Overview.html">M300A Digital Music Player</A></LI>
- <LI>Escient's <A HREF="http://www.escient.com/">FireBall servers (E2-40/160/300, DVDM-300)</A>, networked home stereo components with hard-drives</LI>
- <LI><A HREF="http://www.hermstedt.com/english/hifidelio/hifidelio.html">Hifidelio</A>, a wireless home stereo component</LI>
- <LI>Meda Systems' <A HREF="http://www.medainc.com/">Bravo servers</A></LI>
- <LI>The <A HREF="http://www.cesweb.org/attendees/show_floor/product_locator/product_details.asp?prodid=5181">MS300 Music Server</A> by McIntosh Laboratory</LI>
- <LI><A HREF="http://www.phatnoise.com/products/homeplayer/index.php">PhatNoise Home Digital Media Player</A></LI>
- <LI><A HREF="http://www.mock.com/receiver/">Rio Reciever</A> and Dell Digital Audio Receiver via <A HREF="http://sourceforge.net/projects/rioplay/">RioPlay</A> or <A HREF="http://www.reza.net/rio/rrr.html">RRR</A> clients<BR>This little device is a hacker's dream. There are several open source clients available and since it boots its Linux distro over NFS you can write your own client. They're not made anymore but you can still find them on ebay.</LI>
- <LI><A HREF="http://www.rokulabs.com/">Roku Soundbridge</A></LI>
- <LI><A HREF="http://www.skipjam.com/">SkipJam</A>'s networked audio/video devices</LI>
- <LI><A HREF="http://www.slimdevices.com/">Squeezebox and SliMP3</A> networked audio players</LI>
- <LI>Turtle Beach's <A HREF="http://www.turtlebeach.com/site/products/audiotron/producthome.asp">AudioTron</A> via Bery Rinaldo's <A HREF="http://file-ext-map.sourceforge.net/">Samba VFS Module</A></LI>
- <LI><A HREF="http://www.z500series.com/">Zensonic Z500 Networked DVD Media Player</A></LI>
- </UL>
- </P>
-
- <P>
- <B>Car stereo:</B>
- </P>
- <UL>
- <LI><A HREF="http://www.phatnoise.com/products/digitalmediaplayers/kenwood_music_keg.php">Kenwood Music Keg</A></LI>
- <LI><A HREF="http://www.phatnoise.com/products/digitalmediaplayers/index.php">PhatBox</A></LI>
- </UL>
- </P>
-
- <P>
- <B>Portable/Handheld:</B>
- </P>
- <UL>
- <LI><A HREF="http://www.jetaudio.com/products/iaudio/m3/">iAUDIO M3</A></LI>
- <LI><A HREF="http://www.digitalnetworksna.com/shop/_templates/item_main_Rio.asp?model=220&cat=53">Rio Karma</A><!-- and Rio Chroma--></LI>
- </UL>
- </P>
-
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-<A NAME="music">
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">music</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- Several labels and artists have adopted FLAC as a distribution format for their works, offering them for sale or free download online. And many online trading communities that share legal, band-sanctioned recordings of live shows distribute them in FLAC format. These are just some of them.
- </P>
-
- <P>
- <B>Artists</B>
- </P>
- <UL>
- <LI><A HREF="http://www.bucketheadslivewedges.com/">Buckethead</A></LI>
- <LI><A HREF="http://www.charliehunter.com/news/main.htm">Charlie Hunter</A></LI>
- <LI><A HREF="http://www.c2b3live.com/">Colonel Claypool's Bucket of Bernie Brains</A></LI>
- <LI><A HREF="http://stores.musictoday.com/store/dept.asp?band_id=1&dept_id=2640">Dave Matthews Band</A></LI>
- <LI><A HREF="http://www.livemetallica.com/">Metallica</A></LI>
- <LI><A HREF="http://www.livephish.com/">Phish</A></LI>
- <LI><A HREF="http://www.primuslive.com/">Primus</A></LI>
- </UL>
- </P>
-
- <P>
- <B>Labels and Stores</B>
- </P>
- <UL>
- <LI><A HREF="http://www.aliveaudio.net/">AliveAudio</A></LI>
- <LI><A HREF="http://www.atorecords.com/">ATO Records</A> (<A HREF="http://stores.musictoday.com/store/dept.asp?dept_id=2654&band_id=154">Store</A>)</LI>
- <LI><A HREF="http://digitalsoundboard.net/">DigitalSoundboard.net</A></LI>
- <LI><A HREF="http://www.disclogic.com/">DiscLogic</A></LI>
- <LI><A HREF="http://www.edmdigital.com/catalog/index.php?ref=13">EDM Digital</A></LI>
- <LI><A HREF="http://fastatmosphere.com/">Fast Atmosphere</A></LI>
- <LI><A HREF="http://magnatune.com/">Magnatune</A></LI>
- <LI><A HREF="http://www.mindawn.com/">Mindawn</A></LI>
- <LI><A HREF="http://morganleahrecords.com">morgan leah records</A></LI>
- <LI><A HREF="http://stores.musictoday.com">Musictoday</A></LI>
- <LI><A HREF="http://www.opsound.org/">Opsound</A></LI>
- </UL>
- </P>
-
- <P>
- <B>Venues:</B>
- </P>
- <UL>
- <LI>The <A HREF="http://www.livebonnaroo.com/catalog.html">Bonnaroo Music Festival</A></LI>
- </UL>
- </P>
-
- <P>
- <B>Communities:</B>
- </P>
- <UL>
- <LI><A HREF="http://www.archive.org/">archive.org</A>, the Internet Archive:
- <UL>
- <LI><A HREF="http://www.archive.org/audio/etree.php">Live Music Archive</A></LI>
- <LI><A HREF="http://www.archive.org/audio/netlabels.php">Net Labels</A></LI>
- <LI><A HREF="http://www.archive.org/audio/collection.php?collection=opensource_audio">Open Source Audio</A></LI>
- </UL>
- </LI>
- <LI><A HREF="http://www.dxdt.org/archive/">dxdt.org</A></LI>
- <LI><A HREF="http://wiki.etree.org/">etree.org</A></LI>
- <LI>The <A HREF="http://www.furthurnet.org/">Furthur Network</A></LI>
- </UL>
- </P>
-
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-<A NAME="software">
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">software</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- A large and growing list of software supports the FLAC format. This list is a sample of <A HREF="http://www.opensource.org/docs/definition.php">open-source software</A> supporting FLAC. Some of the most popular non-free software can be found on the download page in the <A HREF="download.html#extras">extras section</A>.
- </P>
-
- <P>
- <B>Audio encoders/decoders/converters/taggers:</B>
- </P>
- <UL>
- <LI><A HREF="http://easytag.sourceforge.net/">EasyTAG</A> versatile tagger</LI>
- <LI><A HREF="http://entagged.sourceforge.net/">Entagged</A>, a Java audio file tagger</LI>
- <LI><A HREF="http://etree-scripts.sourceforge.net/">etree-scripts</A>: command-line tools for verifying, tagging, converting, and burning lossless audio files</LI>
- <LI><A HREF="http://www.uninformative.com/flacattack/">Flacattack</A>: an all-in-one tool that works with ExactAudioCopy to encode a CD image to FLAC, embed the cuesheet, add ReplayGain, create lossy files, etc. all in a customizable directory structure.</LI>
- <LI><A HREF="http://home.wanadoo.nl/~w.speek/flac.htm">FLAC frontend</A> (Windows GUI)</LI>
- <LI><A HREF="http://www.danrules.com/macflac/">MacFLAC</A> Mac OS X FLAC distribution</LI>
- <LI><A HREF="http://rawrec.sourceforge.net/">rawrec/rawplay</A> recording/playback tools</LI>
- <LI><A HREF="http://www.cyclooctane.com/sonice/">sonice</A> FLAC to Vorbis transcoder</LI>
- <LI><A HREF="http://www.lameb.fsnet.co.uk/">Split_wav</A> WAV+CUE splitter</LI>
- <LI><A HREF="http://www.saunalahti.fi/~cse/html/tag.html">Tag</A> comprehensive tagger (<A HREF="http://home.wanadoo.nl/~w.speek/tag.htm">frontend</A> available)</LI>
- </UL>
- </P>
-
- <P>
- <B>Audio editors:</B>
- </P>
- <UL>
- <!-- case's page disappeared, use temporary links
- <LI><A HREF="http://www.saunalahti.fi/~cse/files/cool_flac.zip">Cooledit FLAC filter</A> (source code <A HREF="http://www.saunalahti.fi/~cse/files/cool_flac_src.zip">here</A>)</LI>
- -->
- <LI><A HREF="http://www.hydrogenaudio.org/index.php?showtopic=20145&">Cooledit FLAC filter</A></LI>
- <LI><A HREF="http://www.etree.org/shnutils/shntool/">shntool</A></LI>
- </UL>
- </P>
-
- <P>
- <B>Audio players/servers:</B>
- </P>
- <UL>
- <LI><A HREF="http://www.hispalinux.es/~data/abcde.php">abcde</A> (A Better CD Encoder)</LI>
- <LI><A HREF="http://alsaplayer.org/">AlsaPlayer</A></LI>
- <LI><A HREF="http://aqualung.sourceforge.net/">Aqualung</A>, a Linux player</LI>
- <LI><A HREF="http://bossogg.sourceforge.net/">Boss Ogg</A>: Audio client/server</LI>
- <LI><A HREF="http://flac-tools.sourceforge.net/">flac-tools</A>: includes flac123 player</LI>
- <LI><A HREF="http://www.giantdisc.com/">GiantDisc</A>: Linux jukebox + Palm remote</LI>
- <LI><A HREF="http://jreceiver.sourceforge.net/">JReceiver</A> servlet-based audio server</LI>
- <LI><A HREF="http://www.monsterfang.com/MCinFLAC/">Media Center FLAC plugin</A></LI>
- <LI><A HREF="http://musicpd.sourceforge.net/">MPD</A>, Music Player Daemon</LI>
- <LI><A HREF="http://www.mplayerhq.hu/">MPlayer</A></LI>
- <LI><A HREF="http://musik.berlios.de/">Musik</A>: an open-source, cross-platform multimedia player and library</LI>
- <LI><A HREF="http://www.mythtv.org/">MythTV</A>: Linux PVR and more</LI>
- <LI><A HREF="http://ripperx.sourceforge.net/">ripperX</A>: X-based ripper/encoder</LI>
- <LI><A HREF="http://www.lammerts.org/software/soepkiptng/">Soepkip TNG</A> music playing daemon + web interface</LI>
- <LI><A HREF="http://www.thomer.com/musicvault/">Thomer's Music Vault</A>: a Linux music server</LI>
- <LI><A HREF="http://www.videolan.org/">VideoLAN</A> client</LI>
- <LI><A HREF="http://xine.sourceforge.net/">Xine</A> multimedia player</LI>
- <LI><A HREF="http://www.amb.org/xmcd/">xmcd</A>: X CD player</LI>
- <LI><A HREF="http://www.xmms.org/">XMMS</A>: X MultiMedia System</LI>
- </UL>
- </P>
-
- <P>
- <B>CD ripping/burning:</B>
- </P>
- <UL>
- <LI><A HREF="http://arson.sourceforge.net/">Arson</A>: KDE ripper/burner</LI>
- <LI><A HREF="http://bach.dynet.com/crip/index.html">crip</A>: console ripper/encoder/tagger</LI>
- <LI><A HREF="http://mareo.netfirms.com/">MAREO</A> multi-format encoder for EAC</LI>
- <LI><A HREF="http://rip.sourceforge.net/">rip</A> command-line ripper/encoder</LI>
- <LI><A HREF="http://www.suwald.com/ripit/ripit.html">RipIT</A>, a console-based front-end to several ripping and encoding tools</LI>
- </UL>
- </P>
-
- <P>
- <B>Organizers:</B>
- </P>
- <UL>
- <LI><A HREF="http://www.blinkenlights.ch/cgi-bin/fm.pl?get=ipod">GNUpod</A> includes on-the-fly FLAC conversion to iPod</LI>
- <LI><A HREF="http://mac.sourceforge.net/">MPEG Audio Collection</A></LI>
- <LI><A HREF="http://www.rhythmbox.org/">Rhythmbox</A>, music management application for GNOME</LI>
- </UL>
- </P>
-
-
- <P>
- <B>Developer tools and libraries:</B>
- </P>
- <UL>
- <LI><A HREF="http://audiere.sourceforge.net/">audiere</A>, a high-level audio API</LI>
- <LI><A HREF="http://search.cpan.org/~daniel/Audio-FLAC-0.8/FLAC.pm">Audio::FLAC</A> perl module</LI>
- <LI><A HREF="http://search.cpan.org/author/DANIEL/Audio-FLAC-Decoder-0.2/Decoder.pm">Audio::FLAC::Decoder</A> perl module</LI>
- <LI><A HREF="http://corecodec.org/projects/coreflac">CoreFLAC</A>: FLAC DirectShow filters</LI>
- <LI><A HREF="http://www.illiminable.com/ogg/">DirectShow filters</A> for encoding to/decoding from FLAC and Ogg FLAC (as well as Ogg Vorbis/Speex/Theora).</LI>
- <LI><A HREF="http://getid3.sourceforge.net/">getID3()</A>: a PHP4 script for extracting metadata</LI>
- <LI><A HREF="http://www.gstreamer.net/">GStreamer</A> streaming media framework</LI>
- <LI><A HREF="http://jflac.sourceforge.net/">jFLAC</A>: Java native FLAC decoder</LI>
- <LI><A HREF="http://www.j-ogg.de/">J-Ogg</A> Java libraries for Ogg decoding</LI>
- <LI><A HREF="http://mediaxw.sourceforge.net/">MediaXW</A> includes FLAC DirectShow filter</LI>
- <LI><A HREF="http://math.berkeley.edu/~roconnor/MMIOMP3/">MMIOFLAC</A>, Multimedia IOProc for OS/2</LI>
- <LI><A HREF="http://ptarmigan.sourceforge.net/">Ptarmigan</A> media parser for XML</LI>
- <LI><A HREF="http://www.icculus.org/SDL_sound/">SDL_sound</A> audio add-on to SDL</LI>
- </UL>
-
- <P>
- <B>Scientific, Audio Analysis:</B>
- </P>
- <UL>
-<!-- not open source yet...
- <LI><A HREF="http://www.baudline.com/">Baudline</A> signal analyzer</LI>
--->
- <LI><A HREF="http://hasas.sourceforge.net/">HASAS</A> HydroAcoustical Signal Analysis System</LI>
- </UL>
- </P>
-<!-- no official FLAC support yet...
- <LI><A HREF="http://audacity.sourceforge.net/">Audacity</A> Cross-Platform Audio Editor</LI>
- <LI><A HREF="http://swami.sourceforge.net/">Swami</A>: Sound font editor</LI>
- <LI><A HREF="http://www.rm-r.net/~meff/otto2/">otto2</A></LI>
- <LI><A HREF="http://cdwave.com/">CD Wave</A></LI>
--->
-
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-</CENTER>
-
-<P>&nbsp;Copyright (c) 2004,2005 Josh Coalson</P>
-
-</BODY>
-</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 - links</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="separator2"></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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
+ &nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
+ &nbsp;links&nbsp;&nbsp;|
+ &nbsp;<a href="developers.html">developers</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/links.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="below_nav"></div>
+
+<div class="box">
+ <div class="box_title">
+ links
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ The links page is the place for all things FLAC. The <a href="#hardware">hardware</a> section lists the home stereo, car stereo, and portable devices that support the FLAC format. The <a href="#music">music</a> section has links to artists, labels, and legal trading/sharing sites that offer works encoded in FLAC. The <a href="#software">software</a> section is a loosely categorized list of <a href="http://www.opensource.org/docs/definition.php">open-source software</a> that supports the FLAC format. Some of the most popular (some non-free) software can be found on the download page in the <a href="download.html#extras">extras section</a>.
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+<br />
+
+<a name="hardware" />
+<div class="box">
+ <div class="box_title">
+ hardware
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ Below is a list of devices that support the FLAC format. So far we only have experience with the Rio Reciever. Manufacturers, if you would like your product reviewed here, feel free to <a href="mailto:jcoalson@users.sourceforge.net">send a unit</a>.<br />
+ <br />
+ <b>Home stereo:</b>
+ <ul>
+ <li><a href="http://www.request.com/us/">AudioReQuest</a> music servers</li>
+ <li>Digital Techniques' "iStereo" <a href="http://www.digitaltechniques.com/M300A_Overview.html">M300A Digital Music Player</a></li>
+ <li>Escient's <a href="http://www.escient.com/">FireBall servers (E2-40/160/300, DVDM-300)</a>, networked home stereo components with hard-drives</li>
+ <li><a href="http://www.hermstedt.com/english/hifidelio/hifidelio.html">Hifidelio</a>, a wireless home stereo component</li>
+ <li>Meda Systems' <a href="http://www.medainc.com/">Bravo servers</a></li>
+ <li>The <a href="http://www.cesweb.org/attendees/show_floor/product_locator/product_details.asp?prodid=5181">MS300 Music Server</a> by McIntosh Laboratory</li>
+ <li><a href="http://www.phatnoise.com/products/homeplayer/index.php">PhatNoise Home Digital Media Player</a></li>
+ <li><a href="http://www.mock.com/receiver/">Rio Reciever</a> and Dell Digital Audio Receiver via <a href="http://sourceforge.net/projects/rioplay/">RioPlay</a> or <a href="http://www.reza.net/rio/rrr.html">RRR</a> clients<br />This little device is a hacker's dream. There are several open source clients available and since it boots its Linux distro over NFS you can write your own client. They're not made anymore but you can still find them on ebay.</li>
+ <li><a href="http://www.rokulabs.com/">Roku Soundbridge</a></li>
+ <li><a href="http://www.skipjam.com/">SkipJam</a>'s networked audio/video devices</li>
+ <li><a href="http://www.slimdevices.com/">Squeezebox and SliMP3</a> networked audio players</li>
+ <li>Turtle Beach's <a href="http://www.turtlebeach.com/site/products/audiotron/producthome.asp">AudioTron</a> via Bery Rinaldo's <a href="http://file-ext-map.sourceforge.net/">Samba VFS Module</a></li>
+ <li><a href="http://www.z500series.com/">Zensonic Z500 Networked DVD Media Player</a></li>
+ </ul>
+ <b>Car stereo:</b>
+ <ul>
+ <li><a href="http://www.phatnoise.com/products/digitalmediaplayers/kenwood_music_keg.php">Kenwood Music Keg</a></li>
+ <li><a href="http://www.phatnoise.com/products/digitalmediaplayers/index.php">PhatBox</a></li>
+ </ul>
+ <b>Portable/Handheld:</b>
+ <ul>
+ <li><a href="http://www.jetaudio.com/products/iaudio/m3/">iAUDIO M3</a></li>
+ <li><a href="http://www.digitalnetworksna.com/shop/_templates/item_main_Rio.asp?model=220&amp;cat=53">Rio Karma</a><!-- and Rio Chroma--></li>
+ </ul>
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+<br />
+
+<a name="music" />
+<div class="box">
+ <div class="box_title">
+ music
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ Several labels and artists have adopted FLAC as a distribution format for their works, offering them for sale or free download online. And many online trading communities that share legal, band-sanctioned recordings of live shows distribute them in FLAC format. These are just some of them.<br />
+ <br />
+ <b>Artists</b>
+ <ul>
+ <li><a href="http://www.bucketheadslivewedges.com/">Buckethead</a></li>
+ <li><a href="http://www.charliehunter.com/news/main.htm">Charlie Hunter</a></li>
+ <li><a href="http://www.c2b3live.com/">Colonel Claypool's Bucket of Bernie Brains</a></li>
+ <li><a href="http://stores.musictoday.com/store/dept.asp?band_id=1&amp;dept_id=2640">Dave Matthews Band</a></li>
+ <li><a href="http://www.livemetallica.com/">Metallica</a></li>
+ <li><a href="http://www.livephish.com/">Phish</a></li>
+ <li><a href="http://www.primuslive.com/">Primus</a></li>
+ </ul>
+ <b>Labels and Stores</b>
+ <ul>
+ <li><a href="http://www.aliveaudio.net/">AliveAudio</a></li>
+ <li><a href="http://www.atorecords.com/">ATO Records</a> (<a href="http://stores.musictoday.com/store/dept.asp?dept_id=2654&amp;band_id=154">Store</a>)</li>
+ <li><a href="http://digitalsoundboard.net/">DigitalSoundboard.net</a></li>
+ <li><a href="http://www.disclogic.com/">DiscLogic</a></li>
+ <li><a href="http://www.edmdigital.com/catalog/index.php?ref=13">EDM Digital</a></li>
+ <li><a href="http://fastatmosphere.com/">Fast Atmosphere</a></li>
+ <li><a href="http://magnatune.com/">Magnatune</a></li>
+ <li><a href="http://www.mindawn.com/">Mindawn</a></li>
+ <li><a href="http://morganleahrecords.com">morgan leah records</a></li>
+ <li><a href="http://stores.musictoday.com">Musictoday</a></li>
+ <li><a href="http://www.opsound.org/">Opsound</a></li>
+ </ul>
+ <b>Venues:</b>
+ <ul>
+ <li>The <a href="http://www.livebonnaroo.com/catalog.html">Bonnaroo Music Festival</a></li>
+ </ul>
+ <b>Communities:</b>
+ <ul>
+ <li><a href="http://www.archive.org/">archive.org</a>, the Internet Archive:
+ <ul>
+ <li><a href="http://www.archive.org/audio/etree.php">Live Music Archive</a></li>
+ <li><a href="http://www.archive.org/audio/netlabels.php">Net Labels</a></li>
+ <li><a href="http://www.archive.org/audio/collection.php?collection=opensource_audio">Open Source Audio</a></li>
+ </ul>
+ </li>
+ <li><a href="http://www.dxdt.org/archive/">dxdt.org</a></li>
+ <li><a href="http://wiki.etree.org/">etree.org</a></li>
+ <li>The <a href="http://www.furthurnet.org/">Furthur Network</a></li>
+ </ul>
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+<br />
+
+<a name="software" />
+<div class="box">
+ <div class="box_title">
+ software
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ A large and growing list of software supports the FLAC format. This list is a sample of <a href="http://www.opensource.org/docs/definition.php">open-source software</a> supporting FLAC. Some of the most popular non-free software can be found on the download page in the <a href="download.html#extras">extras section</a>.<br />
+ <br />
+ <b>Audio encoders/decoders/converters/taggers:</b>
+ <ul>
+ <li><a href="http://easytag.sourceforge.net/">EasyTAG</a> versatile tagger</li>
+ <li><a href="http://entagged.sourceforge.net/">Entagged</a>, a Java audio file tagger</li>
+ <li><a href="http://etree-scripts.sourceforge.net/">etree-scripts</a>: command-line tools for verifying, tagging, converting, and burning lossless audio files</li>
+ <li><a href="http://www.uninformative.com/flacattack/">Flacattack</a>: an all-in-one tool that works with ExactAudioCopy to encode a CD image to FLAC, embed the cuesheet, add ReplayGain, create lossy files, etc. all in a customizable directory structure.</li>
+ <li><a href="http://home.wanadoo.nl/~w.speek/flac.htm">FLAC frontend</a> (Windows GUI)</li>
+ <li><a href="http://www.danrules.com/macflac/">MacFLAC</a> Mac OS X FLAC distribution</li>
+ <li><a href="http://rawrec.sourceforge.net/">rawrec/rawplay</a> recording/playback tools</li>
+ <li><a href="http://www.cyclooctane.com/sonice/">sonice</a> FLAC to Vorbis transcoder</li>
+ <li><a href="http://www.lameb.fsnet.co.uk/">Split_wav</a> WAV+CUE splitter</li>
+ <li><a href="http://www.saunalahti.fi/~cse/html/tag.html">Tag</a> comprehensive tagger (<a href="http://home.wanadoo.nl/~w.speek/tag.htm">frontend</a> available)</li>
+ </ul>
+ <b>Audio editors:</b>
+ <ul>
+ <!-- case's page disappeared, use temporary links
+ <li><a href="http://www.saunalahti.fi/~cse/files/cool_flac.zip">Cooledit FLAC filter</a> (source code <a href="http://www.saunalahti.fi/~cse/files/cool_flac_src.zip">here</a>)</li>
+ -->
+ <li><a href="http://www.hydrogenaudio.org/index.php?showtopic=20145">Cooledit FLAC filter</a></li>
+ <li><a href="http://www.etree.org/shnutils/shntool/">shntool</a></li>
+ </ul>
+ <b>Audio players/servers:</b>
+ <ul>
+ <li><a href="http://www.hispalinux.es/~data/abcde.php">abcde</a> (A Better CD Encoder)</li>
+ <li><a href="http://alsaplayer.org/">AlsaPlayer</a></li>
+ <li><a href="http://aqualung.sourceforge.net/">Aqualung</a>, a Linux player</li>
+ <li><a href="http://bossogg.sourceforge.net/">Boss Ogg</a>: Audio client/server</li>
+ <li><a href="http://flac-tools.sourceforge.net/">flac-tools</a>: includes flac123 player</li>
+ <li><a href="http://www.giantdisc.com/">GiantDisc</a>: Linux jukebox + Palm remote</li>
+ <li><a href="http://jreceiver.sourceforge.net/">JReceiver</a> servlet-based audio server</li>
+ <li><a href="http://www.monsterfang.com/MCinFLAC/">Media Center FLAC plugin</a></li>
+ <li><a href="http://musicpd.sourceforge.net/">MPD</a>, Music Player Daemon</li>
+ <li><a href="http://www.mplayerhq.hu/">MPlayer</a></li>
+ <li><a href="http://musik.berlios.de/">Musik</a>: an open-source, cross-platform multimedia player and library</li>
+ <li><a href="http://www.mythtv.org/">MythTV</a>: Linux PVR and more</li>
+ <li><a href="http://ripperx.sourceforge.net/">ripperX</a>: X-based ripper/encoder</li>
+ <li><a href="http://www.lammerts.org/software/soepkiptng/">Soepkip TNG</a> music playing daemon + web interface</li>
+ <li><a href="http://www.thomer.com/musicvault/">Thomer's Music Vault</a>: a Linux music server</li>
+ <li><a href="http://www.videolan.org/">VideoLAN</a> client</li>
+ <li><a href="http://xine.sourceforge.net/">Xine</a> multimedia player</li>
+ <li><a href="http://www.amb.org/xmcd/">xmcd</a>: X CD player</li>
+ <li><a href="http://www.xmms.org/">XMMS</a>: X MultiMedia System</li>
+ </ul>
+ <b>CD ripping/burning:</b>
+ <ul>
+ <li><a href="http://arson.sourceforge.net/">Arson</a>: KDE ripper/burner</li>
+ <li><a href="http://bach.dynet.com/crip/index.html">crip</a>: console ripper/encoder/tagger</li>
+ <li><a href="http://mareo.netfirms.com/">MAREO</a> multi-format encoder for EAC</li>
+ <li><a href="http://rip.sourceforge.net/">rip</a> command-line ripper/encoder</li>
+ <li><a href="http://www.suwald.com/ripit/ripit.html">RipIT</a>, a console-based front-end to several ripping and encoding tools</li>
+ </ul>
+ <b>Organizers:</b>
+ <ul>
+ <li><a href="http://www.blinkenlights.ch/cgi-bin/fm.pl?get=ipod">GNUpod</a> includes on-the-fly FLAC conversion to iPod</li>
+ <li><a href="http://mac.sourceforge.net/">MPEG Audio Collection</a></li>
+ <li><a href="http://www.rhythmbox.org/">Rhythmbox</a>, music management application for GNOME</li>
+ </ul>
+ <b>Developer tools and libraries:</b>
+ <ul>
+ <li><a href="http://audiere.sourceforge.net/">audiere</a>, a high-level audio API</li>
+ <li><a href="http://search.cpan.org/~daniel/Audio-FLAC-0.8/FLAC.pm">Audio::FLAC</a> perl module</li>
+ <li><a href="http://search.cpan.org/author/DANIEL/Audio-FLAC-Decoder-0.2/Decoder.pm">Audio::FLAC::Decoder</a> perl module</li>
+ <li><a href="http://corecodec.org/projects/coreflac">CoreFLAC</a>: FLAC DirectShow filters</li>
+ <li><a href="http://www.illiminable.com/ogg/">DirectShow filters</a> for encoding to/decoding from FLAC and Ogg FLAC (as well as Ogg Vorbis/Speex/Theora).</li>
+ <li><a href="http://getid3.sourceforge.net/">getID3()</a>: a PHP4 script for extracting metadata</li>
+ <li><a href="http://www.gstreamer.net/">GStreamer</a> streaming media framework</li>
+ <li><a href="http://jflac.sourceforge.net/">jFLAC</a>: Java native FLAC decoder</li>
+ <li><a href="http://www.j-ogg.de/">J-Ogg</a> Java libraries for Ogg decoding</li>
+ <li><a href="http://mediaxw.sourceforge.net/">MediaXW</a> includes FLAC DirectShow filter</li>
+ <li><a href="http://math.berkeley.edu/~roconnor/MMIOMP3/">MMIOFLAC</a>, Multimedia IOProc for OS/2</li>
+ <li><a href="http://ptarmigan.sourceforge.net/">Ptarmigan</a> media parser for XML</li>
+ <li><a href="http://www.icculus.org/SDL_sound/">SDL_sound</a> audio add-on to SDL</li>
+ </ul>
+ <b>Scientific, Audio Analysis:</b>
+ <ul>
+ <!-- not open source yet...
+ <li><a href="http://www.baudline.com/">Baudline</a> signal analyzer</li>
+ -->
+ <li><a href="http://hasas.sourceforge.net/">HASAS</a> HydroAcoustical Signal Analysis System</li>
+ </ul>
+ <!-- no official FLAC support yet...
+ <li><a href="http://audacity.sourceforge.net/">Audacity</a> Cross-Platform Audio Editor</li>
+ <li><a href="http://swami.sourceforge.net/">Swami</a>: Sound font editor</li>
+ <li><a href="http://www.rm-r.net/~meff/otto2/">otto2</a></li>
+ <li><a href="http://cdwave.com/">CD Wave</a></li>
+ -->
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+<br />
+
+
+<div class="copyright">
+ Copyright (c) 2004,2005 Josh Coalson
+</div>
+
+</body>
+</html>
diff --git a/doc/html/news.html b/doc/html/news.html
index faaf51d0..4263b21c 100644
--- a/doc/html/news.html
+++ b/doc/html/news.html
@@ -1,735 +1,567 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!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 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>
- <TITLE>FLAC - news</TITLE>
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;news&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/news.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">news</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
-
- <P>
- <A NAME="20050205">05-Feb-2005:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 1.1.2 released</B>&nbsp;&nbsp;New in this release are small decoding speedups for all platforms, small encoding speedups in fast (non-LPC) mode, streaming support in the XMMS plugin, and several bug fixes. For developers there are also a few additions and changes to the metadata API to make working with tags easier. See the <A HREF="changelog.html#flac_1_1_2">changelog entry</A> for complete details. This release actually wasn't supposed to happen so soon, but needed to be made to fix library naming and build problems in FLAC 1.1.1 that caused trouble for package maintainers, so unless you are having trouble with one of the particular bugs that got fixed in 1.1.2 then there is not much of a need to upgrade.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20050117">17-Jan-2005:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>Several new devices support FLAC</B>
- <P>
- Another handful of devices that support FLAC are out or announced: <!--the A HREF="http://www.planetminidisc.com/chroma-20gb.html"@Rio Chroma@/A, -->the <A HREF="http://www.zensonic.com/press_z500.php">Zensonic Z500 Networked DVD Media Player</A>, Escient's <A HREF="http://www.escient.com/releases/escient_jan0605_2.html">new FireBall E2-40, E2-160, and DVDM-300</A>, the <A HREF="http://www.digitaltechniques.com/M300A_Overview.html">M300A Digital Music Player</A> from Digital Techniques (see <A HREF="http://www.digitaltechniques.com/QuickStart.html">manual</A>), Meda Systems' <A HREF="http://www.medainc.com/">Bravo servers</A> (<A HREF="http://www.stereophile.com/news/092704medasystems/">more info</A>), and the <A HREF="http://www.cesweb.org/attendees/show_floor/product_locator/product_details.asp?prodid=5181">MS300 Music Server</A> by McIntosh Laboratory.</P>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20041112">12-Nov-2004:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>Escient's new FireBall E2-300 supports FLAC</B>
- <P>
- <A HREF="http://www.escient.com/">Escient</A> has a new home stereo component that supports FLAC, the <A HREF="http://www.escient.com/fireballe2300.html">FireBall E2-300</A>.</P>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20041102">02-Nov-2004:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>New Mindawn music store offers FLAC and Vorbis</B>
- <P>
- <A HREF="http://www.mindawn.com/">Mindawn</A>, a new online music service offering FLAC and Ogg Vorbis, is now open. They also have a multi-platform (Windows, Linux, Mac OS X) CD ripper/encoder and are finishing up a multi-platform player.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20041001">01-Oct-2004:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 1.1.1 released</B>&nbsp;&nbsp;There is a new <A HREF="changelog.html#flac_1_1_1">changelog</A> with a complete list of changes/fixes/improvements, but here is a summary of some of the main ones:
- <UL>
- <LI>Better Ogg FLAC support including seeking and an official <A HREF="ogg_mapping.html">Ogg FLAC mapping</A>.</LI>
- <LI>Significant decoding speedup (almost 2x) on PowerPC (includes Macs with G4/G5).</LI>
- <LI>Speedups in the plugins.</LI>
- <LI>Several new options to <B><TT>flac</TT></B> and <B><TT>metaflac</TT></B> by popular demand.</LI>
- <LI>Several API additions requested by developers.</LI>
- <LI>Many bugfixes.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20040727">27-Jul-2004:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>The Furthur Network now supports FLAC</B>
- <P>
- <P>The <A HREF="http://www.furthurnet.org/">Furthur Network</A>, a legal-live music sharing P2P network, <A HREF="http://www.furthurnet.org/presspit/">now supports FLAC</A>.</P>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20040621">21-Jun-2004:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>Bonnaroo soundboard recordings available in FLAC</B>
- <P>
- <A HREF="http://www.livebonnaroo.com/catalog.html">Several sets</A> from the Bonnaroo Music Festival are available in FLAC, including <A HREF="http://stores.musictoday.com/store/product.asp?dept%5Fid=3045&pf%5Fid=FEDD17&band%5Fid=741&sfid=2">Dave Matthews & Friends</A> and <A HREF="http://stores.musictoday.com/store/product.asp?dept%5Fid=3045&pf%5Fid=FEDD67&band%5Fid=741&sfid=2">String Cheese Incident</A>, with more to follow as the soundboard recordings are approved by the bands.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20040303">03-Mar-2004:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>Metallica offers live shows in FLAC</B>
- <P>
- Metallica is offering <A HREF="http://www.livemetallica.com/">soundboard recordings of live shows in FLAC format</A>.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20040203">03-Feb-2004:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>Charlie Hunter makes select albums available in FLAC</B>
- <P>
- <A HREF="http://www.charliehunter.com/">Charlie Hunter</A> is making select albums <A HREF="http://www.charliehunter.com/news/main.htm#Solo8">available for download in FLAC</A> and MP3 formats.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20031119">19-Nov-2003:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>PhatNoise's new Home Digital Media Player supports FLAC</B>
- <P>
- <A HREF="http://www.phatnoise.com/">PhatNoise</A> (makers of the <A HREF="http://www.phatnoise.com/products/digitalmediaplayers/index.php">PhatBox</A>, which also plays FLAC) just released their <A HREF="http://www.phatnoise.com/products/homeplayer/index.php">Home Digital Media Player</A>. It includes a DMS cartridge slot so you can pop out your FLAC tunes and pop 'em in your car.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20031118">18-Nov-2003:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>Slim's new 'Squeezebox' supports FLAC</B>
- <P>
- Slim Devices' new <A HREF="http://www.slimdevices.com/index.html">Squeezebox</A>, the wireless follow-on to the SliMP3 networked audio player, is available and supports FLAC and Ogg Vorbis.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20031111">11-Nov-2003:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>Primus offers live shows in FLAC</B>
- <P>
- <A HREF="http://www.primussucks.com/">Primus</A> is offering soundboard recordings from 2003 Tour de Fromage in FLAC and MP3 on <A HREF="http://www.primuslive.com/">primuslive.com</A>. More info <A HREF="http://blogcritics.org/archives/2003/10/23/135952.php">here</A> and <A HREF="http://www.billboard.com/bb/daily/article_display.jsp?vnu_content_id=2005669">here</A>.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20031013">13-Oct-2003:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>Magnatune catalog available in FLAC</B>
- <P>
- Independent record label <A HREF="http://magnatune.com/">Magnatune</A> is now <A HREF="http://forums.magnatune.com/read/messages?id=559079">offering their catalog in FLAC and Vorbis</A> in addition to MP3.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20030811">11-Aug-2003:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>New Rio Karma supports FLAC</B>
- <P>
- Rio has announced a new portable, the <A HREF="http://www.digitalnetworksna.com/shop/_templates/item_main_Rio.asp?model=220&cat=53">Rio Karma</A>, which supports FLAC and Ogg Vorbis.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20030623">23-Jun-2003:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>livephish.com offers FLAC shows</B>
- <P>
- <A HREF="http://www.livephish.com/">livephish.com</A> is now offering soundboard recordings of live shows in FLAC format in addition to MP3.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20030209">09-Feb-2003:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>ReQuest adds FLAC support</B>
- <P>
- <A HREF="http://www.request.com/us/">ReQuest Multimedia's</A> AudioReQuest music servers <A HREF="http://www.request.com/us/whatsnew.html">now support FLAC</A>.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20030129">29-Jan-2003:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC has joined the Xiph project</B>&nbsp;&nbsp;See <A HREF="http://xiph.org/ogg/flac.html">here</A> for the press release.
- <P>
- <A HREF="http://xiph.org/">Xiph.org</A> is behind other free codecs such as <A HREF="http://www.vorbis.com/">Vorbis</A>, <A HREF="http://www.theora.org/">Theora</A>, and <A HREF="http://www.speex.org/">Speex</A>. Our merger with Xiph will bring FLAC into the ranks and lead to better integration with the <A HREF="http://www.xiph.org/ogg/">Ogg multimedia framework</A>.
- <P>
- Note that the FLAC format is not changing, native FLAC will continue to exist, and the command-line tools and plugins will continue to work as before. The codec libraries will now be available under Xiph's BSD-like license.
- <P>
- Over the next few days we will be transitioning normal operations off SourceForge and over to Xiph.org; first will be CVS and the web pages, followed by the mailing lists, bug tracker, and file release area. We will keep a mirror here until the transition is complete. It's OK to send patches to the flac-dev list but they won't be able to be integrated until CVS is fully moved over.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20030126">26-Jan-2003:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 1.1.0 released</B>&nbsp;&nbsp;I didn't get everything in that I wanted, but it's high time for a release.
- <P>
- Note that the minor version has incremented, meaning forward compatibility was broken (forward compatibility means an earlier decoder can play all streams made by a later decoder). This is only because of a bug in 1.0.4 and prior where the decoder could not properly skip unknown metadata. The stream format itself has not changed and FLAC is still fully backward-compatible. All it means is that a FLAC file containing cue sheet metadata will not decode in older decoders. This bug is fixed in 1.1.0.
- <P>
- Here's what's new:
- <P>
- General:
- <UL>
- <LI>All code is now <A HREF="http://valgrind.kde.org/">Valgrind</A>-clean!</LI>
- <LI>New <A HREF="format.html#def_CUESHEET">CUESHEET</A> metadata block for storing CD TOC and index point information. Now a CD can be completely backed up to a single FLAC file for archival.</LI>
- <LI><A HREF="http://www.replaygain.org/">ReplayGain</A> support.</LI>
- <LI>Better compression of 24-bit files.</LI>
- <LI>More complete AIFF support.</LI>
- <LI>3DNow! optimizations enabled by default.</LI>
- <LI>Complete MSVC build system with .dsp projects for everything, which can build both static libs and DLLs, and in debug or release mode, all in the same source tree.</LI>
- </UL>
- <P>
- <B><TT>flac</TT></B>:
- <UL>
- <LI>Can now decode FLAC to AIFF; new <TT>--force-aiff-format</TT> option.</LI>
- <LI>New <TT>--cuesheet</TT> option for reading and storing a cuesheet when encoding a whole CD. Automatically creates seek points for track and index points unless <TT>--no-cued-seekpoints</TT> is used.</LI>
- <LI>New <TT>--replay-gain</TT> option for calculating ReplayGain values and storing them as tags.</LI>
- <LI>New <TT>--until</TT> option complements <TT>--skip</TT> to stop decoding at a specified point in the stream.</LI>
- <LI><TT>--skip</TT> and <TT>--until</TT> now also accept mm:ss.ss format.</LI>
- <LI>New <TT>-S #s</TT> flavor to specify seekpoints every '#' number of seconds.</LI>
- <LI><B><TT>flac</TT></B> now defaults to <TT>-S 10s</TT> instead of <TT>-S 100x</TT> for the seek table.</LI>
- <LI><B><TT>flac</TT></B> now adds a 4k PADDING block by default (turn off with <TT>--no-padding</TT>).</LI>
- <LI>Fixed a bug with --skip and AIFF-to-FLAC encoding.</LI>
- <LI>Fixed a bug where decoding a FLAC file whose total_samples==0 in the STREAMINFO would corrupt the WAVE header.</LI>
- </UL>
- <P>
- <B><TT>metaflac</TT></B>:
- <UL>
- <LI>New <TT>--import-cuesheet-from</TT> option for reading and storing a cuesheet to a FLAC-encoded CD. Automatically creates seek points for track and index points unless <TT>--no-cued-seekpoints</TT> is used.</LI>
- <LI>New <TT>--export-cuesheet-to</TT> option for writing a cuesheet from a FLAC file for use with CD authoring software.</LI>
- <LI>New <TT>--add-replay-gain</TT> option for calculating ReplayGain values and storing them as tags.</LI>
- <LI>New <TT>--add-seekpoint</TT> option to add seekpoints to an existing FLAC file. Includes new <TT>--add-seekpoint=#s</TT> flavor to add seekpoints every '#' number of seconds.</LI>
- </UL>
- <P>
- XMMS plugin:
- <UL>
- <LI>Configurable sample resolution conversion with dither.</LI>
- <LI>ReplayGain support with customizable noise shaping, pre-amp, and optional hard limiter.</LI>
- <LI>New Vorbis comment editor.</LI>
- <LI>File info now works.</LI>
- <LI>Bitrate now shows the smoothed instantaneous bitrate.</LI>
- <LI>Uses the ARTIST tag if there is no PERFORMER tag.</LI>
- </UL>
- <P>
- Winamp2 plugin:
- <UL>
- <LI>Configurable sample resolution conversion with dither.</LI>
- <LI>ReplayGain support with customizable noise shaping, pre-amp, and optional hard limiter.</LI>
- <LI>File info now works.</LI>
- <LI>Uses the ARTIST tag if there is no PERFORMER tag.</LI>
- </UL>
- <P>
- Libraries (developers take note!):
- <UL>
- <LI>All code and tests are instrumented for Valgrind. All tests run Valgrind-clean, meaning no memory leaks or buffer over/under-runs.</LI>
- <LI>Separate 64-bit datapath through the filter in <B><TT>libFLAC</TT></B> for better compression of &gt;16 bps files.</LI>
- <LI><TT>FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)</TT> now sets the vendor string.</LI>
- <LI>The documentation on the usage of <TT>FLAC::Iterator::get_block()</TT> in <B><TT>libFLAC++</TT></B> has an important correction. If you use this class make sure to read <A HREF="api/group__flacpp__metadata__level2.html">this</A>.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20020924">24-Sep-2002:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 1.0.4 released</B>&nbsp;&nbsp;There are a lot of improvements since 1.0.3; let's get right to it:
- <P>
- Plugins:
- <UL>
- <LI>Support for Vorbis comments, ID3 v1 and v2 tags.</LI>
- <LI>Configurable title formatting and charset conversion in XMMS plugin.</LI>
- <LI>Support for 8- and 24-bit FLAC files. There is a compile-time option for raw 24-bit output or 24bps-to-16bps linear dithering (the default).</LI>
- </UL>
- <P>
- <B><TT>flac</TT></B>:
- <UL>
- <LI>Improved option parser (now uses getopt).</LI>
- <LI>AIFF input support (thanks to Brady Patterson).</LI>
- <LI>Small decoder speedup.</LI>
- <LI><TT>--sector-align</TT> now supported for raw input files.</LI>
- <LI>New -T, --tag options for adding Vorbis comments while encoding.</LI>
- <LI>New --serial-number option for use with --ogg.</LI>
- <LI>Automatically writes vendor string in Vorbis comments.</LI>
- <LI>Drastically reduced memory requirements.</LI>
- <LI>Fixed bug where extra fmt/data chunks that were supposed to be skipped were not getting skipped.</LI>
- <LI>Fixed bug in granulepos setting for Ogg FLAC streams.</LI>
- <LI>Fixed memory leak when encoding multiple files with -V.</LI>
- </UL>
- <P>
- <B><TT>metaflac</TT></B>:
- <UL>
- <LI>UTF-8 support in Vorbis comments.</LI>
- <LI>New --import-vc-from and --export-vc-to commands for importing/exporting Vorbis comments from/to a file. For example, the following can be used to copy tags back and forth:<BR>
- <TT>
- metaflac --export-vc-to=- --no-utf8-convert file.flac | vorbiscomment --raw -w file.ogg<BR>
- vorbiscomment --raw -l file.ogg | metaflac --import-vc-from=- --no-utf8-convert file.flac<BR>
- </TT>
- </LI>
- <LI>Fixed <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=606796&group_id=13478&atid=113478">bug #606796</A> where <B><TT>metaflac</TT></B> was failing on read-only files.</LI>
- </UL>
- <P>
- Libraries:
- <UL>
- <LI>All APIs now meticulously documented via Doxygen. <A HREF="api/index.html">See here</A>.</LI>
- <LI>New <B><TT>libOggFLAC</TT></B> and <B><TT>libOggFLAC++</TT></B> libraries. These wrap around <B><TT>libFLAC</TT></B> to provide encoding and decoding of Ogg FLAC streams, providing interfaces similar to the ones of the native FLAC libraries. These are also documented via Doxygen.</LI>
- <LI>New FLAC__SeekableStreamEncoder and FLAC__FileEncoder in <B><TT>libFLAC</TT></B> simplify common encoding tasks.</LI>
- <LI>New verify mode in all encoders.</LI>
- <LI>FLAC__stream_encoder_finish() now resets the defaults just like the stream decoders.</LI>
- <LI>Drastically reduced memory requirements of encoders and decoders.</LI>
- <LI>Encoder now automatically writes vendor string in VORBIS_COMMENT block.</LI>
- <LI>Encoding speedup of fixed predictors and MD5 speedup for 16bps mono/stereo signals on x86 (thanks to Miroslav Lichvar).</LI>
- <LI>Fixed bug in metadata interface where a bps in STREAMINFO > 16 was incorrectly parsed.</LI>
- <LI>Fixed bug where aborting stream decoder could cause infinite loop.</LI>
- <LI>Behavior change: simplified decoder *_process() commands.</LI>
- <LI>Behavior change: calling FLAC__stream_encoder_init() calls write callback once for "fLaC" signature and once for each metadata block.</LI>
- <LI>Behavior change: deprecated do_escape_coding and rice_parameter_search_distance in encoder.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20020822">22-Aug-2002:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>Rio Receiver</B>&nbsp;&nbsp;FLAC support has been added to the Rio Receiver and Dell Digital Audio Receiver via David Flowerday's <A HREF="http://sourceforge.net/projects/rioplay/">RioPlay</A> client. See <A HREF="http://rioreceiver.comms.net/php/showflat.php?Cat=&Board=Technical&Number=2262&page=0&view=collapsed&sb=5&o=0&fpart=">here</A> for the announcement.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20020703">03-Jul-2002:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 1.0.3 released</B>&nbsp;&nbsp;Although by version number only a 0.0.1 increment, this release is significant. Remember, micro-revisions mean the FLAC format remains both forward and backward compatible, however, the libFLAC API has changed for the better.
- <P>
- New features:
- <UL>
- <LI>24-bit input support restored in <B><TT>flac</TT></B>.</LI>
- <LI>Decoder speedup in <B><TT>libFLAC</TT></B>, which is directly passed on to the command-line decoder and plugins.</LI>
- <LI>New <TT>-F</TT> option to <B><TT>flac</TT></B> to continue decoding in spite of errors.</LI>
- <LI>Correctly set granulepos in Ogg packets so seeking Ogg FLAC streams will be easier.</LI>
- <LI>New <A HREF="format.html#metadata_block_vorbis_comment">VORBIS_COMMENT</A> metadata block for tagging with Vorbis-style comments.</LI>
- <LI>Vastly improved <B><TT>metaflac</TT></B>, now with many editing and tagging options.</LI>
- <LI>Partial id3v1 support in Winamp plugins.</LI>
- <LI>Updated Winamp 3 plugin.</LI>
- <LI>Note: new semantics for -P option in <B><TT>flac</TT></B>.</LI>
- <LI>Note: removed -R option in <B><TT>flac</TT></B>.</LI>
- </UL>
- <P>
- New library features:
- <UL>
- <LI>Previously mentioned decoder speedup in <B><TT>libFLAC</TT></B>.</LI>
- <LI>New metadata interface to <B><TT>libFLAC</TT></B> for manipulating metadata in FLAC files.</LI>
- <LI>New <B><TT>libFLAC++</TT></B> API, an object wrapper around <B><TT>libFLAC</TT></B>.</LI>
- <LI>New <A HREF="format.html#metadata_block_vorbis_comment">VORBIS_COMMENT</A> metadata block for tagging with Vorbis-style comments.</LI>
- <LI>Customizable metadata filtering by type in decoders.</LI>
- <LI>Stream encoder can take an arbitrary list of metadata blocks, instead of just one SEEKTABLE and/or PADDING block.</LI>
- </UL>
- <P>
- Bugs fixed:
- <UL>
- <LI>Fixed bug with using pipes under Windows.</LI>
- <LI>Fixed several bugs in the plugins and made them more robust in general.</LI>
- <LI>Fixed bug in <B><TT>flac</TT></B> where decoding to WAVE of a FLAC file with 0 for total_samples in the STREAMINFO block yielded a WAVE chunk of 0 size.</LI>
- <LI>Fixed bug in Ogg packet numbering.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20020213">13-Feb-2002:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC goes hardware!</B>&nbsp;&nbsp;<A HREF="http://www.phatnoise.com/">Phatnoise</A> has become the first commercial hardware platform to support FLAC. Firmware is now available for the Phatbox player to play FLAC files. See <A HREF="http://www.phatnoise.com/technology/encoding.php">here</A> for details.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20011203">03-Dec-2001:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 1.0.2 released</B>&nbsp;&nbsp;This release is only to fix a bug that was causing some of the plugins to crash sporadically. It can also affect <B><TT>libFLAC</B></TT> users that reuse one file decoder instance for multiple files; see <A HREF="http://www.geocrawler.com/lists/3/SourceForge/7206/0/7231340">here</A> for more.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20011114">14-Nov-2001:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 1.0.1 released</B>&nbsp;&nbsp;The core codec is unchanged but there have been some features added and some bugs fixed:
- <P>
- New features for users:
- <UL>
- <LI>Support for Ogg-FLAC, i.e. <B><TT>flac</TT></B> can now read and write FLAC streams using Ogg as the transport layer.</LI>
- <LI>New Winamp 3 plugin based on the Wasabi Beta 1 SDK.</LI>
- <LI>New utilities for adding FLAC support to the Monkey's Audio GUI (see <A HREF="documentation.html#monkey">how</A>).</LI>
- <LI>Mac OS X support. The download area now contains an OS X binary release.</LI>
- <LI>Mingw32 support.</LI>
- <LI>Better handling of MS-specific 'fmt' chunks in WAVE files.</LI>
- </UL>
- <P>
- New features for developers:
- <UL>
- <LI>Added a SeekableStreamDecoder layer between StreamDecoder and FileDecoder. This makes it easier to use libFLAC in situations where files have been abstracted away. See the latest <A HREF="api/index.html">documentation</A> for more. The interface for the StreamDecoder and FileDecoder remain the same and are still binary-compatible with libFLAC 1.0.</LI>
- <LI>Drastically reduced the stack requirements of the encoder.</LI>
- </UL>
- <P>
- Bug fixes:
- <UL>
- <LI>Fixed a serious bug with <B><TT>flac</TT></B> and raw input where the encoder was trying to rewind when it shouldn't, which would add 12 junk samples to the encoded file. This was not present in WAVE encoding.</LI>
- <LI>Fixed a minor bug in <B><TT>libFLAC</TT></B> with setting the file name to stdin on a file decoder.</LI>
- <LI>Fixed a minor bug in <B><TT>libFLAC</TT></B> where multiple calls to setting the file name on a file decoder caused leaked memory.</LI>
- <LI>Fixed a minor bug in <B><TT>metaflac</TT></B>, now correctly skips an id3v2 tag if present.</LI>
- <LI>Fixed a minor bug in <B><TT>metaflac</TT></B>, now correctly skips long metadata blocks.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20010720">20-Jul-2001:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 1.0 is out!</B>&nbsp;&nbsp;It's finally here. There are a few new features but mostly it is minor bug fixes since 0.10:
- <UL>
- <LI>New '--sector-align' option to <B><TT>flac</TT></B> which aligns a group of encoded files on CD audio sector boundaries.</LI>
- <LI>New '--output-prefix' option to <B><TT>flac</TT></B> to allow the user to prepend a prefix to all output filenames (useful, for example, for encoding/decoding to a different directory).</LI>
- <LI>Better WAVE autodetection (doesn't rely on ungetc() anymore).</LI>
- <LI>Cleaner one-line encoding/decoding stats.</LI>
- <LI>Changes to the libFLAC interface and type names to make binary compatibility easier to maintain in the future.</LI>
- <LI>New '--sse-os' option to 'configure' to enable faster SSE-based routines.</LI>
- <LI>Another (hopefully last) fix to the Winamp 2 plugin.</LI>
- <LI>Slightly improved Rice parameter estimation.</LI>
- <LI>Bug fixes for some very rare corner cases when encoding.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20010607">07-Jun-2001:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 0.10 released.</B>&nbsp;&nbsp;This is probably the final beta. There have been many improvements in the last two months:
- <UL>
- <LI>Both the encoder and decoder have been significantly sped up. Aside from C improvements, the code base now has an assembly infrastructure that allows assembly routines for different architectures to be easily integrated. Many key routines have now have faster IA-32 implementations (thanks to Miroslav).</LI>
- <LI>A new metadata block <A HREF="format.html#def_SEEKTABLE">SEEKTABLE</A> has been defined to hold an arbitrary number of seek points, which speeds up seeking within a stream.</LI>
- <LI><B><TT>flac</TT></B> now has a command-line usage similar to 'gzip'; make sure to see the latest <A HREF="documentation.html">documentation</A> for the new usage. It also attempts to preserve the input file's timestamp and permissions.</LI>
- <LI>The -# options in <B><TT>flac</TT></B> have been tweaked to yield the best compression-to-encode-time ratios. The new default is -5.</LI>
- <LI><B><TT>flac</TT></B> can now usually autodetect WAVE files when encoding so that -fw is usually not needed when encoding from stdin.</LI>
- <LI>The WAVE reader in <B><TT>flac</TT></B> now just ignores (with a warning) unsupported sub-chunks instead of aborting with an error.</LI>
- <LI>Added an option '--delete-input-file' to <B><TT>flac</TT></B> which automatically deletes the input after a successful encode/decode.</LI>
- <LI>Added an option '-o' to <B><TT>flac</TT></B> to force the output file name (the old usage of "flac - outputfilename" is no longer supported).</LI>
- <LI>Changed the XMMS plugin to send smaller chunks of samples (now 512) so that visualization is not slow.</LI>
- <LI>Fixed a bug in the stream decoder where the decoded samples counter got corrupted after a seek.</LI>
- </UL>
- It should be a short hop to 1.0.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20010331">31-Mar-2001:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 0.9 released.</B>&nbsp;&nbsp;There were some format changes that broke backwards compatibility but these should be the last (see below). Also, there have been several bug fixes and some new features:
- <UL>
- <LI>FLAC's sync code has been lengthened to 14 bits from 9 bits. This should enable a faster and more robust synchronization mechanism.</LI>
- <LI>Two reserved bits were added to the frame header.</LI>
- <LI>A CRC-16 was added to the FLAC frame footer, and the decoder now does frame integrity checking based on the CRC.</LI>
- <LI>The format now includes a new subframe field to indicate when a subblock has one or more 0 LSBs for all samples. This increases compression on some kinds of data.</LI>
- <LI>Added two options to the analysis mode, one for including the residual signal in the analysis file, and one for generating gnuplot files of each subframe's residual distribution with some statistics. See the latest <A HREF="documentation.html#analysis_options">documentation</A>.</LI>
- <LI>XMMS plugin now supports 8-bit files.</LI>
- <LI>Fixed a bug in the Winamp2 plugin where the audio sounded garbled.</LI>
- <LI>Fixed a bug in the Winamp2 plugin where Winamp would hang sporadically at the end of a track (c.f. <A HREF="http://sourceforge.net/tracker/index.php?func=detail&aid=231197&group_id=13478&atid=113478">bug #231197</A>).</LI>
- </UL>
- FLAC is on track for an official 1.0 release soon.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20010305">05-Mar-2001:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 0.8 released.</B>&nbsp;&nbsp;This release is a result of extensive testing and fixes several bugs encountered when pushing the encoder to the limit. I'm pretty confident in the stability of the encoder/decoder now for all kinds of input. There have also been several features added. Here is a complete list of the changes since 0.7:
- <UL>
- <LI>Created a new utility called <B><TT>metaflac</TT></B>. It is a metadata editor for .flac files. Right now it just lists the contents of the metadata blocks but eventually it will allow update/insertion/deletion.</LI>
- <LI>Added two new metadata blocks: PADDING which has an obvious function, and APPLICATION, which is meant to be open to third party applications. See the <A HREF="format.html#def_APPLICATION">latest format docs</A> for more info, or the new <A HREF="id.html">id registration page</A>.</LI>
- <LI>Added a <B><TT>-P</TT></B> option to <B><TT>flac</TT></B> to reserve a PADDING block when encoding.</LI>
- <LI>Added support for 24-bit files to <B><TT>flac</TT></B> (the FLAC format always supported it).</LI>
- <LI>Started the Winamp3 plugin.</LI>
- <LI>Greatly expanded the test suite, adding more streams (24-bit streams, noise streams, non-audio streams, more patterns) and more option combinations to the encoder. The test suite runs about 30 streams and over 5000 encodings now.</LI>
- <LI>Fixed a bug in <B><TT>libFLAC</B></TT> that happened when using an exhaustive LPC coefficient quantization search with 8 bps input.</LI>
- <LI>Fixed a bug in <B><TT>libFLAC</B></TT> where the error estimation in the fixed predictor could overflow.</LI>
- <LI>Fixed a bug in <B><TT>libFLAC</B></TT> where LPC was attempted even when the autocorrelation coefficients implied it wouldn't help.</LI>
- <LI>Reworked the LPC coefficient quantizer, which also fixed another bug that might occur in rare cases.</LI>
- <LI>Really fixed the '-V overflow' bug (c.f. <A HREF="http://sourceforge.net/tracker/?group_id=13478&atid=113478&aid=231976&func=detail">bug #231976</A>).</LI>
- <LI>Fixed a bug in <B><TT>flac</B></TT> related to the decode buffer sizing.</LI>
- </UL>
- FLAC is very close to being ready for an official release. The only known problems left are with the Winamp plugins, which should be fixed soon, and pipes with MSVC.
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20010212">12-Feb-2001:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 0.7 released.</B>&nbsp;&nbsp;This is mainly a bug fix release, specifically:
- <UL>
- <LI>Fixed a bug that happened when both -fr and --seek were used at the same time.</LI>
- <LI>Fixed a bug with -p (c.f. <A HREF="http://sourceforge.net/tracker/?group_id=13478&atid=113478&aid=230992&func=detail">bug #230992</A>).</LI>
- <LI>Fixed a bug that happened when using large (&gt;32K) blocksizes and -V (c.f. <A HREF="http://sourceforge.net/tracker/?group_id=13478&atid=113478&aid=231976&func=detail">bug #231976</A>).</LI>
- <LI>Fixed a bug where encoder was double-closing a file.</LI>
- <LI>Expanded the test suite.</LI>
- <LI>Added more optimization flags for gcc, which should speed up flac.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20010128">28-Jan-2001:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 0.6 released.</B>&nbsp;&nbsp;The encoder is now much faster. The -m option has been sped up by 4x and -r improved, meaning that in the default compression mode (-6), encoding should be at least 3 times faster. Other changes:
- <UL>
- <LI>Some bugs related to <B><TT>flac</TT></B> and pipes were fixed (see <A HREF="http://www.geocrawler.com/lists/3/SourceForge/7206/0/5013495/">here</A> for the discussion).</LI>
- <LI>A "loose mid-side" (<TT>-M</TT>) option to the encoder has been added, which adaptively switches between independent and mid-side coding, instead of the exhaustive search that <TT>-m</TT> does.
- <LI>An analyze mode (<B><TT>-a</TT></B>) has been added to <B><TT>flac</TT></B>. This is useful mainly for developers; currently it will dump info about each frame and subframe to a file. It's a text file in a format that can be easily processed by scripts; a separate analysis program is in the works.</LI>
- <LI>The source now has an autoconf/libtool-based build system. This should allow the source to build "out-of-the-box" on many more platforms.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20010115">15-Jan-2001:</A>
- </P>
- <P>
- <UL>
- <LI>
- <B>FLAC 0.5 released.</B>&nbsp;&nbsp;This is the first beta version of FLAC. Being beta, there will be no changes to the format that will break older streams, unless a serious bug involving the format is found. What this means is that, barring such a bug, streams created with 0.5 will be decodable by future versions. This version also includes some new features:
- <UL>
- <LI>An <A HREF="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5 signature</A> of the unencoded audio is computed during encoding, and stored in the Encoding metadata block in the stream header. When decoding, <B><TT>flac</TT></B> will now compute the MD5 signature of the decoded data and compare it against the signature in the stream header.</LI>
- <LI>A test mode (<B><TT>-t</TT></B>) has been added to <B><TT>flac</TT></B>. It works like decode mode but doesn't write an output file.</LI>
- </UL>
- </LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20001223">23-Dec-2000:</A>
- </P>
- <P>
- <UL>
- <LI><B>FLAC 0.4 released.</B>&nbsp;&nbsp;This version fixes a bug in the constant subframe detection. More importantly, a verify option (-V) has been added to <B><TT>flac</TT></B> that verifies the encoding process. With this option turned on, <B><TT>flac</TT></B> will create a parallel decoder while encoding to make sure that the encoded output decodes to exactly match the original input. In this way, any unknown bug in the encoder will be caught and <B><TT>flac</TT></B> will abort with an error message.</LI>
- </UL>
- </P>
-
- <P>
- <A NAME="20001210">10-Dec-2000:</A>
- </P>
- <P>
- <UL>
- <LI><B>FLAC debuts on SourceForge.</B>&nbsp;&nbsp;The FLAC project is now being hosted on SourceForge. Visit the <A HREF="http://www.sourceforge.net/projects/flac/">FLAC project page</A> to join the mailing list or sign up as a developer.</LI>
- </UL>
- </P>
- </FONT>
- </TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
-</TD></TR>
-</TABLE>
-
-
-</CENTER>
-
-<P>&nbsp;Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson</P>
-
-</BODY>
-</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 - news</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="separator2"></div>
+
+<div class="navbar">
+ &nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
+ &nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
+ &nbsp;news&nbsp;&nbsp;|
+ &nbsp;<a href="download.html">download</a>&nbsp;&nbsp;|
+ &nbsp;<a href="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/news.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="below_nav"></div>
+
+<div class="box">
+ <div class="box_title">
+ news
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ <a name="20050205">05-Feb-2005:</a>
+ <ul>
+ <li>
+ <b>FLAC 1.1.2 released</b>&nbsp;&nbsp;New in this release are small decoding speedups for all platforms, small encoding speedups in fast (non-LPC) mode, streaming support in the XMMS plugin, and several bug fixes. For developers there are also a few additions and changes to the metadata API to make working with tags easier. See the <a href="changelog.html#flac_1_1_2">changelog entry</a> for complete details. This release actually wasn't supposed to happen so soon, but needed to be made to fix library naming and build problems in FLAC 1.1.1 that caused trouble for package maintainers, so unless you are having trouble with one of the particular bugs that got fixed in 1.1.2 then there is not much of a need to upgrade.
+ </li>
+ </ul>
+
+ <a name="20050117">17-Jan-2005:</a>
+ <ul>
+ <li>
+ <b>Several new devices support FLAC</b><br />
+ <br />
+ Another handful of devices that support FLAC are out or announced: <!--the a href="http://www.planetminidisc.com/chroma-20gb.html"@Rio Chroma@/A, -->the <a href="http://www.zensonic.com/press_z500.php">Zensonic Z500 Networked DVD Media Player</a>, Escient's <a href="http://www.escient.com/releases/escient_jan0605_2.html">new FireBall E2-40, E2-160, and DVDM-300</a>, the <a href="http://www.digitaltechniques.com/M300A_Overview.html">M300A Digital Music Player</a> from Digital Techniques (see <a href="http://www.digitaltechniques.com/QuickStart.html">manual</a>), Meda Systems' <a href="http://www.medainc.com/">Bravo servers</a> (<a href="http://www.stereophile.com/news/092704medasystems/">more info</a>), and the <a href="http://www.cesweb.org/attendees/show_floor/product_locator/product_details.asp?prodid=5181">MS300 Music Server</a> by McIntosh Laboratory.
+ </li>
+ </ul>
+
+ <a name="20041112">12-Nov-2004:</a>
+ <ul>
+ <li>
+ <b>Escient's new FireBall E2-300 supports FLAC</b><br />
+ <br />
+ <a href="http://www.escient.com/">Escient</a> has a new home stereo component that supports FLAC, the <a href="http://www.escient.com/fireballe2300.html">FireBall E2-300</a>.
+ </li>
+ </ul>
+
+ <a name="20041102">02-Nov-2004:</a>
+ <ul>
+ <li>
+ <b>New Mindawn music store offers FLAC and Vorbis</b><br />
+ <br />
+ <a href="http://www.mindawn.com/">Mindawn</a>, a new online music service offering FLAC and Ogg Vorbis, is now open. They also have a multi-platform (Windows, Linux, Mac OS X) CD ripper/encoder and are finishing up a multi-platform player.
+ </li>
+ </ul>
+
+ <a name="20041001">01-Oct-2004:</a>
+ <ul>
+ <li>
+ <b>FLAC 1.1.1 released</b>&nbsp;&nbsp;There is a new <a href="changelog.html#flac_1_1_1">changelog</a> with a complete list of changes/fixes/improvements, but here is a summary of some of the main ones:
+ <ul>
+ <li>Better Ogg FLAC support including seeking and an official <a href="ogg_mapping.html">Ogg FLAC mapping</a>.</li>
+ <li>Significant decoding speedup (almost 2x) on PowerPC (includes Macs with G4/G5).</li>
+ <li>Speedups in the plugins.</li>
+ <li>Several new options to <span class="commandname">flac</span> and <span class="commandname">metaflac</span> by popular demand.</li>
+ <li>Several API additions requested by developers.</li>
+ <li>Many bugfixes.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <a name="20040727">27-Jul-2004:</a>
+ <ul>
+ <li>
+ <b>The Furthur Network now supports FLAC</b><br />
+ <br />
+ The <a href="http://www.furthurnet.org/">Furthur Network</a>, a legal-live music sharing P2P network, <a href="http://www.furthurnet.org/presspit/">now supports FLAC</a>.
+ </li>
+ </ul>
+
+ <a name="20040621">21-Jun-2004:</a>
+ <ul>
+ <li>
+ <b>Bonnaroo soundboard recordings available in FLAC</b><br />
+ <br />
+ <a href="http://www.livebonnaroo.com/catalog.html">Several sets</a> from the Bonnaroo Music Festival are available in FLAC, including <a href="http://stores.musictoday.com/store/product.asp?dept%5Fid=3045&amp;pf%5Fid=FEDD17&amp;band%5Fid=741&amp;sfid=2">Dave Matthews &amp; Friends</a> and <a href="http://stores.musictoday.com/store/product.asp?dept%5Fid=3045&amp;pf%5Fid=FEDD67&amp;band%5Fid=741&amp;sfid=2">String Cheese Incident</a>, with more to follow as the soundboard recordings are approved by the bands.
+ </li>
+ </ul>
+
+ <a name="20040303">03-Mar-2004:</a>
+ <ul>
+ <li>
+ <b>Metallica offers live shows in FLAC</b><br />
+ <br />
+ Metallica is offering <a href="http://www.livemetallica.com/">soundboard recordings of live shows in FLAC format</a>.
+ </li>
+ </ul>
+
+ <a name="20040203">03-Feb-2004:</a>
+ <ul>
+ <li>
+ <b>Charlie Hunter makes select albums available in FLAC</b><br />
+ <br />
+ <a href="http://www.charliehunter.com/">Charlie Hunter</a> is making select albums <a href="http://www.charliehunter.com/news/main.htm#Solo8">available for download in FLAC</a> and MP3 formats.
+ </li>
+ </ul>
+
+ <a name="20031119">19-Nov-2003:</a>
+ <ul>
+ <li>
+ <b>PhatNoise's new Home Digital Media Player supports FLAC</b><br />
+ <br />
+ <a href="http://www.phatnoise.com/">PhatNoise</a> (makers of the <a href="http://www.phatnoise.com/products/digitalmediaplayers/index.php">PhatBox</a>, which also plays FLAC) just released their <a href="http://www.phatnoise.com/products/homeplayer/index.php">Home Digital Media Player</a>. It includes a DMS cartridge slot so you can pop out your FLAC tunes and pop 'em in your car.
+ </li>
+ </ul>
+
+ <a name="20031118">18-Nov-2003:</a>
+ <ul>
+ <li>
+ <b>Slim's new 'Squeezebox' supports FLAC</b><br />
+ <br />
+ Slim Devices' new <a href="http://www.slimdevices.com/index.html">Squeezebox</a>, the wireless follow-on to the SliMP3 networked audio player, is available and supports FLAC and Ogg Vorbis.
+ </li>
+ </ul>
+
+ <a name="20031111">11-Nov-2003:</a>
+ <ul>
+ <li>
+ <b>Primus offers live shows in FLAC</b><br />
+ <br />
+ <a href="http://www.primussucks.com/">Primus</a> is offering soundboard recordings from 2003 Tour de Fromage in FLAC and MP3 on <a href="http://www.primuslive.com/">primuslive.com</a>. More info <a href="http://blogcritics.org/archives/2003/10/23/135952.php">here</a> and <a href="http://www.billboard.com/bb/daily/article_display.jsp?vnu_content_id=2005669">here</a>.
+ </li>
+ </ul>
+
+ <a name="20031013">13-Oct-2003:</a>
+ <ul>
+ <li>
+ <b>Magnatune catalog available in FLAC</b><br />
+ <br />
+ Independent record label <a href="http://magnatune.com/">Magnatune</a> is now <a href="http://forums.magnatune.com/read/messages?id=559079">offering their catalog in FLAC and Vorbis</a> in addition to MP3.
+ </li>
+ </ul>
+
+ <a name="20030811">11-Aug-2003:</a>
+ <ul>
+ <li>
+ <b>New Rio Karma supports FLAC</b><br />
+ <br />
+ Rio has announced a new portable, the <a href="http://www.digitalnetworksna.com/shop/_templates/item_main_Rio.asp?model=220&amp;cat=53">Rio Karma</a>, which supports FLAC and Ogg Vorbis.
+ </li>
+ </ul>
+
+ <a name="20030623">23-Jun-2003:</a>
+ <ul>
+ <li>
+ <b>livephish.com offers FLAC shows</b><br />
+ <br />
+ <a href="http://www.livephish.com/">livephish.com</a> is now offering soundboard recordings of live shows in FLAC format in addition to MP3.
+ </li>
+ </ul>
+
+ <a name="20030209">09-Feb-2003:</a>
+ <ul>
+ <li>
+ <b>ReQuest adds FLAC support</b><br />
+ <br />
+ <a href="http://www.request.com/us/">ReQuest Multimedia's</a> AudioReQuest music servers <a href="http://www.request.com/us/whatsnew.html">now support FLAC</a>.
+ </li>
+ </ul>
+
+ <a name="20030129">29-Jan-2003:</a>
+ <ul>
+ <li>
+ <b>FLAC has joined the Xiph project</b>&nbsp;&nbsp;See <a href="http://xiph.org/ogg/flac.html">here</a> for the press release.<br />
+ <br />
+ <a href="http://xiph.org/">Xiph.org</a> is behind other free codecs such as <a href="http://www.vorbis.com/">Vorbis</a>, <a href="http://www.theora.org/">Theora</a>, and <a href="http://www.speex.org/">Speex</a>. Our merger with Xiph will bring FLAC into the ranks and lead to better integration with the <a href="http://www.xiph.org/ogg/">Ogg multimedia framework</a>.<br />
+ <br />
+ Note that the FLAC format is not changing, native FLAC will continue to exist, and the command-line tools and plugins will continue to work as before. The codec libraries will now be available under Xiph's BSD-like license.<br />
+ <br />
+ Over the next few days we will be transitioning normal operations off SourceForge and over to Xiph.org; first will be CVS and the web pages, followed by the mailing lists, bug tracker, and file release area. We will keep a mirror here until the transition is complete. It's OK to send patches to the flac-dev list but they won't be able to be integrated until CVS is fully moved over.
+ </li>
+ </ul>
+
+ <a name="20030126">26-Jan-2003:</a>
+ <ul>
+ <li>
+ <b>FLAC 1.1.0 released</b>&nbsp;&nbsp;I didn't get everything in that I wanted, but it's high time for a release.<br />
+ <br />
+ Note that the minor version has incremented, meaning forward compatibility was broken (forward compatibility means an earlier decoder can play all streams made by a later decoder). This is only because of a bug in 1.0.4 and prior where the decoder could not properly skip unknown metadata. The stream format itself has not changed and FLAC is still fully backward-compatible. All it means is that a FLAC file containing cue sheet metadata will not decode in older decoders. This bug is fixed in 1.1.0.<br />
+ <br />
+ Here's what's new:<br />
+ <br />
+ General:
+ <ul>
+ <li>All code is now <a href="http://valgrind.kde.org/">Valgrind</a>-clean!</li>
+ <li>New <a href="format.html#def_CUESHEET">CUESHEET</a> metadata block for storing CD TOC and index point information. Now a CD can be completely backed up to a single FLAC file for archival.</li>
+ <li><a href="http://www.replaygain.org/">ReplayGain</a> support.</li>
+ <li>Better compression of 24-bit files.</li>
+ <li>More complete AIFF support.</li>
+ <li>3DNow! optimizations enabled by default.</li>
+ <li>Complete MSVC build system with .dsp projects for everything, which can build both static libs and DLLs, and in debug or release mode, all in the same source tree.</li>
+ </ul>
+ <span class="commandname">flac</span>:
+ <ul>
+ <li>Can now decode FLAC to AIFF; new <span class="argument">--force-aiff-format</span> option.</li>
+ <li>New <span class="argument">--cuesheet</span> option for reading and storing a cuesheet when encoding a whole CD. Automatically creates seek points for track and index points unless <span class="argument">--no-cued-seekpoints</span> is used.</li>
+ <li>New <span class="argument">--replay-gain</span> option for calculating ReplayGain values and storing them as tags.</li>
+ <li>New <span class="argument">--until</span> option complements <span class="argument">--skip</span> to stop decoding at a specified point in the stream.</li>
+ <li><span class="argument">--skip</span> and <span class="argument">--until</span> now also accept mm:ss.ss format.</li>
+ <li>New <span class="argument">-S #s</span> flavor to specify seekpoints every '#' number of seconds.</li>
+ <li><span class="commandname">flac</span> now defaults to <span class="argument">-S 10s</span> instead of <span class="argument">-S 100x</span> for the seek table.</li>
+ <li><span class="commandname">flac</span> now adds a 4k PADDING block by default (turn off with <span class="argument">--no-padding</span>).</li>
+ <li>Fixed a bug with --skip and AIFF-to-FLAC encoding.</li>
+ <li>Fixed a bug where decoding a FLAC file whose total_samples==0 in the STREAMINFO would corrupt the WAVE header.</li>
+ </ul>
+ <span class="commandname">metaflac</span>:
+ <ul>
+ <li>New <span class="argument">--import-cuesheet-from</span> option for reading and storing a cuesheet to a FLAC-encoded CD. Automatically creates seek points for track and index points unless <span class="argument">--no-cued-seekpoints</span> is used.</li>
+ <li>New <span class="argument">--export-cuesheet-to</span> option for writing a cuesheet from a FLAC file for use with CD authoring software.</li>
+ <li>New <span class="argument">--add-replay-gain</span> option for calculating ReplayGain values and storing them as tags.</li>
+ <li>New <span class="argument">--add-seekpoint</span> option to add seekpoints to an existing FLAC file. Includes new <span class="argument">--add-seekpoint=#s</span> flavor to add seekpoints every '#' number of seconds.</li>
+ </ul>
+ XMMS plugin:
+ <ul>
+ <li>Configurable sample resolution conversion with dither.</li>
+ <li>ReplayGain support with customizable noise shaping, pre-amp, and optional hard limiter.</li>
+ <li>New Vorbis comment editor.</li>
+ <li>File info now works.</li>
+ <li>Bitrate now shows the smoothed instantaneous bitrate.</li>
+ <li>Uses the ARTIST tag if there is no PERFORMER tag.</li>
+ </ul>
+ Winamp2 plugin:
+ <ul>
+ <li>Configurable sample resolution conversion with dither.</li>
+ <li>ReplayGain support with customizable noise shaping, pre-amp, and optional hard limiter.</li>
+ <li>File info now works.</li>
+ <li>Uses the ARTIST tag if there is no PERFORMER tag.</li>
+ </ul>
+ Libraries (developers take note!):
+ <ul>
+ <li>All code and tests are instrumented for Valgrind. All tests run Valgrind-clean, meaning no memory leaks or buffer over/under-runs.</li>
+ <li>Separate 64-bit datapath through the filter in <span class="commandname">libFLAC</span> for better compression of &gt;16 bps files.</li>
+ <li><span class="code">FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)</span> now sets the vendor string.</li>
+ <li>The documentation on the usage of <span class="code">FLAC::Iterator::get_block()</span> in <span class="commandname">libFLAC++</span> has an important correction. If you use this class make sure to read <a href="api/group__flacpp__metadata__level2.html">this</a>.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <a name="20020924">24-Sep-2002:</a>
+ <ul>
+ <li>
+ <b>FLAC 1.0.4 released</b>&nbsp;&nbsp;There are a lot of improvements since 1.0.3; let's get right to it:<br />
+ <br />
+ Plugins:
+ <ul>
+ <li>Support for Vorbis comments, ID3 v1 and v2 tags.</li>
+ <li>Configurable title formatting and charset conversion in XMMS plugin.</li>
+ <li>Support for 8- and 24-bit FLAC files. There is a compile-time option for raw 24-bit output or 24bps-to-16bps linear dithering (the default).</li>
+ </ul>
+ <span class="commandname">flac</span>:
+ <ul>
+ <li>Improved option parser (now uses getopt).</li>
+ <li>AIFF input support (thanks to Brady Patterson).</li>
+ <li>Small decoder speedup.</li>
+ <li><span class="argument">--sector-align</span> now supported for raw input files.</li>
+ <li>New -T, --tag options for adding Vorbis comments while encoding.</li>
+ <li>New --serial-number option for use with --ogg.</li>
+ <li>Automatically writes vendor string in Vorbis comments.</li>
+ <li>Drastically reduced memory requirements.</li>
+ <li>Fixed bug where extra fmt/data chunks that were supposed to be skipped were not getting skipped.</li>
+ <li>Fixed bug in granulepos setting for Ogg FLAC streams.</li>
+ <li>Fixed memory leak when encoding multiple files with -V.</li>
+ </ul>
+ <span class="commandname">metaflac</span>:
+ <ul>
+ <li>UTF-8 support in Vorbis comments.</li>
+ <li>New --import-vc-from and --export-vc-to commands for importing/exporting Vorbis comments from/to a file. For example, the following can be used to copy tags back and forth:<br />
+ <span class="code">
+ metaflac --export-vc-to=- --no-utf8-convert file.flac | vorbiscomment --raw -w file.ogg<br />
+ vorbiscomment --raw -l file.ogg | metaflac --import-vc-from=- --no-utf8-convert file.flac<br />
+ </span>
+ </li>
+ <li>Fixed <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=606796&amp;group_id=13478&amp;atid=113478">bug #606796</a> where <span class="commandname">metaflac</span> was failing on read-only files.</li>
+ </ul>
+ Libraries:
+ <ul>
+ <li>All APIs now meticulously documented via Doxygen. <a href="api/index.html">See here</a>.</li>
+ <li>New <span class="commandname">libOggFLAC</span> and <span class="commandname">libOggFLAC++</span> libraries. These wrap around <span class="commandname">libFLAC</span> to provide encoding and decoding of Ogg FLAC streams, providing interfaces similar to the ones of the native FLAC libraries. These are also documented via Doxygen.</li>
+ <li>New FLAC__SeekableStreamEncoder and FLAC__FileEncoder in <span class="commandname">libFLAC</span> simplify common encoding tasks.</li>
+ <li>New verify mode in all encoders.</li>
+ <li>FLAC__stream_encoder_finish() now resets the defaults just like the stream decoders.</li>
+ <li>Drastically reduced memory requirements of encoders and decoders.</li>
+ <li>Encoder now automatically writes vendor string in VORBIS_COMMENT block.</li>
+ <li>Encoding speedup of fixed predictors and MD5 speedup for 16bps mono/stereo signals on x86 (thanks to Miroslav Lichvar).</li>
+ <li>Fixed bug in metadata interface where a bps in STREAMINFO > 16 was incorrectly parsed.</li>
+ <li>Fixed bug where aborting stream decoder could cause infinite loop.</li>
+ <li>Behavior change: simplified decoder *_process() commands.</li>
+ <li>Behavior change: calling FLAC__stream_encoder_init() calls write callback once for "fLaC" signature and once for each metadata block.</li>
+ <li>Behavior change: deprecated do_escape_coding and rice_parameter_search_distance in encoder.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <a name="20020822">22-Aug-2002:</a>
+ <ul>
+ <li>
+ <b>Rio Receiver</b>&nbsp;&nbsp;FLAC support has been added to the Rio Receiver and Dell Digital Audio Receiver via David Flowerday's <a href="http://sourceforge.net/projects/rioplay/">RioPlay</a> client. See <a href="http://rioreceiver.comms.net/php/showflat.php?Cat=&amp;Board=Technical&amp;Number=2262&amp;page=0&amp;view=collapsed&amp;sb=5&amp;o=0&amp;fpart=">here</a> for the announcement.
+ </li>
+ </ul>
+
+ <a name="20020703">03-Jul-2002:</a>
+ <ul>
+ <li>
+ <b>FLAC 1.0.3 released</b>&nbsp;&nbsp;Although by version number only a 0.0.1 increment, this release is significant. Remember, micro-revisions mean the FLAC format remains both forward and backward compatible, however, the libFLAC API has changed for the better.<br />
+ <br />
+ New features:
+ <ul>
+ <li>24-bit input support restored in <span class="commandname">flac</span>.</li>
+ <li>Decoder speedup in <span class="commandname">libFLAC</span>, which is directly passed on to the command-line decoder and plugins.</li>
+ <li>New <span class="argument">-F</span> option to <span class="commandname">flac</span> to continue decoding in spite of errors.</li>
+ <li>Correctly set granulepos in Ogg packets so seeking Ogg FLAC streams will be easier.</li>
+ <li>New <a href="format.html#metadata_block_vorbis_comment">VORBIS_COMMENT</a> metadata block for tagging with Vorbis-style comments.</li>
+ <li>Vastly improved <span class="commandname">metaflac</span>, now with many editing and tagging options.</li>
+ <li>Partial id3v1 support in Winamp plugins.</li>
+ <li>Updated Winamp 3 plugin.</li>
+ <li>Note: new semantics for -P option in <span class="commandname">flac</span>.</li>
+ <li>Note: removed -R option in <span class="commandname">flac</span>.</li>
+ </ul>
+ New library features:
+ <ul>
+ <li>Previously mentioned decoder speedup in <span class="commandname">libFLAC</span>.</li>
+ <li>New metadata interface to <span class="commandname">libFLAC</span> for manipulating metadata in FLAC files.</li>
+ <li>New <span class="commandname">libFLAC++</span> API, an object wrapper around <span class="commandname">libFLAC</span>.</li>
+ <li>New <a href="format.html#metadata_block_vorbis_comment">VORBIS_COMMENT</a> metadata block for tagging with Vorbis-style comments.</li>
+ <li>Customizable metadata filtering by type in decoders.</li>
+ <li>Stream encoder can take an arbitrary list of metadata blocks, instead of just one SEEKTABLE and/or PADDING block.</li>
+ </ul>
+ Bugs fixed:
+ <ul>
+ <li>Fixed bug with using pipes under Windows.</li>
+ <li>Fixed several bugs in the plugins and made them more robust in general.</li>
+ <li>Fixed bug in <span class="commandname">flac</span> where decoding to WAVE of a FLAC file with 0 for total_samples in the STREAMINFO block yielded a WAVE chunk of 0 size.</li>
+ <li>Fixed bug in Ogg packet numbering.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <a name="20020213">13-Feb-2002:</a>
+ <ul>
+ <li>
+ <b>FLAC goes hardware!</b>&nbsp;&nbsp;<a href="http://www.phatnoise.com/">Phatnoise</a> has become the first commercial hardware platform to support FLAC. Firmware is now available for the Phatbox player to play FLAC files. See <a href="http://www.phatnoise.com/technology/encoding.php">here</a> for details.
+ </li>
+ </ul>
+
+ <a name="20011203">03-Dec-2001:</a>
+ <ul>
+ <li>
+ <b>FLAC 1.0.2 released</b>&nbsp;&nbsp;This release is only to fix a bug that was causing some of the plugins to crash sporadically. It can also affect <span class="commandname">libFLAC</span> users that reuse one file decoder instance for multiple files; see <a href="http://www.geocrawler.com/lists/3/SourceForge/7206/0/7231340">here</a> for more.
+ </li>
+ </ul>
+
+ <a name="20011114">14-Nov-2001:</a>
+ <ul>
+ <li>
+ <b>FLAC 1.0.1 released</b>&nbsp;&nbsp;The core codec is unchanged but there have been some features added and some bugs fixed:<br />
+ <br />
+ New features for users:
+ <ul>
+ <li>Support for Ogg-FLAC, i.e. <span class="commandname">flac</span> can now read and write FLAC streams using Ogg as the transport layer.</li>
+ <li>New Winamp 3 plugin based on the Wasabi Beta 1 SDK.</li>
+ <li>New utilities for adding FLAC support to the Monkey's Audio GUI (see <a href="documentation.html#monkey">how</a>).</li>
+ <li>Mac OS X support. The download area now contains an OS X binary release.</li>
+ <li>Mingw32 support.</li>
+ <li>Better handling of MS-specific 'fmt' chunks in WAVE files.</li>
+ </ul>
+ New features for developers:
+ <ul>
+ <li>Added a SeekableStreamDecoder layer between StreamDecoder and FileDecoder. This makes it easier to use libFLAC in situations where files have been abstracted away. See the latest <a href="api/index.html">documentation</a> for more. The interface for the StreamDecoder and FileDecoder remain the same and are still binary-compatible with libFLAC 1.0.</li>
+ <li>Drastically reduced the stack requirements of the encoder.</li>
+ </ul>
+ Bug fixes:
+ <ul>
+ <li>Fixed a serious bug with <span class="commandname">flac</span> and raw input where the encoder was trying to rewind when it shouldn't, which would add 12 junk samples to the encoded file. This was not present in WAVE encoding.</li>
+ <li>Fixed a minor bug in <span class="commandname">libFLAC</span> with setting the file name to stdin on a file decoder.</li>
+ <li>Fixed a minor bug in <span class="commandname">libFLAC</span> where multiple calls to setting the file name on a file decoder caused leaked memory.</li>
+ <li>Fixed a minor bug in <span class="commandname">metaflac</span>, now correctly skips an id3v2 tag if present.</li>
+ <li>Fixed a minor bug in <span class="commandname">metaflac</span>, now correctly skips long metadata blocks.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <a name="20010720">20-Jul-2001:</a>
+ <ul>
+ <li>
+ <b>FLAC 1.0 is out!</b>&nbsp;&nbsp;It's finally here. There are a few new features but mostly it is minor bug fixes since 0.10:
+ <ul>
+ <li>New '--sector-align' option to <span class="commandname">flac</span> which aligns a group of encoded files on CD audio sector boundaries.</li>
+ <li>New '--output-prefix' option to <span class="commandname">flac</span> to allow the user to prepend a prefix to all output filenames (useful, for example, for encoding/decoding to a different directory).</li>
+ <li>Better WAVE autodetection (doesn't rely on ungetc() anymore).</li>
+ <li>Cleaner one-line encoding/decoding stats.</li>
+ <li>Changes to the libFLAC interface and type names to make binary compatibility easier to maintain in the future.</li>
+ <li>New '--sse-os' option to 'configure' to enable faster SSE-based routines.</li>
+ <li>Another (hopefully last) fix to the Winamp 2 plugin.</li>
+ <li>Slightly improved Rice parameter estimation.</li>
+ <li>Bug fixes for some very rare corner cases when encoding.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <a name="20010607">07-Jun-2001:</a>
+ <ul>
+ <li>
+ <b>FLAC 0.10 released.</b>&nbsp;&nbsp;This is probably the final beta. There have been many improvements in the last two months:
+ <ul>
+ <li>Both the encoder and decoder have been significantly sped up. Aside from C improvements, the code base now has an assembly infrastructure that allows assembly routines for different architectures to be easily integrated. Many key routines have now have faster IA-32 implementations (thanks to Miroslav).</li>
+ <li>A new metadata block <a href="format.html#def_SEEKTABLE">SEEKTABLE</a> has been defined to hold an arbitrary number of seek points, which speeds up seeking within a stream.</li>
+ <li><span class="commandname">flac</span> now has a command-line usage similar to 'gzip'; make sure to see the latest <a href="documentation.html">documentation</a> for the new usage. It also attempts to preserve the input file's timestamp and permissions.</li>
+ <li>The -# options in <span class="commandname">flac</span> have been tweaked to yield the best compression-to-encode-time ratios. The new default is -5.</li>
+ <li><span class="commandname">flac</span> can now usually autodetect WAVE files when encoding so that -fw is usually not needed when encoding from stdin.</li>
+ <li>The WAVE reader in <span class="commandname">flac</span> now just ignores (with a warning) unsupported sub-chunks instead of aborting with an error.</li>
+ <li>Added an option '--delete-input-file' to <span class="commandname">flac</span> which automatically deletes the input after a successful encode/decode.</li>
+ <li>Added an option '-o' to <span class="commandname">flac</span> to force the output file name (the old usage of "flac - outputfilename" is no longer supported).</li>
+ <li>Changed the XMMS plugin to send smaller chunks of samples (now 512) so that visualization is not slow.</li>
+ <li>Fixed a bug in the stream decoder where the decoded samples counter got corrupted after a seek.</li>
+ </ul>
+ It should be a short hop to 1.0.
+ </li>
+ </ul>
+
+ <a name="20010331">31-Mar-2001:</a>
+ <ul>
+ <li>
+ <b>FLAC 0.9 released.</b>&nbsp;&nbsp;There were some format changes that broke backwards compatibility but these should be the last (see below). Also, there have been several bug fixes and some new features:
+ <ul>
+ <li>FLAC's sync code has been lengthened to 14 bits from 9 bits. This should enable a faster and more robust synchronization mechanism.</li>
+ <li>Two reserved bits were added to the frame header.</li>
+ <li>A CRC-16 was added to the FLAC frame footer, and the decoder now does frame integrity checking based on the CRC.</li>
+ <li>The format now includes a new subframe field to indicate when a subblock has one or more 0 LSBs for all samples. This increases compression on some kinds of data.</li>
+ <li>Added two options to the analysis mode, one for including the residual signal in the analysis file, and one for generating gnuplot files of each subframe's residual distribution with some statistics. See the latest <a href="documentation.html#analysis_options">documentation</a>.</li>
+ <li>XMMS plugin now supports 8-bit files.</li>
+ <li>Fixed a bug in the Winamp2 plugin where the audio sounded garbled.</li>
+ <li>Fixed a bug in the Winamp2 plugin where Winamp would hang sporadically at the end of a track (c.f. <a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=231197&amp;group_id=13478&amp;atid=113478">bug #231197</a>).</li>
+ </ul>
+ FLAC is on track for an official 1.0 release soon.
+ </li>
+ </ul>
+
+ <a name="20010305">05-Mar-2001:</a>
+ <ul>
+ <li>
+ <b>FLAC 0.8 released.</b>&nbsp;&nbsp;This release is a result of extensive testing and fixes several bugs encountered when pushing the encoder to the limit. I'm pretty confident in the stability of the encoder/decoder now for all kinds of input. There have also been several features added. Here is a complete list of the changes since 0.7:
+ <ul>
+ <li>Created a new utility called <span class="commandname">metaflac</span>. It is a metadata editor for .flac files. Right now it just lists the contents of the metadata blocks but eventually it will allow update/insertion/deletion.</li>
+ <li>Added two new metadata blocks: PADDING which has an obvious function, and APPLICATION, which is meant to be open to third party applications. See the <a href="format.html#def_APPLICATION">latest format docs</a> for more info, or the new <a href="id.html">id registration page</a>.</li>
+ <li>Added a <span class="argument">-P</span> option to <span class="commandname">flac</span> to reserve a PADDING block when encoding.</li>
+ <li>Added support for 24-bit files to <span class="commandname">flac</span> (the FLAC format always supported it).</li>
+ <li>Started the Winamp3 plugin.</li>
+ <li>Greatly expanded the test suite, adding more streams (24-bit streams, noise streams, non-audio streams, more patterns) and more option combinations to the encoder. The test suite runs about 30 streams and over 5000 encodings now.</li>
+ <li>Fixed a bug in <span class="commandname">libFLAC</span> that happened when using an exhaustive LPC coefficient quantization search with 8 bps input.</li>
+ <li>Fixed a bug in <span class="commandname">libFLAC</span> where the error estimation in the fixed predictor could overflow.</li>
+ <li>Fixed a bug in <span class="commandname">libFLAC</span> where LPC was attempted even when the autocorrelation coefficients implied it wouldn't help.</li>
+ <li>Reworked the LPC coefficient quantizer, which also fixed another bug that might occur in rare cases.</li>
+ <li>Really fixed the '-V overflow' bug (c.f. <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=113478&amp;aid=231976&amp;func=detail">bug #231976</a>).</li>
+ <li>Fixed a bug in <span class="commandname">flac</span> related to the decode buffer sizing.</li>
+ </ul>
+ FLAC is very close to being ready for an official release. The only known problems left are with the Winamp plugins, which should be fixed soon, and pipes with MSVC.
+ </li>
+ </ul>
+
+ <a name="20010212">12-Feb-2001:</a>
+ <ul>
+ <li>
+ <b>FLAC 0.7 released.</b>&nbsp;&nbsp;This is mainly a bug fix release, specifically:
+ <ul>
+ <li>Fixed a bug that happened when both -fr and --seek were used at the same time.</li>
+ <li>Fixed a bug with -p (c.f. <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=113478&amp;aid=230992&amp;func=detail">bug #230992</a>).</li>
+ <li>Fixed a bug that happened when using large (&gt;32K) blocksizes and -V (c.f. <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=113478&amp;aid=231976&amp;func=detail">bug #231976</a>).</li>
+ <li>Fixed a bug where encoder was double-closing a file.</li>
+ <li>Expanded the test suite.</li>
+ <li>Added more optimization flags for gcc, which should speed up flac.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <a name="20010128">28-Jan-2001:</a>
+ <ul>
+ <li>
+ <b>FLAC 0.6 released.</b>&nbsp;&nbsp;The encoder is now much faster. The -m option has been sped up by 4x and -r improved, meaning that in the default compression mode (-6), encoding should be at least 3 times faster. Other changes:
+ <ul>
+ <li>Some bugs related to <span class="commandname">flac</span> and pipes were fixed (see <a href="http://www.geocrawler.com/lists/3/SourceForge/7206/0/5013495/">here</a> for the discussion).</li>
+ <li>A "loose mid-side" (<span class="argument">-M</span>) option to the encoder has been added, which adaptively switches between independent and mid-side coding, instead of the exhaustive search that <span class="argument">-m</span> does.</li>
+ <li>An analyze mode (<span class="argument">-a</span>) has been added to <span class="commandname">flac</span>. This is useful mainly for developers; currently it will dump info about each frame and subframe to a file. It's a text file in a format that can be easily processed by scripts; a separate analysis program is in the works.</li>
+ <li>The source now has an autoconf/libtool-based build system. This should allow the source to build "out-of-the-box" on many more platforms.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <a name="20010115">15-Jan-2001:</a>
+ <ul>
+ <li>
+ <b>FLAC 0.5 released.</b>&nbsp;&nbsp;This is the first beta version of FLAC. Being beta, there will be no changes to the format that will break older streams, unless a serious bug involving the format is found. What this means is that, barring such a bug, streams created with 0.5 will be decodable by future versions. This version also includes some new features:
+ <ul>
+ <li>An <a href="http://userpages.umbc.edu/~mabzug1/cs/md5/md5.html">MD5 signature</a> of the unencoded audio is computed during encoding, and stored in the Encoding metadata block in the stream header. When decoding, <span class="commandname">flac</span> will now compute the MD5 signature of the decoded data and compare it against the signature in the stream header.</li>
+ <li>A test mode (<span class="argument">-t</span>) has been added to <span class="commandname">flac</span>. It works like decode mode but doesn't write an output file.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <a name="20001223">23-Dec-2000:</a>
+ <ul>
+ <li><b>FLAC 0.4 released.</b>&nbsp;&nbsp;This version fixes a bug in the constant subframe detection. More importantly, a verify option (-V) has been added to <span class="commandname">flac</span> that verifies the encoding process. With this option turned on, <span class="commandname">flac</span> will create a parallel decoder while encoding to make sure that the encoded output decodes to exactly match the original input. In this way, any unknown bug in the encoder will be caught and <span class="commandname">flac</span> will abort with an error message.</li>
+ </ul>
+
+ <a name="20001210">10-Dec-2000:</a>
+ <ul>
+ <li><b>FLAC debuts on SourceForge.</b>&nbsp;&nbsp;The FLAC project is now being hosted on SourceForge. Visit the <a href="http://www.sourceforge.net/projects/flac/">FLAC project page</a> to join the mailing list or sign up as a developer.</li>
+ </ul>
+ </div>
+ <div class="box_footer"></div>
+</div>
+
+
+<div class="copyright">
+ Copyright (c) 2000,2001,2002,2003,2004,2005 Josh Coalson
+</div>
+
+</body>
+</html>
diff --git a/doc/html/ogg_mapping.html b/doc/html/ogg_mapping.html
index 6b1fd47b..80b8c80f 100644
--- a/doc/html/ogg_mapping.html
+++ b/doc/html/ogg_mapping.html
@@ -1,164 +1,132 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Copyright (c) 2004,2005 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>
- <TITLE>FLAC - Ogg mapping</TITLE>
-</HEAD>
-
-<BODY MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BGCOLOR="#99CC99" TEXT="#000000" LINK="#336699" VLINK="#336699" ALINK="#336699">
-
-<TABLE BORDER=0 WIDTH="100%" CELLPADDING=1 CELLSPACING=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#000000"><A HREF="http://flac.sourceforge.net/"><IMG SRC="images/logo130.gif" ALIGN=CENTER ALT="FLAC Logo" BORDER=0 HSPACE=0></a></TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="25" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#D3D4C5">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="index.html">home</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="faq.html">faq</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="news.html">news</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="download.html">download</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="features.html">features</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="goals.html">goals</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="format.html">format</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="id.html">id</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="comparison.html">comparison</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="documentation.html">documentation</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="changelog.html">changelog</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="links.html">links</A>&nbsp;&nbsp;</TD><TD BGCOLOR="#D3D4C5" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#D3D4C5" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="developers.html">developers</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD ALIGN="CENTER" BGCOLOR="#EEEED4">
- <TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0>
- <TR>
- <TD HEIGHT=22 BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;english&nbsp;&nbsp;</TD><TD BGCOLOR="#EEEED4" ALIGN=CENTER>|</TD>
- <TD BGCOLOR="#EEEED4" ALIGN=CENTER NOWRAP>&nbsp;&nbsp;<A CLASS="topnav" HREF="ru/ogg_mapping.html">russian</A>&nbsp;&nbsp;</TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
-</TABLE>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="2" ALT=""></TD></TR></TABLE>
-
-<CENTER>
-
-<TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#99CC99"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="15" ALT=""></TD></TR></TABLE>
-
-
-<TABLE WIDTH="100%" CELLPADDING="5" CELLSPACING="5" BORDER="0">
-<TR><TD>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#D3D4C5">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <B><FONT SIZE="+2">ogg mapping</FONT></B>
- </FONT></TD></TR>
- </TABLE>
- <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"><TR BGCOLOR="#000000"><TD><IMG SRC="images/1x1.gif" WIDTH="1" HEIGHT="1" ALT=""></TD></TR></TABLE>
- <TABLE CELLSPACING="0" CELLPADDING="3" WIDTH="100%" BORDER="0" BGCOLOR="#EEEED4">
- <TR><TD><FONT FACE="Lucida,Verdana,Helvetica,Arial">
- <P>
- This page specifies the way in which compressed FLAC data is encapsulated in an Ogg transport layer. It assumes basic knowledge of the <A HREF="format.html">FLAC format</A> and <A HREF="http://www.xiph.org/ogg/vorbis/doc/oggstream.html">Ogg structure</A> and <A HREF="http://www.xiph.org/ogg/vorbis/doc/framing.html">framing</A>.
- </P>
- <P>
- The original FLAC format includes a very thin transport system. This system of compressed FLAC audio data mixed with a thin transport has come to be known as 'native FLAC'. The transport consists of audio frame headers and footers which contain synchronization patterns, timecodes, and checksums (but notably not frame lengths), and a metadata system. It is very lightweight and does not support more elaborate transport mechanisms such as multiple logical streams, but it has served its purpose well.
- </P>
- <P>
- The native FLAC transport is not a transport "layer" in the way of standard codec design because it cannot be entirely separated from the payload. Though the metadata system can be separated, the frame header includes both data that belongs in the transport (sync pattern, timecode, checksum) and data that belongs in the compressed packets (audio parameters like channel assignments, sample rate, etc).
- </P>
- <P>
- This presents a problem when trying to encapsulate FLAC in other true transport layers; the choice has to be made between redundancy and complexity. In pursuit of correctness, a mapping could be created that removed from native FLAC the transport data, and merged the remaining frame header information into the audio packets. The disadvantage is that current native FLAC decoder software could not be used to decode because of the tight coupling with the transport. Either a separate decoding implementation would have to be created and maintained, or an Ogg FLAC decoder would have to synthesize native FLAC frames from Ogg FLAC packets and feed them to a native FLAC decoder.
- </P>
- <P>
- The alternative is to treat native FLAC frames as Ogg packets and accept the transport redundancy. It turns out that this is not much of a penalty; a maximum of 12 bytes per frame will be wasted. Given the common case of stereo CD audio encoded with a blocksize of 4608 samples, a compressed frame will be 4-16 Kbytes. The redundancy amounts to a fraction of a percent.
- </P>
- <P>
- In the interest of simplicity and expediency, the second method was chosen for the first official FLAC-&gt;Ogg mapping. A mapping version is included in the first packet so that a less redundant mapping can be defined in the future.
- </P>
- <P>
- It should also be noted that support for encapsulating FLAC in Ogg has been present in the FLAC tools since version 1.0.1. However, the mappings used were never formalized and have insurmountable problems. For that reason, Ogg FLAC streams created with <B><TT>flac</TT></B> versions before 1.1.1 should be decoded and re-encoded with <B><TT>flac</TT></B> 1.1.1 or later (<B><TT>flac</TT></B> 1.1.1 can decode all previous Ogg FLAC files, but files made prior to 1.1.0 don't support seeking). Since the support for Ogg FLAC before FLAC 1.1.1 was limited, we hope this will not result in too much inconvenience.
- </P>
- <P>
+<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 - ogg mapping</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="separator2"></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="features.html">features</a>&nbsp;&nbsp;|
+ &nbsp;<a href="goals.html">goals</a>&nbsp;&nbsp;|
+ &nbsp;<a href="format.html">format</a>&nbsp;&nbsp;|
+ &nbsp;<a href="id.html">id</a>&nbsp;&nbsp;|
+ &nbsp;<a href="comparison.html">comparison</a>&nbsp;&nbsp;|
+ &nbsp;<a href="documentation.html">documentation</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="separator2"></div>
+
+<div class="langbar">
+ &nbsp;english&nbsp;&nbsp;|
+ &nbsp;<a href="ru/ogg_mapping.html">russian</a>&nbsp;
+</div>
+
+<div class="separator2"></div>
+
+<div class="below_nav"></div>
+
+<div class="box">
+ <div class="box_title">
+ ogg mapping
+ </div>
+ <div class="box_header"></div>
+ <div class="box_body">
+ This page specifies the way in which compressed FLAC data is encapsulated in an Ogg transport layer. It assumes basic knowledge of the <a href="format.html">FLAC format</a> and <a href="http://www.xiph.org/ogg/vorbis/doc/oggstream.html">Ogg structure</a> and <a href="http://www.xiph.org/ogg/vorbis/doc/framing.html">framing</a>.<br />
+ <br />
+ The original FLAC format includes a very thin transport system. This system of compressed FLAC audio data mixed with a thin transport has come to be known as 'native FLAC'. The transport consists of audio frame headers and footers which contain synchronization patterns, timecodes, and checksums (but notably not frame lengths), and a metadata system. It is very lightweight and does not support more elaborate transport mechanisms such as multiple logical streams, but it has served its purpose well.<br />
+ <br />
+ The native FLAC transport is not a transport "layer" in the way of standard codec design because it cannot be entirely separated from the payload. Though the metadata system can be separated, the frame header includes both data that belongs in the transport (sync pattern, timecode, checksum) and data that belongs in the compressed packets (audio parameters like channel assignments, sample rate, etc).<br />
+ <br />
+ This presents a problem when trying to encapsulate FLAC in other true transport layers; the choice has to be made between redundancy and complexity. In pursuit of correctness, a mapping could be created that removed from native FLAC the transport data, and merged the remaining frame header information into the audio packets. The disadvantage is that current native FLAC decoder software could not be used to decode because of the tight coupling with the transport. Either a separate decoding implementation would have to be created and maintained, or an Ogg FLAC decoder would have to synthesize native FLAC frames from Ogg FLAC packets and feed them to a native FLAC decoder.<br />
+ <br />
+ The alternative is to treat native FLAC frames as Ogg packets and accept the transport redundancy. It turns out that this is not much of a penalty; a maximum of 12 bytes per frame will be wasted. Given the common case of stereo CD audio encoded with a blocksize of 4608 samples, a compressed frame will be 4-16 Kbytes. The redundancy amounts to a fraction of a percent.<br />
+ <br />
+ In the interest of simplicity and expediency, the second method was chosen for the first official FLAC-&gt;Ogg mapping. A mapping version is included in the first packet so that a less redundant mapping can be defined in the future.<br />
+ <br />
+ It should also be noted that support for encapsulating FLAC in Ogg has been present in the FLAC tools since version 1.0.1. However, the mappings used were never formalized and have insurmountable problems. For that reason, Ogg FLAC streams created with <span class="commandname">flac</span> versions before 1.1.1 should be decoded and re-encoded with <span class="commandname">flac</span> 1.1.1 or later (<span class="commandname">flac</span> 1.1.1 can decode all previous Ogg FLAC files, but files made prior to 1.1.0 don't support seeking). Since the support for Ogg FLAC before FLAC 1.1.1 was limited, we hope this will not result in too much inconvenience.<br />
+ <br />
Version 1.0 of the FLAC-to-Ogg mapping then is a simple identifying header followed by pure native FLAC data, as follows:
- <UL>
- <LI>
+ <ul>
+ <li>
The first packet of a stream consists of:
- <UL>
- <LI>The one-byte packet type 0x7F</LI>
- <LI>The four-byte ASCII signature "FLAC", i.e. 0x46, 0x4C, 0x41, 0x43</LI>
- <LI>A one-byte binary major version number for the mapping, e.g. 0x01 for mapping version 1.0</LI>
- <LI>A one-byte binary minor version number for the mapping, e.g. 0x00 for mapping version 1.0</LI>
- <LI>A two-byte, big-endian binary number signifying the number of header (non-audio) packets, not including this one. This number may be zero (0x0000) to signify 'unknown' but be aware that some decoders may not be able to handle such streams.</LI>
- <LI>The four-byte ASCII native FLAC signature "fLaC" according to the <A HREF="format.html#stream">FLAC format specification</A></LI>
- <LI>The <A HREF="format.html#metadata_block">STREAMINFO</A> metadata block for the stream.</LI>
- </UL>
+ <ul>
+ <li>The one-byte packet type 0x7F</li>
+ <li>The four-byte ASCII signature "FLAC", i.e. 0x46, 0x4C, 0x41, 0x43</li>
+ <li>A one-byte binary major version number for the mapping, e.g. 0x01 for mapping version 1.0</li>
+ <li>A one-byte binary minor version number for the mapping, e.g. 0x00 for mapping version 1.0</li>
+ <li>A two-byte, big-endian binary number signifying the number of header (non-audio) packets, not including this one. This number may be zero (0x0000) to signify 'unknown' but be aware that some decoders may not be able to handle such streams.</li>
+ <li>The four-byte ASCII native FLAC signature "fLaC" according to the <a href="format.html#stream">FLAC format specification</a></li>
+ <li>The <a href="format.html#metadata_block">STREAMINFO</a> metadata block for the stream.</li>
+ </ul>
This first packet is the only packet in the first page of the stream. This results in a first Ogg page of exactly 79 bytes at the very beginning of the logical stream.
- </LI>
- <LI>
+ </li>
+ <li>
This first page is marked 'beginning of stream' in the page flags.
- </LI>
- <LI>
- The first packet is followed by one or more header packets. Each such packet will contain a single <A HREF="format.html#metadata_block">native FLAC metadata block</A>. The first of these must be a VORBIS_COMMENT block. These packets may span page boundaries but the last will finish the page on which it ends, so that the first audio packet begins a page. The first byte of these metadata packets serves also as the packet type, and has a legal range of (0x01-0x7E,0x81-0xFE).
- </LI>
- <LI>
+ </li>
+ <li>
+ The first packet is followed by one or more header packets. Each such packet will contain a single <a href="format.html#metadata_block">native FLAC metadata block</a>. The first of these must be a VORBIS_COMMENT block. These packets may span page boundaries but the last will finish the page on which it ends, so that the first audio packet begins a page. The first byte of these metadata packets serves also as the packet type, and has a legal range of (0x01-0x7E,0x81-0xFE).
+ </li>
+ <li>
The granule position of these first pages containing only headers is zero.
- </LI>
- <LI>
+ </li>
+ <li>
The first audio packet of the logical stream begins a fresh Ogg page.
- </LI>
- <LI>
- Native FLAC audio frames appear as subsequent packets in the stream. Each packet corresponds to one FLAC audio frame. The first byte of each packet serves as the packet type. Since audio packets are native FLAC frames, this first byte will be always 0xFF according to the <A HREF="format.html#frame_header">native FLAC format specification</A>.
- </LI>
- <LI>
+ </li>
+ <li>
+ Native FLAC audio frames appear as subsequent packets in the stream. Each packet corresponds to one FLAC audio frame. The first byte of each packet serves as the packet type. Since audio packets are native FLAC frames, this first byte will be always 0xFF according to the <a href="format.html#frame_header">native FLAC format specification</a>.
+ </li>
+ <li>
The last page is marked 'end of stream' in the page flags.
- </LI>
- <LI>
+ </li>
+ <li>
FLAC packets may span page boundaries.
- </LI>
- <LI>
- The granule position of pages containing FLAC audio follows the same semantics as that for Ogg-encapsulated Vorbis as described <A HREF="http://www.xiph.org/ogg/vorbis/doc/vorbis-ogg.html">here</A>.
- </LI>
- <LI>
+ </li>
+ <li>
+ The granule position of pages containing FLAC audio follows the same semantics as that for Ogg-encapsulated Vorbis as described <a href="http://www.xiph.org/ogg/vorbis/doc/vorbis-ogg.html">here</a>.
+ </li>
+ <li>
Redundant fields in the STREAMINFO packet may be set to zero (indicating "unknown" in native FLAC), which also facilitates single-pass encoding. These fields are: the minimum and maximum frame sizes, the total samples count, and the MD5 signature. "Unknown" values for these fields will not prevent a compliant native FLAC or Ogg FLAC decoder from decoding the stream.
- </LI>
- </UL>
- </P>
- <P>
- It is intended that the first six bytes of any version of FLAC-to-Ogg mapping will share the same structure, namely, the four-byte signature and two-byte version number.
- </P>
- <P>
+ </li>
+ </ul>
+ It is intended that the first six bytes of any version of FLAC-to-Ogg mapping will share the same structure, namely, the four-byte signature and two-byte version number.<br />
+ <br />
There is an implicit hint to the decoder in the mapping version number; mapping versions which share the same major version number should be decodable by decoders of the same major version number, e.g. a 1.x Ogg FLAC decoder should be able to decode any 1.y Ogg FLAC stream, even when x&lt;y. If a mapping breaks this forward compatibility the major version number will be incremented.
- </P>
-
-</TD></TR>
-</TABLE>
-
+ </div>
+ <div class="box_footer"></div>
+</div>
-</CENTER>
-<P>&nbsp;Copyright (c) 2004,2005 Josh Coalson</P>
+<div class="copyright">
+ Copyright (c) 2004,2005 Josh Coalson
+</div>
-</BODY>
-</HTML>
+</body>
+</html>