IPB

Welcome Guest ( Log In | Register )

Any encoders which will 'accept but crop' too high resolution , ... so that the user will notice that not all formats are equal?
Porcus
post Jan 3 2011, 17:22
Post #1





Group: Members
Posts: 1842
Joined: 30-November 06
Member No.: 38207



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.


--------------------
One day in the Year of the Fox came a time remembered well
Go to the top of the page
+Quote Post
 
Start new topic
Replies
Robertina
post Jan 4 2011, 01:19
Post #2





Group: Members
Posts: 1306
Joined: 4-January 09
Member No.: 65169



With foobar2000 1.1.1 and flac encoder 1.2.1b:
  • Source file = wav 32-bit (floating-point)
  • Output file format = flac
  • Output bit depth = either "32-bit" or "Auto"
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.
Go to the top of the page
+Quote Post
saratoga
post Jan 4 2011, 01:49
Post #3





Group: Members
Posts: 4963
Joined: 2-September 02
Member No.: 3264



QUOTE (Robertina @ Jan 3 2011, 19:19) *
With foobar2000 1.1.1 and flac encoder 1.2.1b:
  • Source file = wav 32-bit (floating-point)
  • Output file format = flac
  • Output bit depth = either "32-bit" or "Auto"
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.
Go to the top of the page
+Quote Post
Robertina
post Jan 4 2011, 03:37
Post #4





Group: Members
Posts: 1306
Joined: 4-January 09
Member No.: 65169



QUOTE (saratoga @ Jan 3 2011, 13:49) *
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?

foobar2000 v1.1.1, WavPack encoder v4.60.1
Go to the top of the page
+Quote Post
saratoga
post Jan 4 2011, 05:06
Post #5





Group: Members
Posts: 4963
Joined: 2-September 02
Member No.: 3264



QUOTE (Robertina @ Jan 3 2011, 21:37) *
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.
Go to the top of the page
+Quote Post
2Bdecided
post Jan 4 2011, 13:02
Post #6


ReplayGain developer


Group: Developer
Posts: 5138
Joined: 5-November 01
From: Yorkshire, UK
Member No.: 409



QUOTE (saratoga @ Jan 4 2011, 04:06) *
Floating point is only approximate
It's a digital file. In which way is a copy of that file "approximate"? What do you think the words "copy" and "lossless" mean in the context of binary data?

Cheers,
David.
Go to the top of the page
+Quote Post
saratoga
post Jan 4 2011, 19:55
Post #7





Group: Members
Posts: 4963
Joined: 2-September 02
Member No.: 3264



QUOTE (2Bdecided @ Jan 4 2011, 07:02) *
QUOTE (saratoga @ Jan 4 2011, 04:06) *
Floating point is only approximate
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.
Go to the top of the page
+Quote Post
lvqcl
post Jan 4 2011, 20:22
Post #8





Group: Developer
Posts: 3382
Joined: 2-December 07
Member No.: 49183



QUOTE (saratoga @ Jan 4 2011, 21:55) *
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.

It is definitely possible for 7zip or winrar.
Go to the top of the page
+Quote Post

