Skip to main content

Topic: FLAC 1.1.3 beta1 available (Read 121495 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • jcoalson
  • [*][*][*][*][*]
  • Developer
FLAC 1.1.3 beta1 available
The first (and hopefully only) beta for FLAC 1.1.3 is ready.  Usually I don't do betas but there are a lot of new things.  See the changelog.

One thing that I'm pretty sure will come up is how flac handles legacy WAVEFORMATEX files with odd bit depths (WAVEFORMATEXTENSIBLE should work fine) and multi-channel files.  if you have WAVE or AIFF files that flac refuses, let me know here so I can zero in on how to handle the wierd ones.  Any other feedback is also welcome.

You can get the source tarball, or binaries for windows:
http://prdownloads.sourceforge.net/flac/fl...tar.gz?download
http://prdownloads.sourceforge.net/flac/fl...in.zip?download
http://prdownloads.sourceforge.net/flac/fl...in.zip?download
(or)
http://sourceforge.net/project/showfiles.php?group_id=13478

MD5's:
Code: [Select]
2f305538a17e35d8153a34423c508dbf  flac-1.1.3-beta1-devel-win.zip
6d43afc5a44015d8fa13fcd6767b1e25  flac-1.1.3-beta1-win.zip
c97c0d35c6193952c2e516f062d3e15d  flac-1.1.3-beta1.tar.gz

  • Axon
  • [*][*][*][*][*]
  • Members (Donating)
FLAC 1.1.3 beta1 available
Reply #1
Dayumn. We like, couldn't call this 1.2 or 2.0, could we?

  • jcoalson
  • [*][*][*][*][*]
  • Developer
FLAC 1.1.3 beta1 available
Reply #2

  • Egor
  • [*][*][*][*][*]
FLAC 1.1.3 beta1 available
Reply #3
Great work, very cool!

Quote
WAVEFORMATEXTENSIBLE channel mask is also saved to a tag on encoding and restored on decoding for situations when there is no natural mapping to FLAC channel assignments.

What is the tag name/format? (I couldn't find it in the new documentation.)

Quote
The encoder chooses suitable defaults in the absence of any -A options; any -A option specified replaces the default(s).

How does it choose? Is it always tukey(0.5)?

  • Synthetic Soul
  • [*][*][*][*][*]
  • Global Moderator
FLAC 1.1.3 beta1 available
Reply #4
Have you given up on the idea of -9 Josh?

(NB: I can compile this one )
I'm on a horse.

  • haregoo
  • [*][*][*]
FLAC 1.1.3 beta1 available
Reply #5
1.1.3b1 consumes more bits especially on short sample(less than 30sec) than 1.1.2. I always use default setting(-5).
Is this because of redundant data for recovery?

  • jcoalson
  • [*][*][*][*][*]
  • Developer
FLAC 1.1.3 beta1 available
Reply #6
Quote
WAVEFORMATEXTENSIBLE channel mask is also saved to a tag on encoding and restored on decoding for situations when there is no natural mapping to FLAC channel assignments.

What is the tag name/format? (I couldn't find it in the new documentation.)

WAVEFORMATEXTENSIBLE_CHANNEL_MASK

Quote
The encoder chooses suitable defaults in the absence of any -A options; any -A option specified replaces the default(s).

How does it choose? Is it always tukey(0.5)?

right now, yes  but it may get smarter.

Have you given up on the idea of -9 Josh?

no, just saving it for something good (which I haven't come up with yet)

1.1.3b1 consumes more bits especially on short sample(less than 30sec) than 1.1.2. I always use default setting(-5).
Is this because of redundant data for recovery?

no, there's no redundant data, the only thing that should cause that is the new default padding size of 8k (was 4k in 1.1.2).  is the difference more than that?  you can always change the amount of padding with -P

Josh


P.S. the other thing that I would like to know is how good the --picture option is at automatically extracting the correct resolution/color info from gif/jpg/png files.  if it chokes or gets it wrong, send me the file and I'll try to improve the detection code.

Josh

  • haregoo
  • [*][*][*]
FLAC 1.1.3 beta1 available
Reply #7
1.1.3b1 consumes more bits especially on short sample(less than 30sec) than 1.1.2. I always use default setting(-5).
Is this because of redundant data for recovery?

no, there's no redundant data, the only thing that should cause that is the new default padding size of 8k (was 4k in 1.1.2).  is the difference more than that?  you can always change the amount of padding with -P

"-P 4096" solves this and clear my doubts. Thanks.

Edit: This problem occurs only when I use flac.exe with foobar2000 0.9 pipe encoding.
  • Last Edit: 10 October, 2006, 11:55:29 PM by haregoo

FLAC 1.1.3 beta1 available
Reply #8
Just a cosmetic difference: Encoding with option -V, Flac 1.1.2 outputs "Verify OK"  V1.1.3b1 don't.
.halverhahn

FLAC 1.1.3 beta1 available
Reply #9
Just one sample (CHOIR OF ALL SAINTS, HONIRA - Jisas yu holem hand blong mi / a cappella) is tested -8:

reference libFLAC 1.1.3-beta1 20061010 -> 8,983,544 Bytes (8.57 MB)
reference libFLAC CVS 20060425 -> 8,961,400 Bytes (8.55 MB)

1.1.2CVS is win 

more testing now...
above and beyond this, great work!!! thx Josh

Edit: dranken TYPO
  • Last Edit: 10 October, 2006, 04:40:54 PM by madoka@ex-sounds
<name>madoka</name>
<uri>http://codecs.ex-sounds.net/</uri>

  • Egor
  • [*][*][*][*][*]
FLAC 1.1.3 beta1 available
Reply #10
reference libFLAC 1.1.3-beta1 20061010 -> 8,983,544 Bytes (8.57 MB)
reference libFLAC CVS 20060425 -> 8,961,400 Bytes (8.55 MB)

1.1.2CVS is win

(new!  ) 1.1.3 uses 64k padding for audio longer than 20 min , and 8k padding for shorter samples, this may be the reason. Try removing all tags and metadata and then see the filesize difference...

  • skelly831
  • [*][*][*][*][*]
  • Members (Donating)
FLAC 1.1.3 beta1 available
Reply #11
wooyay! thanks Josh!
we was young an' full of beans

  • Wombat
  • [*][*][*][*][*]
FLAC 1.1.3 beta1 available
Reply #12
Nice news

--best plays fine on my Squeezebox. Size is nearly the same as Garfs 1.1.2.1 build but somewhat bigger than flake -11
Is troll-adiposity coming from feederism?

  • TBeck
  • [*][*][*][*][*]
  • Developer
FLAC 1.1.3 beta1 available
Reply #13
I don't know, if this is the right place to post some compression results...

Participiants:

FLAC  1.1.2
FLAC  1.1.3  file flac-1.1.3-beta1-win.zip from sourceforge.
Flake 0.10    file flake-0.10-win32-i686.zip from sourceforge.

I have set the padding size for FLAC 1.1.3 to 4096 (-P 4096) to avoid an artifical compression penality compared to 1.1.2.

Test system:

P3-800 with a (slow) 40 GB HD.

Code: [Select]
            FLAC    FLAC  |  Flake |
            1.1.2   1.1.3 |  0.10  |
            -8      -8    |  -8    |
--------------------------+--------+
rw                        |        |
Ratio:      59.54   59.05 |  59.06 |
EncoTime:  280.47  285.75 | 133.57 |
--------------------------+--------+
songs                     |        |
Ratio:      51.35   50.61 |  50.27 |
EncoTime:  185.51  188.79 |  86.14 |
--------------------------+--------+
sh_2444                   |        |
Ratio:      60.28   59.59 |        |
EncoTime:   96.54   95.70 |        |
--------------------------+--------+
sh_2496                   |        |
Ratio:      57.92   56.21 |        |
EncoTime:  184.58  170.96 |        |
--------------------------+--------+

Ratio is the compression ratio in percent, EncoTime the duration of encoding in seconds.

For the test sets:

"rw" contains 46 files from http://www.rarewares.org/test_samples/.
"songs" contains CD-Ripps of the beginning of some songs.
"sh_2444" contains 5 files with 24 bit and 44 or 48 Khz.
"sh_2496" contains 6 files with 24 bit and 96 Khz.

Some remarks

Nice improvements for the first two sets. Contrary to my expectation, even "songs" (a set with slowly changing signal characteristics) benefited significantly from the optimizations of the compression efficiency.

And big surprise: Considerable improvements even for high resolution audio, especially for 24 bit / 96 KHz!

Congratualations!

  • jcoalson
  • [*][*][*][*][*]
  • Developer
FLAC 1.1.3 beta1 available
Reply #14
Just a cosmetic difference: Encoding with option -V, Flac 1.1.2 outputs "Verify OK"  V1.1.3b1 don't.

thanks, fixed in CVS.

Some remarks

Nice improvements for the first two sets. Contrary to my expectation, even "songs" (a set with slowly changing signal characteristics) benefited significantly from the optimizations of the compression efficiency.

And big surprise: Considerable improvements even for high resolution audio, especially for 24 bit / 96 KHz!

that is a nice surprise.  thanks for the info, I don't have much 24bit material to test with.  also, as you have already found, there are simple improvements to FLAC that can increase the compression further for hi-res samples but I didn't want to delay the release any further for them.

Josh

  • spies
  • [*][*]
  • Members (Donating)
FLAC 1.1.3 beta1 available
Reply #15
I am having trouble creating binaries of FLAC 1.1.3 beta1 on Mac OS X.
I am running a 500 MHz G4 with system 10.4.8 and xcode tools 2.4.
Running ./configure on the FAC 1.1.3 beta1 directory, the terminal
spits this out after a while
Code: [Select]
checking for gas... no
/usr/libexec/gcc/darwin/ppc/as: I don't understand '-' flag!
Apple Computer, Inc. version cctools-622.3.obj~2, GNU assembler version 1.38
and then freezes. Works fine on the FLAC 1.1.2 directory.
Any suggestions would be appreciated. I would really like to try 1.1.3 beta1.
Keep in mind that I am fairly inexperienced when it comes to compiling.
Of course a location where I can get Mac OS X binaries would be great too!

  • jcoalson
  • [*][*][*][*][*]
  • Developer
FLAC 1.1.3 beta1 available
Reply #16
yeah, I have not tried building it on my ibook yet so the tests for the assembler must not be up to date.

I think you can get past this problem by deleting line 22818 in configure:

Code: [Select]
test "$AS" = "as" && as --version | grep GNU >/dev/null && AS=gas

  • ffooky
  • [*][*][*][*]
FLAC 1.1.3 beta1 available
Reply #17
yeah, I have not tried building it on my ibook yet so the tests for the assembler must not be up to date.

I think you can get past this problem by deleting line 22818 in configure:

Code: [Select]
test "$AS" = "as" && as --version | grep GNU >/dev/null && AS=gas


Doesn't do the trick (on my Intel iMac at least).

  • sshd
  • [*][*][*]
FLAC 1.1.3 beta1 available
Reply #18
I get the following warning message on a 192/24/2 wave file created with wvunpack 4.2. Might not be a problem with flac, but thought I should mention it anyway.

options: --lax -P 8192 -b 4608 -m -l 8 -q 0 -r 3,3
02 The Carter Family.wav: WARNING: legacy WAVE file has format type 1 but bits-per-sample=24

  • Egor
  • [*][*][*][*][*]
FLAC 1.1.3 beta1 available
Reply #19
I get the following warning message on a 192/24/2 wave file created with wvunpack 4.2. Might not be a problem with flac, but thought I should mention it anyway.

options: --lax -P 8192 -b 4608 -m -l 8 -q 0 -r 3,3
02 The Carter Family.wav: WARNING: legacy WAVE file has format type 1 but bits-per-sample=24

This is because your 24-bit audio is in WAVEFORMATEX instead of WAVEFORMATEXTENSIBLE.

WAVEFORMATEX does only support 8 and 16 bit resolutions, while some applications (like foobar2000) do use non-standard values.

See also [a href='index.php?showtopic=49191']WAVEFORMATEXTENSIBLE, output wav files[/a] topic.

  • probedb
  • [*][*][*][*][*]
FLAC 1.1.3 beta1 available
Reply #20
Does this include the Winamp plugin, and has this been updated to use the Media Library yet or do I still need to install the patched 1.12 I have?

Excellent work btw

  • jaybeee
  • [*][*][*][*]
FLAC 1.1.3 beta1 available
Reply #21
Quote
flac now supports FLAC as input to the encoder (i.e. can re-encode FLAC to FLAC) and preserve all the metadata like tags, etc.
^^ Excellent stuff Josh.

And of course the rest of it.
FLAC has always been my lossless format of choice. Glad to see there's still enhancements being made.

  • spoon
  • [*][*][*][*][*]
  • Administrator
FLAC 1.1.3 beta1 available
Reply #22
>WAVEFORMATEX does only support 8 and 16 bit resolutions, while some applications (like foobar2000) do use non-standard values.

Not technically true, Microsoft says an extensible should be used, not that is must be used. Programs were creating 24 bit wave files long before extensible was invented.

  • aharden
  • [*][*]
FLAC 1.1.3 beta1 available
Reply #23
I have some 24/96/6ch music content that I had compressed with FLAC 1.1.2 level 8.  Recompressing a 2 minute, 44 second track with 1.1.3b1 level 8, I got the following results:

PCM:
Bit Rate: 13824 kbps
File Size: 283 392 044 bytes

FLAC 1.1.2:
Bit Rate: 8938 kbps
File Size: 183 225 838 bytes
Comp %: 64.7

FLAC 1.1.3b1:
Bit Rate: 8545 kbps
File Size: 175 164 660 bytes
Comp %: 61.8

FLAC 1.1.3b1 improved compression by almost 3% on this material.

Thanks for the update, Josh!
  • Last Edit: 11 October, 2006, 08:57:55 AM by aharden
Alex Harden * http://alexharden.org

  • Speek
  • [*][*][*][*]
FLAC 1.1.3 beta1 available
Reply #24
After installing FLAC 1.1.3 beta1 on Slackware (gcc 3.4.6) I tried recompiling vorbis-tools 1.1.1, but I get this error:
Code: [Select]
easyflac.o(.text+0x547): In function `EasyFLAC__init':
: undefined reference to `OggFLAC__stream_decoder_init'
easyflac.o(.text+0x1e1): In function `EasyFLAC__set_read_callback':
: undefined reference to `OggFLAC__stream_decoder_set_read_callback'
easyflac.o(.text+0x1f4): In function `EasyFLAC__set_read_callback':
: undefined reference to `FLAC__stream_decoder_set_read_callback'
easyflac.o(.text+0x221): In function `EasyFLAC__set_write_callback':
: undefined reference to `OggFLAC__stream_decoder_set_write_callback'
easyflac.o(.text+0x234): In function `EasyFLAC__set_write_callback':
: undefined reference to `FLAC__stream_decoder_set_write_callback'
easyflac.o(.text+0x261): In function `EasyFLAC__set_metadata_callback':
: undefined reference to `OggFLAC__stream_decoder_set_metadata_callback'
easyflac.o(.text+0x274): In function `EasyFLAC__set_metadata_callback':
: undefined reference to `FLAC__stream_decoder_set_metadata_callback'
easyflac.o(.text+0x2a1): In function `EasyFLAC__set_error_callback':
: undefined reference to `OggFLAC__stream_decoder_set_error_callback'
easyflac.o(.text+0x2b4): In function `EasyFLAC__set_error_callback':
: undefined reference to `FLAC__stream_decoder_set_error_callback'
easyflac.o(.text+0x2dd): In function `EasyFLAC__set_client_data':
: undefined reference to `OggFLAC__stream_decoder_set_client_data'
easyflac.o(.text+0x2ec): In function `EasyFLAC__set_client_data':
: undefined reference to `FLAC__stream_decoder_set_client_data'
easyflac.o(.text+0x56a): In function `EasyFLAC__init':
: undefined reference to `FLAC__stream_decoder_init'
collect2: ld returned 1 exit status
make[2]: *** [ogg123] Error 1
make[2]: Leaving directory `/tmp/vorbis-tools-1.1.1/ogg123'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/vorbis-tools-1.1.1'
make: *** [all] Error 2

Any idea what this is about?

Also when compiling mpd (music player daemon) I get an error:
Code: [Select]
In file included from inputPlugins/_flac_common.c:26:
inputPlugins/_flac_common.h:33:42: FLAC/seekable_stream_decoder.h: No such file or directory
In file included from inputPlugins/_flac_common.c:26:
inputPlugins/_flac_common.h:57: error: syntax error before "FLAC__StreamDecoderErrorStatus"
inputPlugins/_flac_common.c:190: warning: type defaults to `int' in declaration of `FLAC__StreamDecoderErrorStatus'
inputPlugins/_flac_common.c:190: error: syntax error before "status"
inputPlugins/_flac_common.c:192: warning: no previous prototype for 'flac_error_common_cb'
inputPlugins/_flac_common.c: In function `flac_error_common_cb':
inputPlugins/_flac_common.c:193: error: `data' undeclared (first use in this function)
inputPlugins/_flac_common.c:193: error: (Each undeclared identifier is reported only once
inputPlugins/_flac_common.c:193: error: for each function it appears in.)
inputPlugins/_flac_common.c:196: error: `status' undeclared (first use in this function)
inputPlugins/_flac_common.c:197: error: `FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC' undeclared (first use in this function)
inputPlugins/_flac_common.c:198: error: `plugin' undeclared (first use in this function)
inputPlugins/_flac_common.c:200: error: `FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER' undeclared (first use in this function)
inputPlugins/_flac_common.c:203: error: `FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH' undeclared (first use in this function)
make[3]: *** [mpd-_flac_common.o] Error 1
make[3]: Leaving directory `/tmp/mpd-0.12.1/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/mpd-0.12.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/mpd-0.12.1'
make: *** [all] Error 2

Looks like a headerfile is missing?
  • Last Edit: 11 October, 2006, 10:07:36 AM by Speek