View Single Post
Old 18th June 2011, 08:45   #2  |  Link
TDiTP_
Registered User
 
Join Date: Jul 2010
Location: Siberia
Posts: 50
II. AC3 decoders comparison.

Arrangement:
Code:
Encoding WAV (PCM) to AC3 — DolbyEncoder (SFSE 1.0). Preprocessing was disabled, DRC="none", DN=-31dB.
Decoding AC3 to WAV (PCM):
  1. Azid 1.9. Output is represented in 24-bit int. azid -d1/0 -oc -F wav24 input.ac3 output.wav azid -d2/0 -ol,r -F wav24 input.ac3 output.wav azid -d3/2 -L0 -l1 -ol,r,c,lfe,sl,sr -F wav24 input.ac3 output.wav
  2. liba52. Using NicAudio 2.0.4 / BeHappy as frontend. Downsampling from 32-bit FP to 24-bit Int without dithering.
  3. libav. Using eac3to 3.24. Output is represented in 24-bit int (default). eac3to input.ac3 output.wavs -libav -no2ndpass
  4. Nero7. Using eac3to 3.24. Output is represented in 24-bit int (default). eac3to input.ac3 output.wavs -nero
  5. Nero9. DirectShow's graph: "AC3File → Nero Audio Decoder 2 → Wav Dest → File Writer" was built in GraphEdit. Decoder is taken from "Nero 9 ShowTime 5.2.12.0". Output is represented in 24-bit int.
  6. CyberLink. DirectShow's graph: "AC3File → CyberLink Audio Decoder (PDVD10) → Wav Dest → File Writer" was built in GraphEdit. Decoder is taken from "PowerDVD 10 Mark II 10.0.2325.51". Output is represented in 16-bit int. I could not turn off the forced mixing to 2.0 inside DS-filter.
  7. Sonic. DirectShow's graph: "Haali Media Splitter → Sonic Cinemaster Audio Decoder 4.3.0 → Wav Dest → File Writer" was built in GraphEdit. Decoder is taken from "Sonic Audio Decoder (4.3.0.169)". Output is represented in 16-bit int. Decoder has a feature: it always increases the amplitude in ~1,5 times (i.e. +3,54 dB). To be able to compare the WAV with the others, after each decoding level accounted for accurately calculate and understate, it was done very accurately using CopyAudio.
  8. ArcSoft. DirectShow' graph: "File Source (Async.) → ArcSoft MPEG Demux → ArcSoft Audio Decoder HD → Wav Dest → File Writer" was built in GraphEdit. Decoder is taken from "ArcSoft TotalMedia Theatre 3.0.1.190". Output is represented in 16-bit int. I could not turn off the forced mixing to 2.0 inside DS-filter.
  9. Sonic Foundry Soft Encode 1.0 (SFSE). Internal decoder was used.
Nero, CyberLink, Sonic and ArcSoft manufactures has been licensed by Dolby Laboratories. SNR measurement (bigger is better) — CompAudio Spectrograms — Sound Forge, Sox.
Results:
Code:
I. Scheme 1.0.
Two different samples were encoded to AC3 96kbps and then were decoded. Source t2.wav was obtained from source t1.wav through the low-pass filter (16kHz).  Download test1, Download test2.
  1. Average frequency spectrograms: Graphs test1, Graphs test2
  2. Time-frequency spectrograms: Graphs test1, Graphs test2 As you can see from two type of graphs, frequency response: liba52 = azid = sfse = cyberlink ≠ libav = nero7 = nero9 = sonic = arcsoft.
  3. SNR: _____________________________________ | SNR (t1), dB | SNR (t2), dB | | Azid | 24.080 | 27.113 liba52 | 24.082 | 27.092 SFSE | 24.076 | 27.072 CyberLink | 24.076 | 27.072 | | libav | 24.256 | 27.340 nero7 | 24.263 | 27.371 nero9 | 24.237 | 27.335 Sonic | 24.237 | 27.335 ArcSoft | 24.224 | 27.320 _____________________________________