Posts in this topic
- Porcus   Any encoders which will 'accept but crop' too high resolution   Jan 3 2011, 17:22
- - googlebot   QUOTE (Porcus @ Jan 3 2011, 17:22) The de...   Jan 3 2011, 18:41
|- - MichaelW   QUOTE (googlebot @ Jan 4 2011, 06:41) der...   Jan 3 2011, 23:15
- - googlebot   I agree that stuff like this is happening in the f...   Jan 3 2011, 23:51
- - Robertina   With foobar2000 1.1.1 and flac encoder 1.2.1b:Sour...   Jan 4 2011, 01:19
|- - saratoga   QUOTE (Robertina @ Jan 3 2011, 19:19) Wit...   Jan 4 2011, 01:49
|- - Robertina   QUOTE (saratoga @ Jan 3 2011, 13:49) Sinc...   Jan 4 2011, 01:55
|- - Robertina   QUOTE (saratoga @ Jan 3 2011, 13:49) Sinc...   Jan 4 2011, 03:37
||- - saratoga   QUOTE (Robertina @ Jan 3 2011, 21:37) Doe...   Jan 4 2011, 05:06
||- - 2Bdecided   QUOTE (saratoga @ Jan 4 2011, 04:06) Floa...   Jan 4 2011, 13:02
||- - saratoga   QUOTE (2Bdecided @ Jan 4 2011, 07:02) QUO...   Jan 4 2011, 19:55
||- - lvqcl   QUOTE (saratoga @ Jan 4 2011, 21:55) I th...   Jan 4 2011, 20:22
|||- - saratoga   QUOTE (lvqcl @ Jan 4 2011, 14:22) QUOTE (...   Jan 4 2011, 20:39
|||- - googlebot   QUOTE (saratoga @ Jan 4 2011, 20:39) I th...   Jan 5 2011, 02:00
||- - 2Bdecided   QUOTE (saratoga @ Jan 4 2011, 18:55) The ...   Jan 5 2011, 11:59
|- - Porcus   QUOTE (saratoga @ Jan 4 2011, 01:49) Sinc...   Jan 4 2011, 09:51
|- - Porcus   QUOTE (Porcus @ Jan 4 2011, 09:51) encode...   Jan 4 2011, 09:53
- - Axon   FWIW, AFAIK, neither flac.exe nor foobar2000 warns...   Jan 4 2011, 01:21
- - Robertina   Thank you for your clarification, saratoga. -----...   Jan 4 2011, 08:26
- - googlebot   I stand corrected by practice, it seems. I still ...   Jan 4 2011, 10:41
|- - Robertina   QUOTE (googlebot @ Jan 3 2011, 22:41) I s...   Jan 4 2011, 11:50
|- - lvqcl   QUOTE (Robertina @ Jan 4 2011, 13:50) I t...   Jan 4 2011, 12:27
|- - googlebot   QUOTE (Robertina @ Jan 4 2011, 11:50) I t...   Jan 4 2011, 12:27
- - Robertina   Thank you for your full answer , googlebot. QUOTE...   Jan 4 2011, 15:32
- - lvqcl   f32.wav: 32-bit floating point. CODEf32.wav: E...   Jan 4 2011, 15:48
- - lvqcl   By the way, WavPack accepts 32-bit integer files, ...   Jan 4 2011, 16:14
|- - Robertina   QUOTE (lvqcl @ Jan 4 2011, 04:14) By the ...   Jan 4 2011, 17:02
- - lvqcl   That's probably because foobar2000 converts ev...   Jan 4 2011, 17:10
- - Robertina   I am not really happy with what I have learned in ...   Jan 4 2011, 17:37
- - googlebot   32 bit float values can safely store 24 bit int sa...   Jan 4 2011, 17:50
- - googlebot   AFAIK the meaning is well defined. Just the precis...   Jan 4 2011, 20:04
- - lvqcl   Both compressing and decompressing can be performe...   Jan 4 2011, 21:11
- - Axon   Certainly doing anything meaningful with floating ...   Jan 4 2011, 21:49
- - indybrett   I recall years ago reading (on this board) about n...   Jan 4 2011, 22:22
- - lvqcl   FLAC has --keep-foreign-metadata switch: QUOTE If ...   Jan 4 2011, 22:28
|- - indybrett   QUOTE (lvqcl @ Jan 4 2011, 16:28) FLAC ha...   Jan 4 2011, 22:31
|- - greynol   QUOTE (indybrett @ Jan 4 2011, 13:31) or ...   Jan 4 2011, 22:50
- - greynol   That's not really on-topic but... It was with...   Jan 4 2011, 22:31
- - Porcus   Even though I originally asked about encoders, I d...   Jan 5 2011, 00:54
- - Axon   For that matter, IIRC, since IEEE 754 demands norm...   Jan 5 2011, 02:37
- - bryant   Id like to clarify a couple things about WavPack ...   Jan 5 2011, 21:32


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 19th September 2014 - 04:05