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

Барт Гопник bart.gopnik at gmail.com
Thu Jun 19 02:20:18 PDT 2014

> check the resulting file for subset blocksizes, sample rates, bits per sample, LPC filter order and rice partition order.

That's all parameters that I need to check?

FLAC tools have a lots of warnings about non-subset files during
encoding, but unfortunately don't have easy way to check/test existing
FLAC stream for subset compliance.

"flac -a" generates the big text file that has data about each frame
and subframe. But looks like I need parser and statistics tools to
answer on question about subset compliance of stream.

Looks like "metaflac --show-min-blocksize --show-max-blocksize
--show-sample-rate --show-bps" is more useful, but look like
unfortunately there is no switches to show LPC filter order and Rice
partition order in MataFLAC tool.

It would be nice if anybody add switches to show more parameters like
LPC filter order and Rice partition order and checking for subset
compliance of stream to MetaFLAC tool. I understand that FLAC is free
open source project and nobody owes nobody nothing and don't know how
hard to implement these features, because I'm not a programmer, I'm
just powered user only.

My task (specific purpose is science research/experiment at the
university) is achieve the maximum possible compression ratio using
reference FLAC encoder and FFMPEG's FLAC encoder, but stream should be
FLAC subset. With reference FLAC encoder all is clear due to excellent
exhaustive documentation about each available parameters :), with
FFMPEG's FLAC encoder unfortunately is not. :(

Does the following FFMPEG's FLAC encoder options affect the subset
compliance of stream?

 -lpc_type          <int>        E...A... LPC algorithm (from -1 to 3)
(default -1)
     none                         E...A...
     fixed                        E...A...
     levinson                     E...A...
     cholesky                     E...A...
  -lpc_passes        <int>        E...A... Number of passes to use for
Cholesky factorization during LPC analysis (from 1 to INT_MAX)
(default 2)
  -prediction_order_method <int>        E...A... Search method for
selecting prediction order (from -1 to 5) (default -1)
     estimation                   E...A...
     2level                       E...A...
     4level                       E...A...
     8level                       E...A...
     search                       E...A...
     log                          E...A...

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.

More information about the flac-dev mailing list