Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Comparing output sample by sample (Read 5090 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Comparing output sample by sample

Shouldn't I get the exact same output when decoding a AAC file with two correct implemented decoders? I'm comparing foobar2000 and VLC output in Audacity and it is not the same.




Comparing output sample by sample

Reply #1
This is normal for decoders of lossy formats.

Comparing output sample by sample

Reply #2
If you set both decoders to exactly the same output gain and dither settings (if configurable), turn off any equalizers, and compensate for any delay differences (leading zero-samples), the output should not differ by more than 1 or 2 LSB (less than -80 dBFS), at least for AAC-LC. Otherwise, one of the two decoders doesn't conform exactly to the AAC standard.

For comparison, and as a reference, you can for example decode with the nero decoder (neroAacDec.exe).

Chris
If I don't reply to your reply, it means I agree with you.


Comparing output sample by sample

Reply #4
Shouldn't I get the exact same output when decoding a AAC file with two correct implemented decoders? I'm comparing foobar2000 and VLC output in Audacity and it is not the same.

Depending on how dither is implemented, you may not get identical results even if you decode twice with the same decoder.

Comparing output sample by sample

Reply #5
Quote
Note that special tests are defined for PNS testing. It should
be obvious that a sample by sample comparison is meaningless if random
generators are used on decoder site.


Comparing output sample by sample

Reply #6
but how do we test a decoder implementation then?

Comparing output sample by sample

Reply #7
but how do we test a decoder implementation then?


Same way as you measure any signal processing component ever. Compare the error verses a reference implementation and check that its within acceptable thresholds.