[flac-dev] Exact FLAC subset constraints
Martijn van Beurden
mvanb1 at gmail.com
Sat Jan 4 05:06:59 PST 2014
I don't understand what it is you don't get about those blocksizes. For
subset streams, the blocksize has to be one of 576/1152/2304/4608 or
256/512/1024/2048/4096 if the samplerate is lower then or equal to
48kHz, if higher, 8192 and 16384 are allowed too. If you use any other
blocksize, the stream is not subset compliant.
Considering the fixed or variable blocksize stuff, the subset does not
restrict that, so using a variable blocksize is technically subset
compliant. However, flake does warn when using variable blocksizes that
the stream is not subset compliant. The thing is, it's not in the
reference encoder, so probably most (hardware) decoders haven't been
tested with it. If you want to be safe, you should probably restrict
yourself to a fixed-blocksize stream.
Finally, ffmpeg level 12 is not subset compliant.
On 03-01-14 11:20, Барт Гопник wrote:
> I'm misleading about FLAC subset constraints... Please help me
> understand exact FLAC subset limitation.
> From https://www.xiph.org/flac/documentation_tools_flac.html#flac_options_blocksize:
> 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.
> From https://www.xiph.org/flac/format.html#subset:
> The blocksize must be <=16384; if the sample rate is <= 48000Hz, the
> blocksize must be <=4608.
> Finally, "one of 192/576/1152/2304/4608/256/512/1024/2048/4096" or
> just (simply) "<=4608", "one of 8192/16384" or just "<=16384"?
> Maximum (4608) value and any intermediate values are not one of
> The first statement is more restricted.
> Is the word "must" to be interpreted as described in RFC 2119
> The second question:
> From https://www.xiph.org/flac/documentation_format_overview.html:
> The reference encoder uses a single block size for the whole stream
> but the FLAC format does not require it.
> Should stream MUST have constant (fixed) block size (if blocksize
> satisfies all restrictions from first question) to be subset?
> Is variable block size stream (if blocksize satisfies all restrictions
> from first question) be subset?
> The third question:
> Is FLAC files compressed by FFMPEG with "-compression_level 12" switch
> are subset?
> flac-dev mailing list
> flac-dev at xiph.org
More information about the flac-dev