Commit 0ae3e468 authored by Martijn van Beurden's avatar Martijn van Beurden Committed by Erik de Castro Lopo

Various documentation fixes, merge with website

The html documentation was diff'ed to the current website pages
and all difference were merged into the page they weren't yet
incorporated. This includes lots of small fixes and
improvements.
Signed-off-by: default avatarErik de Castro Lopo <erikd@mega-nerd.com>
parent 27846708
......@@ -30,7 +30,6 @@ doc_DATA = \
documentation_tools.html \
documentation_tools_flac.html \
documentation_tools_metaflac.html \
documentation_tools_plugins.html \
faq.html \
favicon.ico \
features.html \
......
This diff is collapsed.
......@@ -55,7 +55,7 @@
<li><a href="documentation_tools.html">Official Tools</a> - How to use the <span class="commandname">flac</span> and <span class="commandname">metaflac</span> command-line tools.</li>
<li><a href="http://xiph.org/flac/comparison.html">Comparison</a> - A comparison of FLAC with other lossless codecs.</li>
<li><a href="documentation_bugs.html">Bugs</a> - How to report bugs and request features, and a list of known bugs in the FLAC tools.</li>
<li><a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=213478">Request Support</a> - Support for the official FLAC tools. For other programs, use <a href="http://www.hydrogenaudio.org/">hydrogenaudio.org</a></li>
<li><a href="http://sourceforge.net/p/flac/support-requests/">Request Support</a> - Support for the official FLAC tools. For other programs, use <a href="http://www.hydrogenaud.io/">hydrogenaud.io</a></li>
<li><a href="http://lists.xiph.org/mailman/listinfo/flac">FLAC Mailing List</a> - General discussion about FLAC, tools, releases, etc. (You must subscribe to post.)</li>
</ul>
For developers who want to add FLAC support to their programs:
......
......@@ -42,12 +42,19 @@
</div>
<div class="box_header"></div>
<div class="box_body">
The following are major known bugs in the current (1.1.4) release:
The following are major known bugs in the current (1.3.0) release:
<ul>
<li>
When encoding to Ogg FLAC, if there are too many seek points (&gt;240), the seek table will not have the offsets written back properly after encoding.
If you use the --replay-gain option with flac, but no --padding/-P option, only a very small padding block will be created. The workaround is to always use a -P option when using --replay-gain to make sure the correct amount of padding is added.
</li>
<li>
When encoding to Ogg FLAC, the progress indicator is broken
</li>
<li>
When encoding to Ogg FLAC, the number of seek points is limited to 240.
</li>
</ul>
The first two have been fixed, these fixes will be incorporated in the next release.
</div>
<div class="box_footer"></div>
</div>
......@@ -60,11 +67,9 @@
</div>
<div class="box_header"></div>
<div class="box_body">
To report a bug, please go to the <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=113478">FLAC bug tracker</a> (or appropriately the <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=363478">feature request tracker</a>, <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=313478">patch page</a>, or <a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=213478">support page</a>).<br />
<br />
First check that there is not already an existing request. If you do submit a new request, make sure and provide an email contact <b>and</b> use the Monitor feature.<br />
To report a bug, please go to the <a href="http://sourceforge.net/p/flac/bugs/">FLAC bug tracker</a> (or appropriately the <a href="http://sourceforge.net/p/flac/feature-requests/">feature request tracker</a>, <a href="http://sourceforge.net/p/flac/patches/">patch page</a>, or <a href="http://sourceforge.net/p/flac/support-requests/">support page</a>).<br />
<br />
Note that we get many false bug reports from people with faulty hardware or who overclock their machines that FLAC is not working. Please do due diligence if you are getting FLAC encoding or decoding errors that it is not the fault of the hardware. FLAC encoding tends to highlight problems with bad RAM, corrupted files, and excessive overclocking.
First check that there is not already an existing request. If you do submit a new request, make sure and provide an email contact <b>and</b> use the Monitor feature.
</div>
<div class="box_footer"></div>
</div>
......
......@@ -46,12 +46,11 @@
<ul>
<li><a href="documentation_tools_flac.html">flac</a> - The command-line encoder and decoder.</li>
<li><a href="documentation_tools_metaflac.html">metaflac</a> - The command-line metadata editor.</li>
<li><a href="documentation_tools_plugins.html">plugins</a> - Setting up the Winamp and XMMS plugins.</li>
</ul>
Other resources:
<ul>
<li><a href="documentation_bugs.html">Bugs</a> - How to report bugs and request features, and a list of known bugs in the FLAC tools.</li>
<li><a href="http://sourceforge.net/tracker/?group_id=13478&amp;atid=213478">Request Support</a> - Support for the official FLAC tools. For other programs, use <a href="http://www.hydrogenaudio.org/">hydrogenaudio.org</a></li>
<li><a href="http://sourceforge.net/p/flac/support-requests/">Request Support</a> - Support for the official FLAC tools. For other programs, use <a href="http://www.hydrogenaud.io/">hydrogenaud.io</a></li>
<li><a href="http://lists.xiph.org/mailman/listinfo/flac">FLAC Mailing List</a> - General discussion about FLAC, tools, releases, etc. (You must subscribe to post.)</li>
</ul>
<br />
......
......@@ -355,29 +355,35 @@
<tr>
<td nowrap="nowrap" align="right" valign="top" bgcolor="#F4F4CC">
<a name="flac_options_skip" />
<span class="argument">--skip={#|mm:ss.ss}</span>
<span class="argument">--skip={#|mm:ss.ss}<br />--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 />
Note that the use of either a dot or a comma depends on the locale used for the system.<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
<span class="argument">--skip=1:23.45</span> : skip the first 1 minute and 23.45 seconds of the input, with a locale using the point as decimal separator<br />
<span class="argument">--skip=1:23,45</span> : skip the first 1 minute and 23.45 seconds of the input, with a locale using the comma as decimal separator
</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>
<span class="argument">--until={#|[+|-]mm:ss.ss}<br />--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 />
Note that the use of either a dot or a comma depends on the locale used for the system.<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">--until=1:23,45</span> : decode only the first 1 minute and 23.45 seconds of the input, if your locale setting uses a comma as decimal separator<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>)
......@@ -550,7 +556,7 @@
<span class="argument">--replay-gain</span>
</td>
<td>
Calculate <a href="http://www.replaygain.org/">ReplayGain</a> values and store them as 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 />
Calculate <a href="http://wiki.hydrogenaud.io/index.php?title=ReplayGain_specification">ReplayGain</a> values and store them as 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>
......@@ -849,6 +855,7 @@
Window audio data with given the apodization function. The functions are: bartlett, bartlett_hann, blackman, blackman_harris_4term_92db, connes, flattop, gauss(STDDEV), hamming, hann, kaiser_bessel, nuttall, rectangle, triangle, tukey(P), welch.<br />
For gauss(STDDEV), STDDEV is the standard deviation (0&lt;STDDEV&lt;=0.5).<br />
For tukey(P), P specifies the fraction of the window that is tapered (0&lt;=P&lt;=1; P=0 corresponds to "rectangle" and P=1 corresponds to "hann").<br />
Please note that for both P as well as STDDEV, the use of a point or comma as decimal separator is locale-dependent.<br />
More than one -A option (up to 32) may be used. Any function that is specified erroneously is silently dropped. The encoder chooses suitable defaults in the absence of any -A options; any -A option specified replaces the default(s).<br />
When more than one function is specified, then for every subframe the encoder will try each of them separately and choose the window that results in the smallest compressed subframe. Multiple functions can greatly increase the encoding time.<br />
</td>
......@@ -1018,6 +1025,7 @@
<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-preserve-modtime</span><br />
<span class="argument">--no-qlp-coeff-prec-search</span><br />
<span class="argument">--no-residual-gnuplot</span><br />
<span class="argument">--no-residual-text</span><br />
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Copyright (c) 2000-2009 Josh Coalson -->
<!-- Copyright (c) 2011-2013 Xiph.Org Foundation -->
<!-- Permission is granted to copy, distribute and/or modify this document -->
<!-- under the terms of the GNU Free Documentation License, Version 1.1 -->
<!-- or any later version published by the Free Software Foundation; -->
<!-- with no invariant sections. -->
<!-- A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="author" content="Josh Coalson" />
<meta name="description" content="A free, open source codec for lossless audio compression and decompression" />
<meta name="keywords" content="free,lossless,audio,codec,encoder,decoder,compression,compressor,archival,archive,archiving,backup,music" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<link rel="stylesheet" type="text/css" href="flac.css" />
<title>FLAC - documentation</title>
</head>
<body>
<div class="logo">
<a href="index.html"><img src="images/logo130.gif" alt="FLAC Logo" align="middle" border="0" hspace="0" /></a>
</div>
<div class="above_nav"></div>
<div class="navbar">
&nbsp;<a href="index.html">home</a>&nbsp;&nbsp;|
&nbsp;<a href="faq.html">faq</a>&nbsp;&nbsp;|
&nbsp;<a href="documentation.html">documentation</a>&nbsp;&nbsp;|
&nbsp;<a href="developers.html">developers</a>&nbsp;&nbsp;|
&nbsp;<a href="changelog.html">changelog</a>&nbsp;&nbsp;|
&nbsp;<a href="http://xiph.org/flac">more</a>
</div>
<div class="below_nav"></div>
<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">
Normally the FLAC plugin for XMMS is installed with a package, but some of the <a href="http://xiph.org/flac/download.html">binary builds</a> have a compiled plugin. 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="winamp_plugin">winamp plugin</a>
</div>
<div class="box_header"></div>
<div class="box_body">
Since Winamp 5.31, Nullsoft has supplied a FLAC plugin with their Full install; nothing else is needed to get FLAC to play in Wnamp.<br />
<br />
Before Winamp 5.31 it was necessary to use our FLAC plugin. If you have an older version of Winamp, our plugin is still available in the <a href="http://cyberial.com/flacinstaller.asp">FLAC Installer for Windows</a>. The Winamp plugin should work for both Winamp2 and Winamp5. 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>
<div class="copyright">
<!-- @@@ oh so hacky -->
<table>
<tr>
<td align="left">
Copyright (c) 2000-2009 Josh Coalson
<br/>
Copyright (c) 2011-2013 Xiph.Org Foundation
</td>
<td width="1%" align="right">
<a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" border="0" hspace="0" /></a>
</td>
</tr>
</table>
</div>
</body>
</html>
......@@ -127,9 +127,6 @@
<li>
<a href="faq.html#tools__long_meta_edits"><b>Why does it take so long to edit some FLAC files with metaflac?</b></a>
</li>
<li>
<a href="faq.html#tools__unicode_filenames_windows"><b>Why don't Unicode file names work with <span class="commandname">flac/<span class="commandname">metaflac</span></span> on Windows?</b></a>
</li>
<li>
<a href="faq.html#tools__wildcards_on_windows"><b>Why don't wildcards for file names like *.flac or *.wav work with <span class="commandname">flac</span>/<span class="commandname">metaflac</span> on Windows?</b></a>
</li>
......@@ -184,7 +181,7 @@
<a name="general__how_to"><b>I have a FLAC file, how do I play it?</b></a><br />
<b>How can I create FLAC files?</b><br />
<br />
See <a href="http://xiph.org/flac/documentation_tasks.html">Using FLAC</a>.<br />
See <a href="http://xiph.org/flac/documentation_tasks.html">Using FLAC</a> or a <a href="http://xiph.org/flac/links.html">list of hardware that supports FLAC</a>.<br />
<br />
<a name="general__license"><b>What licensing applies to the FLAC format and software?</b></a><br />
<br />
......@@ -202,7 +199,7 @@
<br />
<a name="general__software_wmp"><b>How can I play FLAC in Windows Media Player?</b></a><br />
<br />
See <a href="http://www.losslessaudioblog.com/wmpmce-lossless-guide/">this guide</a>.<br />
The easiest way is to use the Xiph.org Directshow Filters, <a href="http://www.xiph.org/dshow/downloads/">download them here</a><br />
<br />
<a name="general__hardware"><b>What hardware products support FLAC?</b></a><br />
<br />
......@@ -294,11 +291,11 @@
<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://www.legroom.net/modules.php?op=modload&amp;name=Open_Source&amp;file=index&amp;page=software&amp;app=autoflac">AutoFLAC</a>, <a href="http://www.omniencoder.com/">Omni Encoder</a>, or <a href="http://mareo.netfirms.com/">MAREO</a> to rip to FLAC or multiple formats at once.<br />
See Case's excellent <a href="http://www.saunalahti.fi/cse/EAC/index.html">EAC configuration page</a>. Or use <a href="http://www.legroom.net/software/autoflac">AutoFLAC</a> or <a href="http://mareo.netfirms.com/">MAREO</a> to rip to FLAC or multiple formats at once.<br />
<br />
<a name="tools__runtime75"><b>Why am I getting "Run-time error '75': Path/File access error" with FLAC Frontend?</b></a><br />
<br />
Depending on how FLAC Frontend is installed, it could be one of two things: 1) you are trying to encode to file to a directory where you do not have write permission; 2) the FLAC Frontend program must be set to run as Administrator by opening Windows Explorer, navigating to <span class="command">C:\Program Files\FLAC</span> (or wherever FLAC was installed), then right-clicking on <span class="command">FLAC Frontend.exe</span> and checking "Run this program as an administrator".<br />
You are probably using an old version of FLAC Frontend. Try downloading a new version from <a href="http://flacfrontend.sf.net/">this sourceforge page</a><br />
<br />
<a name="tools__option_blocking"><b>How do I encode a file that starts with a dash?</b></a><br />
<br />
......@@ -310,13 +307,9 @@
<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 8k of padding; you can change this amount if you need more or less.<br />
<br />
<a name="tools__unicode_filenames_windows"><b>Why don't Unicode file names work with <span class="commandname">flac</span>/<span class="commandname">metaflac</span> on Windows?</b></a><br />
<br />
Windows implements Unicode filenames differently than all other operating systems, and can only be supported via Windows APIs (non-portable). Also the method is different for different versions of Windows. It's so hard to get right that most programs that have to work for other operating systems also do not support it. A workaround can be found <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=48131">here</a>.<br />
<br />
<a name="tools__wildcards_on_windows"><b>Why don't wildcards for file names like *.flac or *.wav work with <span class="commandname">flac</span>/<span class="commandname">metaflac</span> on Windows?</b></a><br />
<br />
The Windows command shells (cmd.exe, command.com) implement wildcard handling differently than most other shells, leaving it up to the program to do everything including difficult and ambiguous cases. For an explanation of why wildcards on cmd.exe/command.com are dangerous, see <a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=50667&amp;st=75&amp;p=466078&amp;#entry466078">here</a>. Better command shells for Windows exist, e.g. from <a href="http://cygwin.com/">Cygwin</a>. A workaround with the Windows shells is to do something like:<br />
The Windows command shells (cmd.exe, command.com) implement wildcard handling differently than most other shells, leaving it up to the program to do everything including difficult and ambiguous cases. For an explanation of why wildcards on cmd.exe/command.com are dangerous, see <a href="http://www.hydrogenaud.io/forums/index.php?showtopic=50667&amp;st=75&amp;p=466078&amp;#entry466078">here</a>. Better command shells for Windows exist, e.g. from <a href="http://cygwin.com/">Cygwin</a>. A workaround with the Windows shells is to do something like:<br />
<br />
<tt>for %F in (*.wav) do flac "%F"</tt><br />
<br />
......@@ -326,9 +319,9 @@
<br />
The only known cause of verify errors is faulty hardware. The dead giveaway is that if you repeat the exact same command, the error occurs in a different place or not at all. This can also happen when decoding or testing a FLAC file. If this is happening it is your hardware and not a FLAC bug.<br />
<br />
The problem is usually caused by overclocking/overheating the CPU or bad RAM. Try one of the many free programs available for testing hardware (e.g. <a href="http://www.memtest86.org/">Memtest86+</a>). We have had reports of a few cases where a system is passing with flying colors and still getting unrepeatable FLAC errors, and the one thing many (all?) of these systems have in common is an ASUS motherboard (A7V133 or P3V4X) which we suspect is buggy in some way. (<a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=884401&amp;group_id=13478&amp;atid=113478">See also</a>)<br />
The problem is usually caused by overclocking/overheating the CPU or bad RAM. Try one of the many free programs available for testing hardware (e.g. <a href="http://www.memtest.org/">Memtest</a>).<br />
<br />
If you ever have a verify error that fails at the same place every time, please <a href="faq.html#project__submit_bug">file a 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 />
If you ever have a verify error that fails at the same place every time, please <a href="faq.html#project__submit_bug">file a bug</a>, uploading a sample according to <a href="http://sourceforge.net/p/flac/bugs/42/">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 />
......@@ -369,7 +362,7 @@
<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://lists.xiph.org/mailman/listinfo">the official FLAC mailing lists</a> (you must subscribe to post). Also, there is a lot of discussion relating to FLAC on <a href="http://www.hydrogenaudio.org/">Hydrogen Audio</a>.<br />
There are a few places. The main discussions happen on <a href="http://lists.xiph.org/mailman/listinfo">the official FLAC mailing lists</a> (you must subscribe to post). Also, there is a lot of discussion relating to FLAC on <a href="http://www.hydrogenaud.io/">Hydrogen Audio</a>.<br />
<br />
<a name="project__submit_bug"><b>How do I submit a bug report?</b></a><br />
<br />
......
......@@ -136,10 +136,10 @@
FLAC owes much to the many people who have advanced the audio compression field so freely. For instance:
<ul>
<li>
<a href="http://svr-www.eng.cam.ac.uk/~ajr/">A. J. Robinson</a> for his work on <a href="http://www-svr.eng.cam.ac.uk/reports/abstracts/robinson_tr156.html">Shorten</a>; his paper is a good starting point on some of the basic methods used by FLAC. FLAC trivially extends and improves the fixed predictors, LPC coefficient quantization, and Rice coding used in Shorten.
<a href="http://svr-www.eng.cam.ac.uk/~ajr/">A. J. Robinson</a> for his work on <a href="http://svr-www.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.
<a href="https://web.archive.org/web/20040215005354/http://csi.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.
......@@ -231,10 +231,10 @@
<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.
<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/reports/abstracts/robinson_tr156.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 information 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.
<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 information 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/reports/abstracts/robinson_tr156.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 />
......@@ -263,7 +263,7 @@
<li><a name="def_SEEKTABLE"><b>SEEKTABLE</b></a>: This is an optional block for storing seek points. It is possible to seek to any given sample in a FLAC stream without a seek table, but the delay can be unpredictable since the bitrate may vary widely within a stream. By adding seek points to a stream, this delay can be significantly reduced. Each seek point takes 18 bytes, so 1% resolution within a stream adds less than 2k. There can be only one SEEKTABLE in a stream, but the table can have any number of seek points. There is also a special 'placeholder' seekpoint which will be ignored by decoders but which can be used to reserve space for future seek point insertion.</li>
<li><a name="def_VORBIS_COMMENT"><b>VORBIS_COMMENT</b></a>: This block is for storing a list of human-readable name/value pairs. Values are encoded using UTF-8. It is an implementation of the <a href="http://xiph.org/vorbis/doc/v-comment.html">Vorbis comment specification</a> (without the framing bit). This is the only officially supported tagging mechanism in FLAC. There may be only one VORBIS_COMMENT block in a stream. In some external documentation, Vorbis comments are called FLAC tags to lessen confusion.</li>
<li><a name="def_CUESHEET"><b>CUESHEET</b></a>: This block is for storing various information that can be used in a cue sheet. It supports track and index points, compatible with Red Book CD digital audio discs, as well as other CD-DA metadata such as media catalog number and track ISRCs. The CUESHEET block is especially useful for backing up CD-DA discs, but it can be used as a general purpose cueing mechanism for playback.</li>
<li><a name="def_PICTURE"><b>PICTURE</b></a>: This block is for storing pictures associated with the file, most commonly cover art from CDs. There may be more than one PICTURE block in a file. The picture format is similar to the <a href="http://www.id3.org/id3v2.4.0-frames.txt">APIC frame in ID3v2</a>. The PICTURE block has a type, MIME type, and UTF-8 description like ID3v2, and supports external linking via URL (though this is discouraged). The differences are that there is no uniqueness constraint on the description field, and the MIME type is mandatory. The FLAC PICTURE block also includes the resolution, color depth, and palette size so that the client can search for a suitable picture without having to scan them all.</li>
<li><a name="def_PICTURE"><b>PICTURE</b></a>: This block is for storing pictures associated with the file, most commonly cover art from CDs. There may be more than one PICTURE block in a file. The picture format is similar to the <a href="http://www.id3.org/id3v2.4.0-frames">APIC frame in ID3v2</a>. The PICTURE block has a type, MIME type, and UTF-8 description like ID3v2, and supports external linking via URL (though this is discouraged). The differences are that there is no uniqueness constraint on the description field, and the MIME type is mandatory. The FLAC PICTURE block also includes the resolution, color depth, and palette size so that the client can search for a suitable picture without having to scan them all.</li>
</ul>
</li>
<li>
......@@ -834,7 +834,7 @@
&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.
Track ISRC. This is a 12-digit alphanumeric code; see <a href="http://isrc.ifpi.org/">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>
......@@ -1792,7 +1792,7 @@
Encoding parameter:<br />
<ul>
<li>
<tt>0000-11110</tt> : Rice parameter.
<tt>00000-11110</tt> : Rice parameter.
</li>
<li>
<tt>11111</tt> : Escape code, meaning the partition is in unencoded binary form using n bits per sample; n follows as a 5-bit number.
......
......@@ -251,7 +251,7 @@
<tt>786D6364 - "xmcd"</tt>
</td>
<td>
<a href="http://www.amb.org/xmcd">xmcd</a>
<a href="http://www.amb.org/xmcd/">xmcd</a>
</td>
</tr>
<!--
......
......@@ -46,17 +46,17 @@
<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 or royalties 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 />
The FLAC project also makes available software that implements the formats, which is distributed according to <a href="http://opensource.org/docs/definition.php">Open Source</a> licenses as follows:<br />
<br />
The reference implementation libraries are licensed under the New <!-- <a href="http://www.xiph.org/licenses/bsd/"> --><a href="https://git.xiph.org/?p=flac.git;a=blob;f=COPYING.Xiph">BSD License</a>. 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> and <span class="commandname">libFLAC++</span>.<br />
The reference implementation libraries are licensed under the New <!-- <a href="http://www.xiph.org/licenses/bsd/"> --><a href="https://git.xiph.org/?p=flac.git;a=blob_plain;f=COPYING.Xiph">BSD License</a>. 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> and <span class="commandname">libFLAC++</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://www.vorbis.com/faq.psp#flic">Vorbis</a> license page.<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/">Speex</a> and <a href="http://www.vorbis.com/faq/#flic">Vorbis</a> license pages.<br />
<br />
If you would like to redistribute parts or all of FLAC under different terms, contact the developers on the flac-dev mailinglist.
If you would like to redistribute parts or all of FLAC under different terms, <a href="http://lists.xiph.org/mailman/listinfo/flac-dev">contact the FLAC-dev mailinglist</a>.
</div>
<div class="box_footer"></div>
</div>
......
......@@ -42,7 +42,7 @@
</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/vorbis/doc/oggstream.html">Ogg structure</a> and <a href="http://www.xiph.org/vorbis/doc/framing.html">framing</a>.<br />
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://xiph.org/vorbis/doc/oggstream.html">Ogg structure</a> and <a href="http://xiph.org/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 />
......@@ -93,7 +93,7 @@
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/vorbis/doc/vorbis-ogg.html">here</a>.
The granule position of pages containing FLAC audio follows the same semantics as that for Ogg-encapsulated Vorbis as described <a href="http://xiph.org/vorbis/doc/Vorbis_I_spec.html#x1-126000A">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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment