[Ffmpeg-devel] FLAC encoder

Michael Niedermayer michaelni
Sun May 28 11:19:12 CEST 2006


On Sun, May 28, 2006 at 12:32:36AM -0400, Justin Ruggles wrote:
> Here is an updated version of the encoder.
> http://home.earthlink.net/~jruggle/flake/flake-01.tar.bz2
> What I did:
> Instead of doing brute-force bit counts and gradient search for the
> optimal rice parameters, I used the log2(mean_residual_value).  This is
> not 100% optimal for compression, but it's close, and it is much faster.
>  First, the mean is calculated for each partition on the highest order
> level. Then, each lower level mean is calculated by averaging each pair
> of partitions from the level above.  In addition to calculating k, the
> means are also used to estimate bit count.

the same summing (of the most significant bits instead of all) from the
previous 2 higher order partitions can be done with the exact method too
(it was the simple but slower alternative i suggested)

>   8    0m13.858s     2189192  0.414   584
> As a comparison, here is the same sample with the previous version:
>  10    0m18.091s     2187875  0.413   583
> It might be worth taking out one of the lower levels and adding the old
> brute-force search back in as level 8.

yes, iam in favor of this


Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is

More information about the ffmpeg-devel mailing list