<li>New <ahref="format.html#def_PICTURE"><spanclass="code">PICTURE</span></a> metadata block for storing things like cover art</li>
<li>Speaker assignments and channel orders for 3-6 channels (see <ahref="format.html#frame_header">frame header</a>)</li>
<li>New <ahref="format.html#def_PICTURE"><spanclass="code">PICTURE</span></a> metadata block for storing things like cover art.</li>
<li>Speaker assignments and channel orders for 3-6 channels (see <ahref="format.html#frame_header">frame header</a>).</li>
<li>Further restrictions on the <ahref="format.html#subset">FLAC subset</a> when the sample rate is <=48kHz; in this case the maximum LPC order is now 12 and maximum blocksize is 4608. This is to further limit the processing and memory requirements for hardware implementations while not measurably affecting compression.</li>
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.
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 (and 8192/16384 if the sample rate is >48kHz). The reference encoder uses the same block size for the entire stream.
Specifies the maximum LPC order. This number must be <= 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.
Specifies the maximum LPC order. This number must be <= 32. For Subset streams, it must be <=12 if the sample rate is <=48kHz. 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.
<aname="tools__not_streamable"><b>Why did I get "ERROR initializing encoder, state = FLAC__STREAM_ENCODER_NOT_STREAMABLE"?</b></a><br/>
<br/>
You specified encoding options that are outside the <ahref="format.html#subset">Streamable subset</a>. If that is what you really wanted, you must also use <spanclass="code">flac --lax</span>.<br/>
You specified encoding options that are outside the <ahref="format.html#subset">Streamable subset</a>. If that is what you really wanted and you understand the consequences, you can use <spanclass="code">flac --lax</span> to generate a non-Subset stream. The resulting file may not be streamable or play in all players.<br/>
<br/>
<aname="tools__different_sizes"><b>Why doesn't the same file compressed on different machines with the same options yield the same FLAC file?</b></a><br/>
<aname="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 <ahref="#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.
The blocksize bits in the <ahref="#frame_header">frame header</a> must be 0001-0101 or 1000-1110, specifying a fixed-blocksize stream (the exception being the last block as described in the table) and a few allowable blocksizes. This also means that the STREAMINFO metadata block must specify equal mininum and maximum blocksizes. If the sample rate is <= 48000Hz, the blocksize must be <=4608, i.e. blocksize bits 0001-0101 or 1000-1100.
</li>
<li>
The sample rate bits in the <ahref="#frame_header">frame header</a> must be 0001-1011.
...
...
@@ -294,6 +294,9 @@
<li>
The bits-per-sample bits in the <ahref="#frame_header">frame header</a> must be 001-111.
</li>
<li>
If the sample rate is <= 48000Hz, the filter order in <ahref="#subframe_lpc">LPC subframes</a> must be less than or equal to 12, i.e. the subframe type bits in the <ahref="#subframe_header">subframe header</a> may not be 101100-111111.
</li>
<li>
The Rice partition order in a <ahref="#partitioned_rice">Rice-coded residual section</a> must be less than or equal to 8.
<para>Specify the block size in samples. The default is 1152 for -l 0, else 4608; must be one of 192, 576, 1152, 2304, 4608, 256, 512, 1024, 2048, 4096, 8192, 16384, or 32768 (unless --lax is used)</para>
<para>Specify the block size in samples. The default is 1152 for -l 0, else 4608. Subset streams must use one of 192, 576, 1152, 2304, 4608, 256, 512, 1024, 2048, 4096 (and 8192 or 16384 if the sample rate is >48kHz).</para>
<para>Set the maximum LPC order; 0 means use only the fixed predictors</para>
<para>Specifies the maximum LPC order. This number must be <= 32. For Subset streams, it must be <=12 if the sample rate is <=48kHz. 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.</para>