Commit 3a3e09fa authored by Andrey Astafiev's avatar Andrey Astafiev
Browse files

1.0.4 beta

parent afb15d15
......@@ -78,7 +78,7 @@
<LI><A HREF="#flac"><B><TT>flac</TT></B></A> - c <B><TT>flac</TT></B>, .</LI>
<LI><A HREF="#metaflac"><B><TT>metaflac</TT></B></A> - <B><TT>metaflac</TT></B>, .</LI>
<LI><A HREF="#plugins"></A> - .</LI>
<LI><A HREF="#libflac">API <B><TT>libFLAC</TT></B></A> - , FLAC .</LI>
<LI><A HREF="../api/index.html">API</A> <B><TT>libFLAC</TT></B> <B><TT>libFLAC++</TT></B> - , FLAC .</LI>
<LI><A HREF="#bugs"></A> - .</LI>
<LI><A HREF="#monkey"> FLAC Monkey's Audio GUI</A></LI>
</UL>
......@@ -160,9 +160,9 @@
<A NAME="flac">
<H3><B><TT>flac</TT></B></H3>
<P><B><TT>flac</TT></B> - , . RIFF WAVE, . <B><TT>flac</TT></B> PCM ( , A-LAW, uLAW, .. ). , 8, 16 24-. , .</P>
<P><B><TT>flac</TT></B> - , . RIFF WAVE, AIFF . <B><TT>flac</TT></B> PCM ( , A-LAW, uLAW, .. ). , 8, 16 24-. , .</P>
<P><B><TT>flac</TT></B> , RIFF WAVE ".wav"; . , ".ogg" Ogg-FLAC. <B><TT>flac</TT></B> , FLAC ".flac" ( ".fla" FAT-16).</P>
<P><B><TT>flac</TT></B> , RIFF WAVE ".wav", AIFF ".aif", ".aiff" AIFF; . , ".ogg" Ogg-FLAC. <B><TT>flac</TT></B> , FLAC ".flac" ( ".fla" FAT-16).</P>
<P> , <B><TT>flac</TT></B>, : 1) <B><TT>flac</TT></B> ( <TT>-d</TT>); 2) <TT>-0..-8</TT>, <TT>--fast</TT> <TT>--best</TT>, , . , ; 3) <B><TT>flac</TT></B> <B><TT>gzip</TT></B>.</P>
......@@ -202,73 +202,78 @@
<P> <TT>-c</TT>.</P>
<P> . , . <TT>RIFF WAVE</TT>, , .</P>
<P> . , . RIFF WAVE AIFF, , .</P>
<P> <B><TT>flac</TT></B> , . , MD5 , .</P>
<H4><a name="general_options"> </A></H4>
<TABLE border=1>
<TR><TD WIDTH=25%><TT>-v</TT>, <TT>--version</TT></TD>
<TD WIDTH=75%> <B><TT>flac</TT></B>.</TD></TR>
<TR><TD><TT>-h</TT>, <TT>--help</TT></TD>
<TD> . <B><TT>flac</TT></B> .</TD></TR>
<TR><TD width=25%><TT>-d</TT></TD>
<TD width=75%> ( <B><TT>flac</TT></B> ). <B><TT>flac</TT></B> <TT>1</TT>, MD5 . , <TT>0</TT>.</TD></TR>
<TR><TD><TT>-H</TT></TD>
<TR><TD><TT>-H</TT>, <TT>--explain</TT></TD>
<TD> . <B><TT>flac</TT></B> .</TD></TR>
<TR><TD><TT>-t</TT></TD>
<TR><TD><TT>-d</TT>, <TT>--decode</TT></TD>
<TD> ( <B><TT>flac</TT></B> ). <B><TT>flac</TT></B> <TT>1</TT>, MD5 . , <TT>0</TT>.</TD></TR>
<TR><TD><TT>-t</TT>, <TT>--test</TT></TD>
<TD> ( , , ). .</TD></TR>
<TR><TD><TT>-a</TT></TD>
<TR><TD><TT>-a</TT>, <TT>--analyze</TT></TD>
<TD> ( , , ). . . .</TD></TR>
<TR><TD><TT>-c</TT></TD>
<TR><TD><TT>-c</TT>, <TT>--stdout</TT></TD>
<TD> (stdout).</TD></TR>
<TR><TD><TT>-s</TT></TD>
<TR><TD><TT>-s</TT>, <TT>--silent</TT></TD>
<TD> /.</TD></TR>
<TR><TD><TT>-o </TT></TD>
<TR><TD><TT>-o </TT><BR><TT>--output-name=</TD>
<TD> , <B><TT>flac</TT></B> .</TD></TR>
<TR><TD><TT>--output-prefix </TT></TD>
<TR><TD><TT>--output-prefix=</TT></TD>
<TD> . / . , , '/'.</TD></TR>
<TR><TD><TT>--delete-input-file</TT></TD>
<TD> / . , .</TD></TR>
<TR><TD><TT>--skip #</TT></TD>
<TR><TD><TT>--skip=#</TT></TD>
<TD> <TT>#</TT> . , .</TD></TR>
</TABLE>
<H4><a name="analysis_options"> </H4>
<TABLE border=1>
<TR><TD width=15%><TT>--a-rtext</TT></TD>
<TD width=85%> . <B> </B>.</TD></TR>
<TR><TD width=25%><TT>--residual-text</TT></TD>
<TD width=75%> . <B> </B>.</TD></TR>
<TR><TD width=10%><TT>--a-rgp</TT></TD>
<TD width=90%> - . . <B> </B> .</TD></TR>
<TR><TD><TT>--residual-gnuplot</TT></TD>
<TD> - . . <B> </B> .</TD></TR>
</TABLE>
<H4><a name="decoding_options"> </H4>
<TABLE border=1>
<TR><TD width=15%><TT>-F</TT></TD>
<TD width=85%> <B><TT>flac</TT></B>
.
<TT>-F</TT> ,
, <B><TT>flac</TT></B> .
,
.</TD></TR>
<TR><TD width=30%><TT>-F</TT>,<BR><TT>--decode-through-errors</TT></TD>
<TD width=70%> <B><TT>flac</TT></B> . <TT>-F</TT> , , <B><TT>flac</TT></B> . , .</TD></TR>
</TABLE>
<H4><a name="encoding_options"> </A></H4>
<TABLE border=1>
<TR><TD width=15%><TT>--ogg</TT></TD>
<TD width=85%>
<P> Ogg-FLAC ""FLAC. Ogg-FLAC FLAC Ogg. '.ogg' <TT><B>flac</B></TT>.</P>
<TR><TD width=30%><TT>-V</TT></TD>
<TD width=70%> . <B><TT>flac</TT></B> , . , . , , , .</TD></TR>
<TR><TD><TT>--ogg</TT></TD>
<TD><P> Ogg-FLAC "" FLAC. Ogg-FLAC FLAC Ogg. '.ogg' <TT><B>flac</B></TT>.</P>
<P> Ogg-FLAC. '.ogg'.</P></TD></TR>
<TR><TD><TT>--serial-number=#</TT></TD>
<TD> --ogg FLAC. , <B><TT>flac</TT></B> '0'. .</TD></TR>
<TR><TD><TT>--lax</TT></TD>
<TD> , FLAC. , . .</TD></TR>
......@@ -281,8 +286,8 @@
<P><B></B>: ! '<TT>flac --sector-align *.wav</TT>', , . , , , '<TT>flac --sector-align 8.wav 9.wav 10.wav</TT>'.
</TD></TR>
<TR><TD><TT>-S {#|X|#x}</TT></TD>
<TD width=90%> <TT>SEEKTABLE</TT>.
<TR><TD><TT>-S {#|X|#x}</TT>,<BR><TT>--seekpoint={#|X|#x}</TD>
<TD> <TT>SEEKTABLE</TT>.
<UL>
<LI><TT>#&nbsp;</TT> : .</LI>
......@@ -298,114 +303,125 @@
<B></B>: <I>#</I> , , , .</P>
</TD></TR>
<TR><TD><TT>-P #</TT></TD>
<TD>E <TT>PADDING</TT>, ( ), <TT>STREAMINFO</TT>. <TT>-P 0</TT> <TT>-P-</TT> , <TT>PADDING</TT> ( ). , . , , <TT>PADDING</TT>. , <TT>PADDING</TT> 4 , 4 .</TD></TR>
<TR><TD><TT>-P #</TT>, <TT>--padding</TT></TD>
<TD> <TT>PADDING</TT>, ( ), <TT>STREAMINFO</TT>. <TT>-P 0</TT> <TT>-P-</TT> , <TT>PADDING</TT> ( ). , . , , <TT>PADDING</TT>. , <TT>PADDING</TT> 4 , 4 .</TD></TR>
<TR><TD><TT>-b #</TT></TD>
<TR><TD><TT>-b #</TT>, <TT>--blocksize</TT></TD>
<TD> . <TT>1152</TT> <TT>-l 0</TT>, <TT>4608</TT>. : <TT>192/576/1152/2304/4608/256/512/1024/2048/4096/8192/16384/32768</TT>. .</TD></TR>
<TR><TD><TT>-m</TT></TD>
<TR><TD><TT>-m</TT>, <TT>--mid-side</TT></TD>
<TD> ( ). . , . , 16 .</TD></TR>
<TR><TD><TT>-M</TT></TD>
<TD> ( ). <TT>-m</TT>, . , , <TT>-m</TT> .</TD></TR>
<TR><TD><TT>-M</TT>, <TT>--adaptive-mid-side</TT></TD>
<TD> ( ). <TT>-m</TT>, . , , <TT>-m</TT> .</TD></TR>
<TR><TD><TT>-0..-8</TT></TD>
<TD> ... . <TT>-5</TT>.</TD></TR>
<TR><TD><TT>-0</TT></TD>
<TR><TD><TT>-0</TT>, <TT>--compression-level-0</TT></TD>
<TD> <TT>-l 0 -b 1152 -r 2,2</TT>.</TD></TR>
<TR><TD><TT>-1</TT></TD>
<TR><TD><TT>-1</TT>, <TT>--compression-level-1</TT></TD>
<TD> <TT>-l 0 -b 1152 -r 2,2 -M</TT>.</TD></TR>
<TR><TD><TT>-2</TT></TD>
<TR><TD><TT>-2</TT>, <TT>--compression-level-2</TT></TD>
<TD> <TT>-l 0 -b 1152 -r 3 -m</TT>.</TD></TR>
<TR><TD><TT>-3</TT></TD>
<TR><TD><TT>-3</TT>, <TT>--compression-level-3</TT></TD>
<TD> <TT>-l 6 -b 4608 -r 3,3</TD></TR>
<TR><TD><TT>-4</TT></TD>
<TR><TD><TT>-4</TT>, <TT>--compression-level-4</TT></TD>
<TD> <TT>-l 8 -b 4608 -r 3,3 -M</TT>.</TD></TR>
<TR><TD><TT>-5</TT></TD>
<TR><TD><TT>-5</TT>, <TT>--compression-level-5</TT></TD>
<TD> <TT>-l 8 -b 4608 -r 3,3 -m</TT>.</TD></TR>
<TR><TD><TT>-6</TT></TD>
<TR><TD><TT>-6</TT>, <TT>--compression-level-6</TT></TD>
<TD> <TT>-l 8 -b 4608 -r 4 -m</TT>.</TD></TR>
<TR><TD><TT>-7</TT></TD>
<TR><TD><TT>-7</TT>, <TT>--compression-level-7</TT></TD>
<TD> <TT>-l 8 -b 4608 -r 6 -m -e</TT>.</TD></TR>
<TR><TD><TT>-8</TT></TD>
<TR><TD><TT>-8</TT>, <TT>--compression-level-8</TT></TD>
<TD> <TT>-l 12 -b 4608 -r 6 -m -e</TT>.</TD></TR>
<TR><TD><TT>--fast</TT></TD>
<TD> . <TT>-0</TT>.</TD></TR>
<TR><TD><TT>--best</TT></TD>
<TD> . <TT>-8</TT>.</TD></TR>
<TR><TD><TT>-e</TT></TD>
<TR><TD><TT>-e</TT>,<BR><TT>--exhaustive-model-search</TT></TD>
<TD> ( !). . . LPC , . 0.5%.</TD></TR>
<TR><TD><TT>-E</TT></TD>
<TR><TD><TT>-E</TT>,<BR><TT>--escape-coding</TT></TD>
<TD> . , . , 1%.</TD></TR>
<TR><TD><TT>-l #</TT></TD>
<TR><TD><TT>-l #</TT>,<BR><TT>--max-lpc-order=#</TT></TD>
<TD> LPC ( ). <TT>32</TT>. <TT>0</TT>, . , 5-10% .</TD></TR>
<TR><TD><TT>-q #</TT></TD>
<TR><TD><TT>-q #</TT>,<BR><TT>--qlp-coeff-precision=#</TD>
<TD> . <TT>-q 0</TT>, . .</TD></TR>
<TR><TD><TT>-p</TT></TD>
<TR><TD><TT>-p</TT>,<BR><TT>--qlp-coeff-precision-search</TT></TD>
<TD> LPC. <TT>-q</TT>. , . <TT>-q</TT> , <TT>-l 0</TT>.</TD></TR>
<TR><TD><TT>-r [#,]#</TT></TD>
<TR><TD><TT>-r [#,]#</TT>,<BR><TT>--rice-partition-order=[#,]#</TT></TD>
<TD> <I>[min,]max</I> . , 0. . , <I>2^min#</I> ... <I>2^max</I> , . <I>max</I> . <TT>-r 2,2</TT> ( ). 1.5%. <TT>_/(2^n)=128</TT>. <TT>-r 0,16</TT>.</TD></TR>
<TR><TD><TT>-V</TT></TD>
<TD> . <B><TT>flac</TT></B> , . , . , , , .</TD></TR>
<TR><TD>&nbsp;</TD>
<TD><TT>-F-</TT>, <TT>-S-</TT>, <TT>-P-</TT>, <TT>-m-</TT>, <TT>-e-</TT>, <TT>-E-</TT>, <TT>-p-</TT>, <TT>-V-</TT>, <TT>--lax-</TT>, <TT>--delete-input-file-</TT>, <TT>--sector-align-</TT> .</TD></TR>
</TABLE>
<H4> </H4>
<TABLE border=1>
<TR><TD width=30%><TT>--endian={big|little}</TT></TD>
<TD width=70%> big-endian | little-endian.</TD></TR>
<TR><TD width=15%><TT>-fb | -fl</TT></TD>
<TD width=90%> big-endian | little-endian.</TD></TR>
<TR><TD><TT>-fc n</TT></TD>
<TR><TD><TT>--channels=#</TT></TD>
<TD> .</TD></TR>
<TR><TD><TT>-fp n</TT></TD>
<TR><TD><TT>--bps=#</TT></TD>
<TD> .</TD></TR>
<TR><TD><TT>-fs n</TT></TD>
<TR><TD><TT>--sample-rate=#</TT></TD>
<TD> .</TD></TR>
<TR><TD><TT>-fu</TT></TD>
<TD>, ( ).</TD></TR>
<TR><TD><TT>--sign={signed|unsigned}</TT></TD>
<TD>, ( ).</TD></TR>
<TR><TD><TT>-fr</TT></TD>
<TD> ( ) raw .</TD></TR>
<TR><TD><TT>--force-raw-format</TT></TD>
<TD> ( ) .</TD></TR>
</TABLE>
<A NAME="metaflac">
<H3><B><TT>metaflac</TT></B></H3>
<P><B><TT>metaflac</TT></B> - , . .flac , , .</P>
<H4><a name="format-options"> </H4>
<TABLE border=1>
<TR><TD width=40%>
<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 width=60%> .</TD></TR>
</TABLE>
<P>C <B><TT>metaflac</TT></B> :</P>
<P><TT>metaflac [-v] _</TT></P>
<A NAME="metaflac">
<H3><B><TT>metaflac</TT></B></H3>
<P>_ "-" (stdin). <TT>-v</TT>, .</P>
<P><B><TT>metaflac</TT></B> - , . , .flac , <TT>PADDING</TT>, .</P>
<P> <B><TT>metaflac</TT></B> , , : <TT>metaflac --help</TT>.
<A NAME="plugins"><A NAME="xmms_plugin">
<H3> XMMS</H3>
......@@ -414,184 +430,19 @@
<A NAME="winamp_plugin2">
<H3> Winamp</H3>
<P> Winamp: 2.x, 3.x. Winamp 2.x, <TT>in_flac.dll</TT> , Winamp ( <TT>/Plugins</TT>). . .flac Winamp.</P>
<A NAME="winamp_plugin3">
<H3> Winamp</H3>
<P> Winamp: 2.x, 3.x. Winamp 3.x, <TT>cnv_flacpcm.wac</TT> , Winamp ( <TT>/Wacs</TT>). . .flac Winamp.</P>
<A NAME="libflac">
<H3><B><TT>libFLAC</TT></B></H3>
<P> <B><TT>libFLAC</TT></B> C . , FLAC . - <A HREF="http://www.gnu.org/copyleft/lesser.html">LGPL</A>. <B><TT>libFLAC</TT></B>, , , .</P>
<P><B><TT>libFLAC</TT></B> C. , , <B><TT>libFLAC</TT></B> , thread-safe.</P>
<P> <B><TT>libFLAC</TT></B> include/FLAC. . , src/libFLAC/, src/libFLAC/include/ .</P>
<P> <B><TT>libFLAC</TT></B> :</P>
<OL>
<LI> <TT>*_new()</TT>.</LI>
<LI> , , <TT>*_set_*()</TT>.</LI>
<LI> , /, <TT>*_init()</TT>.</LI>
<LI> <TT>*_process_*()</TT> , .</LI>
<LI> <TT>*_finish()</TT>, .</LI>
<LI> <TT>*_delete()</TT>.</LI>
</OL>
<P> <B><TT>libFLAC</TT></B> . , - , - . <TT>stream_decoder.h</TT>, <TT>seekable_stream_decoder.h</TT> <TT>file_decoder.h</TT> . .</P>
<P> . , , . .</P>
<P> (<TT>stream_encoder.h</TT>).</P>
<P> , , <TT>format.h</TT>.</P>
<P><B> </B></P>
<P> . <TT>FLAC__StreamDecoder</TT>. <TT>FLAC__stream_decoder_new()</TT>, <TT>FLAC__stream_decoder_set_*()</TT> <TT>FLAC__stream_decoder_init()</TT>. :</P>
<UL>
<LI> . , . , , . , . <TT>FLAC__StreamDecoderReadStatus</TT>.</LI>
<LI> . . , ( ) .</LI>
<LI> . . <TT>STREAMINFO</TT>, . , . , , <TT>FLAC__metadata_object_copy()</TT>.</LI>
<LI> . , .</LI>
</UL>
<P> , :</P>
<UL>
<LI><B><TT>FLAC__stream_decoder_process_whole_stream()</TT></B> - <TT>FLAC__STREAM_DECODER_READ_END_OF_STREAM</TT> <TT>FLAC__STREAM_DECODER_READ_ABORT</TT>.</LI>
<LI><B><TT>FLAC__stream_decoder_process_metadata()</TT></B> - .</LI>
<LI><B><TT>FLAC__stream_decoder_process_one_frame()</TT></B> - . .</LI>
<LI><B><TT>FLAC__stream_decoder_process_remaining_frames()</TT></B> - . . <TT>FLAC__stream_decoder_process_one_frame()</TT>.</LI>
</UL>
<P> , <TT>FLAC__stream_decoder_finish()</TT>, . <TT>FLAC__stream_decoder_delete()</TT> .</P>
<P> , , . <TT>FLAC__stream_decoder_flush()</TT> . .</P>
<P><B> </B></P>
<P> . - <TT>FLAC__SeekableStreamDecoder</TT>. , , :</P>
<UL>
<LI> . , .</LI>
<LI> . , .</LI>
<LI> . , . .</LI>
<LI> . , , . , , .</LI>
<P> <TT>FLAC__seekable_stream_decoder_seek_absolute()</TT>. . (, ) , .</P>
<P> MD5. , <TT>FLAC__seekable_stream_decoder_finish()</TT> MD5 <TT>STREAMINFO</TT>. MD5 <TT>STREAMINFO</TT> .</TT>
<P><B> </B></P>
<P> - , . - <TT>FLAC__FileDecoder</TT>. , ( ) . .</P>
<P> <TT>FLAC__file_decoder_seek_absolute()</TT>. . , ( ) , .</P>
<P> MD5. , <TT>FLAC__file_decoder_finish()</TT> , MD5 STREAMINFO. MD5 , STREAMINFO .
<P><B> </B></P>
<P> , . - <TT>FLAC__StreamEncoder</TT>. <TT>FLAC__stream_encoder_new()</TT>, - <TT>FLAC__stream_encoder_init()</TT>.</P>
<P> FLAC , . <TT>FLAC__stream_encoder_init()</TT>, , , - <TT>FLAC__STREAM_ENCODER_OK</TT>. (. <A HREF="#format"> </A> <A HREF="format.html"> </A>). :</P>
<UL>
<LI><B><TT>streamable_subset</TT></B> - <TT></TT>, , <A HREF="format.html#subset"> </A>, <TT></TT>.</LI>
<LI><B><TT>do_mid_side_stereo</TT></B> - <TT></TT>, . <TT>channels</TT> <TT>2</TT>.</LI>
<LI><B><TT>loose_mid_side_stereo</TT></B> - <TT></TT>, , . <TT>do_mid_side_stereo</TT> .</LI>
<LI><B><TT>channels</TT></B> ( ) - &lt;= <TT>FLAC__MAX_CHANNELS</TT>.</LI>
<LI><B><TT>bits_per_sample</TT></B> - .</LI>
<LI><B><TT>sample_rate</TT></B> ( ) - &lt;= <TT>FLAC__MAX_SAMPLE_RATE</TT>.</LI>
<LI><B><TT>blocksize</TT></B> ( ) - <TT>FLAC__MIN_BLOCKSIZE</TT> <TT>FLAC__MAX_BLOCKSIZE</TT>.</LI>
<LI><B><TT>max_lpc_order</TT></B> ( ) - <TT>0</TT> , LPC, . &lt;= <TT>FLAC__MAX_LPC_ORDER</TT>.</LI>
<LI><B><TT>qlp_coeff_precision</TT></B> - &gt;= <TT>FLAC__MIN_QLP_COEFF_PRECISION</TT>, <TT>0</TT>, . <TT>qlp_coeff_precision</TT>+<TT>bits_per_sample</TT> &lt; <TT>32</TT>.</LI>
<LI><B><TT>do_qlp_coeff_prec_search</TT></B> - <TT></TT>, <TT>qlp_coeff_precision</TT>; <TT></TT> <TT>qlp_coeff_precision</TT>.</LI>
<LI><B><TT>do_escape_coding</TT></B> - , .</LI>
<LI><B><TT>do_exhaustive_model_search</TT></B> ( ) - <TT></TT>, to use estimated bits per residual for scoring; <TT></TT> .</LI>
<LI><B><TT>min_residual_partition_order</TT></B> ( ), <B><TT>max_residual_partition_order</TT></B> ( )= <TT>0</TT>, ; &gt; <TT>0</TT> , . <TT>min_residual_partition_order</TT> <TT>max_residual_partition_order</TT> .</LI>
<LI><B><TT>rice_parameter_search_dist</TT></B> ( ) - <TT>0</TT>, <TT>k</TT>; [<TT>k</TT>-<TT>rice_parameter_search_dist</TT>..<TT>k</TT>+<TT>rice_parameter_search_dist</TT>] .</LI>
<LI><B><TT>total_samples_estimate</TT></B> ( ) - <TT>0</TT>, . , . <TT>STREAMINFO</TT> , , <TT>STREAMINFO</TT>.</LI>
<LI><B><TT>seek_table</TT></B> ( ) - . <TT>NULL</TT> , .</LI>
<LI><B><TT>padding</TT></B> ( ) - <TT>PADDING</TT> ( ); <TT>-1</TT> , <TT>PADDING</TT> . , ; PADDING 4 - .</LI>
</UL>
<P> <TT>FLAC__stream_encoder_init()</TT> :</TT>
<UL>
<LI> . , . , , .</LI>
<LI> . populated <TT>STREAMINFO</TT>. , <TT>STREAMINFO</TT> , .</LI>
</UL>
<P> <TT>FLAC__stream_encoder_init()</TT> &quot;fLaC&quot; .</P>
<P> :</P>
<UL>
<LI> <B><TT>FLAC__stream_encoder_process()</TT></B>. , . .</LI>
<LI> <B><TT>FLAC__stream_encoder_process_interleaved()</TT></B>. (, <TT>0_0, 1_0, ... , N_0, 0_1, ...</TT>). , , .. <TT>0_X</TT>, - <TT>N_Y</TT>.</LI>
</UL>
<P> <TT>FLAC__stream_encoder_finish()</TT>, . <TT>FLAC__stream_encoder_delete()</TT> .</P>
<P><B></B></P>
<P> , , . <TT>0</TT> , <TT>1</TT> - .</P>
<P><B></B></P>
<P>, <TT>APPLICATION</TT>, , <TT>PADDING</TT> . <TT>PADDING</TT> . <TT>APPLICATION</TT>, , <TT>APPLICATION</TT> <TT>PADDING</TT>.</P>
<P> <TT>APPLICATION</TT> , . <TT>APPLICATION</TT> ( ) <TT>N</TT> , FLAC__StreamEncoder <TT>N+4</TT>. , .</P>
<P> , , <TT>N</TT> , <TT>N+8</TT> . ID <TT>PADDING</TT>, . , <TT>APPLICATION</TT> , , <TT>M</TT> , <TT>PADDING</TT> <TT>APPLICATION</TT> <TT>PADDING</TT> <TT>N-M</TT> .</P>
<P> Winamp: 2.x, 3.x. Winamp 3.x, <TT>cnv_flacpcm.wac</TT> , Winamp ( <TT>/Wacs</TT>). . .flac Winamp.</P>
<A NAME="bugs">
<H3> </H3>
<P> <A HREF="http://sourceforge.net/bugs/?group_id=13478"></A> , SourceForge. , , e-mail .</P>
<A NAME="monkey">
<H3>monkey</H3>
......@@ -611,7 +462,7 @@
</UL>
</P>
<P> Monkey's Audio GUI FLAC, <A HREF="mailto:email@monkeysaudio.com"></A> () FLAC! . -, flac-dev.</P>
<P> .</P>
<P>&nbsp;Copyright (c) 2000,2001,2002 Josh Coalson</P>
......
......@@ -80,7 +80,7 @@
<P>-, , , , , . :</P>
<P><BLOCKQUOTE>
<LI><A HREF="http://svr-www.eng.cam.ac.uk/~ajr/">. </A> Shorten. , FLAC. FLAC , Shorten.</LI>
<LI><A HREF="http://www-svr.eng.cam.ac.uk/reports/abstracts/robinson_tr156.html">. </A> Shorten. , FLAC. FLAC , Shorten.</LI>
<LI><A HREF="http://commsci.usc.edu/faculty/golomb.html">. </A> . .</LI>
......@@ -237,11 +237,9 @@
<LI> FLAC (Subset format). , , , . , , . <B><TT>flac</TT></B> , . <TT>--lax</TT> . , :</LI>
<UL>
<LI> , , 0001-0101 1000-1111. ( ), <TT>STREAMINFO</TT> .</LI>
<LI> 001-110.</LI>
<LI> , , 0001-0101 1000-1110. ( ), <TT>STREAMINFO</TT> .</LI>
<LI> 0001-1011.</LI>
<LI> 001-111.</LI>
</UL>
</BLOCKQUOTE></P>
......@@ -492,11 +490,9 @@
</UL>
</TD>
</TR>
</TABLE></P>
<P><TABLE WIDTH="100%" BORDER="1">
<TR>
......@@ -505,13 +501,9 @@
<TR>
<TD VALIGN="TOP">&lt;n&gt;</TD>
<TD> Vorbis, <A HREF="http://www.xiph.org/ogg/vorbis/doc/v-comment.html"></A>. , Vorbis 2 ^ 64 , FLAC 2 ^ 24 . Vorbis 32- little-endian coded, big-endian coding , FLAC.</TD>
<TD> Vorbis, <A HREF="http://www.xiph.org/ogg/vorbis/doc/v-comment.html"></A>. , Vorbis 2 ^ 64 , FLAC 2 ^ 24 . Vorbis 32- little-endian coded, big-endian coding , FLAC.</TD>
</TR>
</TABLE></P>
<P><TABLE WIDTH="100%" BORDER="1">
......@@ -536,8 +528,7 @@
<TR>
<TD VALIGN="TOP"><A HREF="format.html#frame_footer"><TT>_</TT></A></TD>
<TD>&nbsp;</TD>
</TR>
<TD>&nbsp;</TD>1</TR>
</TABLE></P>
......
......@@ -71,9 +71,11 @@
<H3></H3>
<P>13 2002: FLAC</P>
<P>11 2002: FLAC 1.0.4 </P>
<P><A HREF="http://www.phatnoise.com/">Phatnoise</A> , FLAC. FLAC Phatbox . <A HREF="http://phatbox.sixpak.org/">Phatbox</A>.</P>
<P> FLAC Rio Receiver Dell Digital Audio Receiver; <A HREF="http://rioreceiver.comms.net/php/showflat.php?Cat=&Board=Technical&Number=2262&page=0&view=collapsed&sb=5&o=0&fpart="></A> .</P>
<P> FLAC 1.0.4.</P>
<P> FLAC , , <A HREF="http://sourceforge.net/mail/?group_id=13478"> </A> <A HREF="http://sourceforge.net/project/memberlist.php?group_id=13478"> </A>. <A HREF="http://sourceforge.net/bugs/?func=addbug&group_id=13478"></A>.</P>
......@@ -83,16 +85,16 @@
<P>FLAC - free lossless audio codec ( , ). FLAC :</P>
<P><BLOCKQUOTE><UL>
<LI> ,</LI>
<LI> <B><TT>libFLAC</TT></B>, ,</LI>
<LI><B><TT>flac</TT></B>, , .flac ,</LI>
<LI> ;</LI>
<LI><B><TT>libFLAC</TT></B>, ;</LI>
<LI><B><TT>libFLAC++</TT></B>, <TT>libFLAC</TT>;</LI>
<LI><B><TT>libOggFLAC</TT></B> <B><TT>libOggFLAC++</TT></B>, <TT>libFLAC</TT> <TT>libFLAC++</TT>, , FLAC Ogg;</LI>
<LI><B><TT>flac</TT></B>, , .flac;</LI>
<LI><B><TT>metaflac</TT></B>, .flac;</LI>
<LI> (Winamp, XMMS, ).</LI>
</UL></BLOCKQUOTE></P>
<P>"" , public domain ( FLAC ), , , / . , <B><TT>libFLAC</TT></B> LGPL, <B><TT>flac</TT></B> - GPL.</P>
<P>"" , public domain ( FLAC ), , , / . , <A HREF="http://www.opensource.org/licenses/lgpl-license.html">LGPL</A>, <B><TT>flac</TT></B>, <B><TT>metaflac</TT></B> - <A HREF="http://www.opensource.org/licenses/gpl-license.html">GPL</A>.</P>
<P>FLAC : Unixes (Linux, *BSD, Solaris, OS X), Windows, BeOS OS/2. autoconf/automake, MSVC, Watcom C Project Builder.</P>
......
......@@ -71,51 +71,47 @@
<P><BLOCKQUOTE><UL>
<LI><A HREF="http://flac.sourceforge.net/"> FLAC </A></LI>
<LI><A HREF="http://www.sourceforge.net/projects/flac/"> FLAC SourceForge</A></LI>
<LI><A HREF="http://freshmeat.net/projects/flac"> Freshmeat</A></LI>
<LI><A HREF="http://www.firstpr.com.au/audiocomp/lossless/"> </A></LI>
<LI><A HREF="http://dkutsanov.chat.ru/"> </A></LI>
</UL></BLOCKQUOTE></P>