PDA

View Full Version : nero vs libav quality for eac3 decode


scott1256ca
13th March 2009, 00:25
I am primarily going to use eac3to to convert dolby digital + (which I presume is e-ac3???) to xxx (doesn't matter for now what xxx is).
eac3to decodes my first sample fine using libav. My question is, how much quality do I give up by decoding with libav vs. nero? I have no love for nero and don't really want to install it, plus the hd-dvd blu-ray plugin is no longer available.

Does nero do a more accurate decode most or all of the time, or does it just handle some encodes that libav doesn't?

Thanks

Inspector.Gadget
13th March 2009, 00:29
Since EAC3 isn't lossless, and logically you'd only be transcoding it to another lossy format, why not try an ABX test using foobar2000 and its ABX plugin? Decide for yourself if it makes a difference.

menno
13th March 2009, 00:39
Nero has been certified by Dolby, so at least with that you will be sure that it outputs what Dolby intended. The best way to test is to decode with both and compare the output. If the difference is big try listening if you can hear that difference (if you are willing to accept any difference). If you can't hear the difference, no problems with using either of the two.

LoRd_MuldeR
13th March 2009, 01:32
I wonder: Why do you suspect libavcodec to give worse quality output compared to Nero?

Any "Dolby Digital" (aka "AC-3", aka "A/52") decoder will give 100% identical output, unless it is broken in some way.
So there isn't a more or less accurate decode. There only is a "correct" decode and an "incorrect" decode.
This again leads to the question: Why do you suspect libavcodec's "Dolby Digital" decoder to not decode correctly?

(BTW: Your presumption is wrong. "E-AC3" would be "Dolby Digital Plus" aka "DD+")

Dark Shikari
13th March 2009, 01:52
I wonder: Why do you suspect libavcodec to give worse quality output compared to Nero?

Any "Dolby Digital" (aka "AC-3", aka "A/52") decoder will give 100% identical outputIncorrect, due to floating point rounding and such.

Not like it matters except for making regression testing more annoying.

LoRd_MuldeR
13th March 2009, 02:54
Okay. But such floating point rounding errors will happen in any decoder.

So if the results from two different AC3 decoders differ very slightly (because of rounding), you can't infer that one is more/less "accurate" than the other one...

kypec
13th March 2009, 07:04
(BTW: Your presumption is wrong. "E-AC3" would be "Dolby Digital Plus" aka "DD+")
I think you've misread OP's post somehow...There is clearly written dolby digital + in his very first sentence.:confused:

scott1256ca
13th March 2009, 07:26
thank you for your responses.
1. the reason I don't ab test for myself is that I don't have access to nero 7.8.5 with the plugin. I could probably get it, but there isn't much point in hunting a copy down if libav does the same job. I wish comparing the two were easier :)

2. Yes I short handed by writing "Dolby Digital +" instead of "Dolby Digital Plus"

3. I asked if there was a difference because the eac3to thread said to get Nero for the "best" output (I wanted to quote it but all I am getting now is page load errors). Does "best" mean "more accurate output" or "less buggy" or "recognizes more inputs"? If it was ac3 decoding I'd expect little diff. but libav could have reverse engineered eac3 decodes and may still not be making correct decisions in all cases, were as Nero, since it is licenced shouldn't have that problem. If the only difference is floating point rounding errors that only affect the least significant bit or two in 24 bit samples, I wouldn't care. If it affects the least significant bit or two in 12 bit samples, I care (not that I expect 12 bit samples, just an example of what could be wrong).

edit:
ok, finally got it
For best AC3, E-AC3 and AAC decoding you need:
(1) Nero 7 (Nero 8 won't work!)
(2) Nero HD DVD / Blu-Ray plugin

Thanks again

madshi
13th March 2009, 08:13
menno is right, of course. The main reason for Nero being the preferred decoder in eac3to is that it's a Dolby reference decoder, so you can trust in that the output is exactly what it should be. With libav you can't be sure, although I haven't found any noticeable differences in some quick tests I've done. libav does not work yet on some rare tracks which are using special features of E-AC3, while Nero has always worked for me. But if libav works, it's output seems to be similar to Nero.

Unfortunately in the latest Nero version E-AC3 decoding doesn't seem to be supported, anymore (or am I wrong, menno?). That is probably because HD DVD is practically dead and E-AC3 is usually only used for some rare secondary audio tracks on Blu-Ray. As a result you will have to get a Nero 7 license and an additional HD DVD/Blu-Ray plugin license. The latter might be hard to get because it's not officially for sale by Nero, anymore. Maybe Nero support can help, if you still need to buy it somehow.

I've been told that Windows 7 will include an E-AC3 decoder. If that is the case, I'll probably add support for that in eac3to sooner or later...

ACrowley
13th March 2009, 10:04
menno is right, of course. The main reason for Nero being the preferred decoder in eac3to is that it's a Dolby reference decoder, so you can trust in that the output is exactly what it should be. With libav you can't be sure, although I haven't found any noticeable differences in some quick tests I've done. libav does not work yet on some rare tracks which are using special features of E-AC3, while Nero has always worked for me. But if libav works, it's output seems to be similar to Nero.

Unfortunately in the latest Nero version E-AC3 decoding doesn't seem to be supported, anymore (or am I wrong, menno?). That is probably because HD DVD is practically dead and E-AC3 is usually only used for some rare secondary audio tracks on Blu-Ray. As a result you will have to get a Nero 7 license and an additional HD DVD/Blu-Ray plugin license. The latter might be hard to get because it's not officially for sale by Nero, anymore. Maybe Nero support can help, if you still need to buy it somehow.

I've been told that Windows 7 will include an E-AC3 decoder. If that is the case, I'll probably add support for that in eac3to sooner or later...

Mh, no.
Nero Showtime can decode EAC3 without Problems.
And the Nero Filters/Decoders are not restricted anymore.
It works in any Dshow Player, also with DD+

I will test it again when im at Home, but Showtime Player supports EAc3 for sure.

scott1256ca
13th March 2009, 14:13
Thanks for the further replies. As long as libav continues to work then I won't bother with nero. My goal is to be able to play them on a ps3 as an avchd struct, and I'll probably re-encode with DTS, so a little difference won't matter anyhow since there will be some changes by converting. But I may not use DTS, which is partly why I asked.

LoRd_MuldeR
13th March 2009, 14:48
I think you've misread OP's post somehow...There is clearly written dolby digital + in his very first sentence.:confused:

You are right. I missed the "+" char, my mistake :o

Anyway, all that was said basically applies to "Dolby Digital Plus" (E-AC3) as well:

Any E-AC3 decoder should give identical output (aside from unavoidable rounding errors), unless it's broken in some way.
Unless there's a specific reason why libavcodec's E-AC3 decoder is broken, its quality will be no worse (or better) than Nero's decoder.
So still the question: Why does the OP presume libavcodec's E-AC3 decoder to be broken?

madshi
13th March 2009, 18:38
Any E-AC3 decoder should give identical output (aside from unavoidable rounding errors), unless it's broken in some way.
I'm not sure if I agree with that. E.g. IIRC libav decodes to a slightly higher volume compared to Nero. I've not studied the AC3 specification, so I don't know for sure whether what libav is doing is "wrong", or just a different valid interpretation of the spec. Anyway, there are bigger differences than just rounding. BTW, simple rounding is the wrong thing to do, anyway. In audio processing you should use dithering.

LoRd_MuldeR
13th March 2009, 18:55
If one decoder sounds "louder" than another one, then it's probably applying some kind of dynamic range compression.

Also different volumes may very well be the result of different post-processing of the decoded data, it's not necessarily an effect of the decoder itself.

Still this doesn't indicate that one decoder is "better" than the other one. Subjectively people may prefer the "louder" decoder through...

madshi
13th March 2009, 19:31
If one decoder sounds "louder" than another one, then it's probably applying some kind of dynamic range compression.

Also different volumes may very well be the result of different post-processing of the decoded data, it's not necessarily an effect of the decoder itself.
There is no dynamic range compression going on. Neither in libav nor in Nero. There is also no post processing - except dithering floating point samples down to integer (which does not change volume).