?hel kenal p?eval (neljap?ev, 14. m?rts 2013 19:02:35) kirjutas Declan Kelly:> On Wed, Mar 13, 2013 at 10:06:51PM -0400, benski at winamp.com wrote: > > Flake is a completely independent codebase. When I used it years ago, I > > remember it being not only better compression but significantly faster as > > well. I believe some of the techniques used in libflake were added to > > libFLAC in 1.1.4. However, some of the improved compression in flake was > > due to options that are outside the FLAC 'subset', such as larger > > blocksize, greater number of prediction coefficients, and higher-order > > Rice codes. > > When I tested flake, it was almost shockingly fast (compared to what I > was used to with FLAC) but the tightest compression options didn't > produce .flac files that could play on every playback device and/or > software that I tested. > > It is a shame that development has stopped. > > The next official release of the FLAC command line should really have a > "-9" option for absolute maxed-out big-memory CPU-burning compression. > Most general purpose compression tools have "-9" as the tightest option > for compression.Flake higher compression levels make non-subset files. Computer are fast today and Flake more complex compression don't take very much time anymore. Other thing is that lossless compression can't be very much smaller. One possibility is to broaden Flac subset. But I don't know is it good idea or not. I'm just daily audiophile.
On 14-03-13 20:16, Marko Uibo wrote:> One possibility is to broaden Flac subset. But I don't know is it good > idea or not.It's not a good idea, except when you want to ruin FLACs reputation. One of the reasons FLAC is (alongside ALAC) one of the two most popular lossless codecs is because of the well-defined subset. I've tried Flake -9, -10, -11 and -12 on my portable years ago, and while -9 did reasonable, anything higher would just choke the player. If you want more compression, you can do it yourself. The -0 through -8 switches are just presets, you can use FLAC 1.0's -9 yourself with -l 32 -b 4608 -m -e -E -r 16 -p on FLAC 1.2.1, there's just no shortcut -9 anymore. Changing things like the subset will get developers/hardware manufacturers nervous (because no one can tell them one the next subset change will be, which might render their device incompatible) so it should *never* be changed, only in case of a complete format overhaul, FLAC 2.0 or something, which is probably never going to happen.
On Thu, Mar 14, 2013 at 08:31:34PM +0100, mvanb1 at gmail.com wrote:> It's not a good idea, except when you want to ruin FLACs reputation. One > of the reasons FLAC is (alongside ALAC) one of the two most popular > lossless codecs is because of the well-defined subset. I've tried Flake > -9, -10, -11 and -12 on my portable years ago, and while -9 did > reasonable, anything higher would just choke the player.I found that flake at higher preset compression levels would not even produce files that the FLAC command line tool could decompress. And I 100% agree that we shouldn't change the subset, or do anything to make any existing decoder fail.> If you want more compression, you can do it yourself. The -0 through -8 > switches are just presets, you can use FLAC 1.0's -9 yourself with -l 32 > -b 4608 -m -e -E -r 16 -p on FLAC 1.2.1, there's just no shortcut -9 > anymore.I haven't studied Zopfli closely, but a similar "find the absolute best compression" iteration for FLAC is possible without altering the subset. There was some discussion on this list a few years ago about a preprocessor, but all I can find now is a preprocessor that makes WAV data easier to compress smaller (in a slightly lossy way). -- -Dec. --- (no microsoft products were used to create this message) "Mosaic is going to be on every computer in the world." - Marc Andreessen, 1994
Hi, On 03/14/2013 03:31 PM, Martijn van Beurden wrote:> On 14-03-13 20:16, Marko Uibo wrote: >> One possibility is to broaden Flac subset. But I don't know is it good >> idea or not. > > It's not a good idea, except when you want to ruin FLACs reputation. One > of the reasons FLAC is (alongside ALAC) one of the two most popular > lossless codecs is because of the well-defined subset. I've tried Flake > -9, -10, -11 and -12 on my portable years ago, and while -9 did > reasonable, anything higher would just choke the player. > > If you want more compression, you can do it yourself. The -0 through -8 > switches are just presets, you can use FLAC 1.0's -9 yourself with -l 32 > -b 4608 -m -e -E -r 16 -p on FLAC 1.2.1, there's just no shortcut -9 > anymore. > > Changing things like the subset will get developers/hardware > manufacturers nervous (because no one can tell them one the next subset > change will be, which might render their device incompatible) so it > should *never* be changed, only in case of a complete format overhaul, > FLAC 2.0 or something, which is probably never going to happen.Also there is variable block size, which does help compression in most situations. Josh added the flag for this to the bitstream format years ago, but the feature was never actually implemented in libFLAC. Flake uses a fairly simple algorithm based on the absolute sum of fixed 2nd-order residual compared across small block sections (1/8 blocksize), using a threshold to determine whether to merge each section to the previous one. Flake at level 9 and 10 use variable block size and are still subset-compliant. -Justin