As you can see, decoders can be divided into two groups: "A" - liba52, azid, sfse, cyberlink. "B" - libav, nero7, nero9, sonic, arcsoft. - frequency response of "A" is closer to source than frequency response of "B" (downturn of high frequencies). - SNR for "B" is a little more than for "A". Look at the effect of bitrate. Source t3.wav was encoded to AC3 96, 128 and 192 kbps. Streams were decoded and results are shown in the example of two representatives of groups: libav and liba52 (otherwise too many pictures). Download test3.
  1. Average frequency spectrograms: Graphs test3.
  2. Time-frequency spectrograms: Graphs test3.
  3. SNR: ______________________ | SNR (t3), dB | 96_liba52 | 29.800 96_libav | 29.895 | 128_liba52 | 36.751 128_libav | 36.802 | 192_liba52 | 48.215 192_libav | 48.375 ______________________
Again all decoders can be divided into two same groups. - Again, "B" have a high-frequency decline (usually 13-17 kHz). But! At this sample we can see new thing - "A" have a high-frequency increase relative to the source. - Again, SNR for "B" is a little more than for "A". - frequency response for "A" does not depend on the bitrate. Frequency response for "B" depend on the bitrate of AC3. II. Scheme 2.0. Again all decoders can be divided into two same groups (Dualmono and Stereo were tested). A total of four samples were tested, you can download test4. Source t4.wav was encoded to AC3 192 kbps and then was decoded.
  1. Average frequency spectrograms: Graphs test4.
  2. Time-frequency spectrograms: Graphs test4.
  3. SNR: _______________________________________ | SNR (FL), dB | SNR (FR), dB | | liba52 | 22.335 | 21.761 Azid | 22.334 | 21.757 CyberLink | 22.341 | 21.754 SFSE | 22.33 | 21.761 | | libav | 22.421 | 21.796 nero7 | 21.697 | 21.028 nero9 | 21.687 | 21.028 Sonic | 21.687 | 21.028 ArcSoft | 22.480 | 21.888 _______________________________________
I. Scheme 5.1. Again all decoders can be divided into two same groups. A total of two samples were tested, you can download test5. Source t5.wav was encoded to AC3 448 kbps and then was decoded (i wasn't able to test ArcSoft and Cyberlink because I could not turn off the forced mixing to 2.0 inside DS-filter). Results are shown in the example FC-channel, for other speakers all the same.
  1. Average frequency spectrograms: Graphs test5.
  2. Time-frequency spectrograms: Graphs test5.
  3. SNR: ______________________________________________________________________ | SNR(FC) | SNR(FL) | SNR(FR) | SNR(SL) | SNR(SR) | SNR (LFE) | | | | | | liba52 | 29.802 | 29.908 | 30.930 | 28.610 | 30.533 | 32.338 Azid | 29.847 | 29.906 | 30.928 | 28.612 | 30.535 | 32.338 SFSE | 29.771 | 29.909 | 30.930 | 28.615 | 30.536 | 32.336 | | | | | | libav | 30.192 | 29.942 | 30.918 | 28.608 | 30.520 | 32.338 nero7 | 30.221 | 29.942 | 30.954 | 28.678 | 30.579 | 32.338 nero9 | 30.192 | 29.941 | 30.954 | 28.680 | 30.580 | 32.338 Sonic | 30.192 | 29.939 | 30.952 | 28.674 | 30.577 | 32.331 ______________________________________________________________________
Conclusions:

Tested decoders can be divided into two groups:

"A" - liba52, azid, sfse, cyberlink.
"B" - libav, nero7, nero9, sonic, arcsoft. UPD: internal decoder of "SurCode for Dolby Digital® 5.1 Encoder and Decoder" was tested. It's belongs to "B".

1). Frequency response of "A" is closer to source than frequency response of "B" (downturn of high frequencies, usually after 13-17 kHz). It's very strange for a predetermined process!
2). There are differences in SNR between decoders (and between groups) but in general they can be considered negligible (i think).

Last edited by tebasuna51; 7th December 2012 at 09:04.
TDiTP_ is offline   Reply With Quote