[flac-dev] How to check/test existing FLAC stream for Subset?

Martijn van Beurden mvanb1 at gmail.com
Thu Jun 19 09:00:51 PDT 2014

op 19-06-14 11:20, Барт Гопник schreef:
> That's all parameters that I need to check?

That is correct. See http://xiph.org/flac/format.html, it says

> The Subset makes the following limitations on what may be used 
> in the stream:
> - The blocksize bits in the frame header must be 0001-1110. 
> The blocksize must be <=16384; if the sample rate is <= 
> 48000Hz, the blocksize must be <=4608.
> - The sample rate bits in the frame header must be 0001-1110.
> - The bits-per-sample bits in the frame header must be 001-111.
> - If the sample rate is <= 48000Hz, the filter order in LPC 
> subframes must be less than or equal to 12, i.e. the subframe 
> type bits in the subframe header may not be 101100-111111.
> - The Rice partition order in a Rice-coded residual section 
> must be less than or equal to 8.

So those are all restrictions you have to check for.

> but stream should be FLAC subset.

What is the reason you're restricting yourself to subset? Does 
it have to be decodeable on certain hardware?

> Does the following FFMPEG's FLAC encoder options affect the subset
> compliance of stream?
> [...]
> I can't find anything about e.g. Levinson-Durbin recursion with Welch
> window and Cholesky factorization (and number of its passes) LPC
> algorithms and estimation, 2level, 4level, 8level, search and log
> search methods for selecting prediction order in FLAC documentation,
> therefore I can't know how these parameters affect to subset
> compliance of stream.

Those are parameters that affect the way the encoder searches 
for ways to compress, but it doesn't change the time or amount 
of memory the decoder needs to decode the file. They are not 
detailed in the documentation because those options do not show 
up in the resulting file, it is an encoder internal.

More information about the flac-dev mailing list