Q: Will all (at least all widely used) 'lossless' audio encoders abort with the appropriate error message if the user tries to feed unsupported audio? Or is there any which will discard channels, downsample, crop bits or just produce nonsense?

The reason why I ask, is that this forum fairly often gets the n00b question of whether 'lossless' is indeed lossless -- and get no more than a simple 'Yes' (or 'Yes, thread closed'). The devil in the detail is hardly ever mentioned, and most users will anyway never encounter that mismatch. But if the situation is 'in the few instances where the usual answer is inadequate, the encoder will warn the users rather than eating audio information', it would certainly be A Good Thing.

Due to the specifications of the flac format two identical 24-bit flac files are created, without an error message or a lead on the bit depth reduction. foobar's console reports: "Track converted successfully."

Conclusions:

Porcus posed a legitimate question.

It's the duty of the user to check which specifications are supported by the encoder he uses.

Due to the specifications of the flac format two identical 24-bit flac files are created, without an error message or a lead on the bit depth reduction. foobar's console reports: "Track converted successfully."

Conclusions:

Porcus posed a legitimate question.

It's the duty of the user to check which specifications are supported by the encoder he uses.

Since floating point numbers are by definition approximate, I don't think theres an expectation that processing will be lossless.

Since floating point numbers are by definition approximate, I don't think theres an expectation that processing will be lossless.

saratoga,

after my post above I began to brood over your statement and I would like to apply to you for help:

If I at first convert a 32-bit floating-point WAV to a WavPack file, then convert that wv-file back to a WAV file and compare the latter with my original wav file, foobar's Binary Comparator component says:

QUOTE

All tracks decoded fine, no differences found.

Does that result not mean that a lossless conversion of a floating-point file can be expected or is there an error in my logic?

Does that result not mean that a lossless conversion of a floating-point file can be expected or is there an error in my logic?

Floating point is only approximate, but still very accurate (particularly if your source wavpack file is relatively low precision compared to the intermediate floating point). Depending on the CPU, precision and software it may or may not give you the same result.

It's a digital file. In which way is a copy of that file "approximate"?

The ones and zeros making up a floating point file do not necessarily have a consistent meaning across different CPUs and even operating systems, and the output of identical floating point operations on different systems is not required (or even expected) to be identical. The values represented in each floating point sample are therefore literally approximations of an (unknown) true value that is not recorded.

QUOTE (2Bdecided @ Jan 4 2011, 07:02)

What do you think the words "copy" and "lossless" mean in the context of binary data?

I think lossless means you should be able to save a value and then load it latter in a machine independent manner with a guarantee that you will get an identical value out latter. I'm skeptical that this is possible for a user mode program like flac short of running it in a virtual machine or reference floating point emulator. I think the simple process of converting between different machine representations of floating point values is likely to be lossy. Although someone more familiar with IEEE754 compliance may know better then I.

I think lossless means you should be able to save a value and then load it latter in a machine independent manner with a guarantee that you will get an identical value out latter. I'm skeptical that this is possible for a user mode program like flac short of running it in a virtual machine or reference floating point emulator.