Help - Search - Members - Calendar
Full Version: Audio encoders encoding performance test
Hydrogenaudio Forums > Hydrogenaudio Forum > General Audio
optimus
The test is performed with MediaCoder, the free universal audio/video transcoder.
MediaCoder can use MPlayer, Winamp input plugins or Lame as audio decoder (it decodes audio from both audio files or video files) and encode to various formats by pushing audio samples to various encoder backends.

Hardware Environment:

* CPU: Intel Core2 E6300 @ 2.1Ghz
* Motherboard: Gigabyte GA965P
* Memory: 1G DDR2 667 x 2
* Hard Drive: Western Digital Caviar SE16 KS 250G (SATA2)
* Display Adapter: GeForce 7300GT

The original file format is FLAC 44.1KHz/Stereo @948Kbps.

CODE
Encoding Speed                  
(playtime 1x)    Target Format
------------------------------------------------------------------------------------
119.0x            IMA ADPCM / FFmpeg
64.8x            MP3 / HelixMP3
54.3x            WavPack (Best Compression) / WavPack Compressor (@929 Kbps)
47.6x            MPEG-4 ALS / ALS Reference Codec (@940kbps)
42.0x            AC-3 / FFmpeg
40.6x            HE-AAC v2 / Nero 1.1.34.2
38.3x            WMA 9 / Windows Media Format SDK
34.6x            WMA 8 / FFmpeg
34.3x            HE-AAC v2 / CT AAC+ Encoder
33.6x            WMA 7 / FFmpeg
32.9x            HE-AAC / CT AAC+ Encoder
31.3x            Speex / Speex Encoder (44.1khz->16khz on-the-fly resampler applied)
31.0x            LC-AAC / CT AAC+ Encoder
28.0x            FLAC (Compression = 8)/ FLAC Encoder (@948kbps)
24.5x            HE-AAC / Nero 1.1.34.2
24.4x            MusePack / MPC Encoder
23.6x            Vorbis / OggEnc 2.83 Lancer SSE3
23.6x            Vorbis / OggEnc 2.83 Lancer SSE2
23.5x            Vorbis / OggEnc 2.83 Lancer SSE
23.2x            LC-AAC / Nero 1.1.34.2
22.4x            APE (Extra High) / Monkey's Audio (@906kbps)
20.1x            MP3 / LAME 3.98a5
18.5x            Speex / Speex Encoder (44.1khz->32khz on-the-fly resampler applied)
17.5x            LC-AAC / FAAC 1.25
16.3x            Vorbis / OggEnc 2.84 aoTuVb5
15.4x            Vorbis / OggEnc 2.84 original

* MediaCoder uses separate processes for decoding and encoding audio which makes dual-core processors a little better utilized.

MediaCoder (including the Audio Edition) can be freely downloaded here. You can also transcode audio track from most popular video formats directly with MediaCoder.



EDIT1: modify Speex benchmark, add original OggEnc benchmark and sort the results
EDIT2: add final bitrate info for lossless encoding
kwanbis
here it is sorted.

CODE
119 x IMA ADPCM / FFmpeg
64.8x MP3 / HelixMP3
54.3x WavPack (Best Compression) / WavPack Compressor
47.6x MPEG-4 ALS / ALS Reference Codec
42.0x AC-3 / FFmpeg
40.6x HE-AAC v2 (Nero 1.1.34.2)
38.3x WMA 9 / Windows Media Format SDK
34.6x WMA 8 / FFmpeg
34.3x HE-AAC v2 / CT AAC+ Encoder
33.6x WMA 7 / FFmpeg
32.9x HE-AAC / CT AAC+ Encoder
31.0x LC-AAC /CT AAC+ Encoder
28.0x FLAC (Compression = 8)/ FLAC Encoder
24.5x HE-AAC (Nero 1.1.34.2)
24.4x MusePack / MPC Encoder
23.7x Vorbis / OggEnc 2.83 Lancer SSE3MT
23.6x Vorbis / OggEnc 2.83 Lancer SSE3
23.6x Vorbis / OggEnc 2.83 Lancer SSE2
23.5x Vorbis / OggEnc 2.83 Lancer SSE
23.2x LC-AAC (Nero 1.1.34.2)
22.4x APE (Extra High) / Monkey's Audio
20.1x MP3 / LAME 3.98a5
17.5x LC-AAC (FAAC 1.25)
16.3x Vorbis / OggEnc 2.84 aoTuVb5
14.0x Speex / Speex Encoder
senab
It'd be interesting to see the Vorbis Lancer build in this test aswell wink.gif

http://homepage3.nifty.com/blacksword/index_e.htm
optimus
QUOTE (kwanbis @ Sep 28 2007, 00:07) *
here it is sorted.

Thanks for sorting. wink.gif

CODE
23.7x       Vorbis / OggEnc 2.83 Lancer SSE3MT
23.6x       Vorbis / OggEnc 2.83 Lancer SSE3
23.6x       Vorbis / OggEnc 2.83 Lancer SSE2
23.5x       Vorbis / OggEnc 2.83 Lancer SSE
DARcode
"WavPack (Best Compression)" faster'n LAME and Vorbis?
Which switches exactly pls?
sld
Weird, my Core Duo @ 1.8GHz runs the SSE3MT Lancer Vorbis encode at 39x. There is definitely a bottleneck somewhere.
uart
QUOTE (sld @ Sep 28 2007, 01:10) *
Weird, my Core Duo @ 1.8GHz runs the SSE3MT Lancer Vorbis encode at 39x. There is definitely a bottleneck somewhere.


I guess you're encoding from wav. As the OP said "The original file format is FLAC 44.1KHz/Stereo @948Kbps", so I suppose there's some decoding overhead in all those figures. Encoding from wav would have made a better comparison IMHO.
Aoyumi
The test results in my environment(Athlon64 X2 3800+ (2GHz) / DDR400 *2).

CODE
14.9517x oggenc2 V2.84 aoTuV b5 P3/AMD
34.7359x oggenc2 V2.83 lancer20061110 SSE3
45.4199x oggenc2 V2.83 lancer20061110 SSE3+MT

biggrin.gif

PS: Original file is ".WAV"(44.1kHz /16bit/2ch).
[JAZ]
Yeah.... I believe there are several numbers that look strange in that list, including the wide difference between FLAC -8 and wavpack.
wisodev
My results smile.gif

File: WAV 44.1kHz 16bit 2ch (4m35s)
CPU: Athlon64 X2 3600+ @2400Mhz (3GB DDR2@800MHz)

CODE
193.44x aften 0.0.8 (wisodev win32 build) (options: -fba 1 -fes 1)
155.76x aften 0.0.8 (wisodev win32 build) (options: default)
96.21x flac 1.2.0 (icl) (options: default)
45.97x oggenc2 2.83 (sse3mt lancer20061110) (options: default)
27.72x mpcenc SV8 beta (options: default)
18.38x neroAacEnc.exe 1.1.34.2 (options: default)
15.43x lame 3.85 beta 5 (rarewares.org) (options: default)
Rotareneg
I'm not at home so I can't give exact numbers, but on my system (a Sempron 3400+ @ 2.4 GHz) the single threaded SSE3 Lancer is significantly faster than Lame.
optimus
Options used:
CODE
-y -i -q -h

No extra processing turned on of course. ;-)

QUOTE (DARcode @ Sep 28 2007, 16:12) *
"WavPack (Best Compression)" faster'n LAME and Vorbis?
Which switches exactly pls?
jmvalin
QUOTE (optimus @ Sep 28 2007, 00:40) *
The original file format is FLAC 44.1KHz/Stereo @948Kbps.

CODE
Encoding Speed                  
(playtime 1x)    Target Format
------------------------------------------------------------------------------------
...
14.0x            Speex / Speex Encoder


Please do not include Speex in these conditions. Encoding 44.1 kHz files with Speex is not recommended and even the encoder warns about it. Either down-sample to 32 kHz (or 16 kHz), or remove Speex from the test altogether.
guruboolez
My own quick test.

HARDWARE SETTINGS:
• Intel Core2Duo E6300
• MSI-7318 motherboard
• 2x512 MB DDR (533 Mhz?)
• 320 GB HDD, partitioned and defragmented

SOFTWARE SETTINGS:
• test file : 9:58.933 (26412960 samples)
• encoding GUI & speed values: foobar2000 0.9.4.5b
• encoders: see complete log files for information


NOTE:
The test is restricted to the encoders I already have on my harddrive. Three different categories of settings:
- portable bitrate (~130 kbps)
- ultra-high lossy bitrate (~320 kbps)
- lossless (only WavPack & FLAC)

I performed three encodings for each setting and I kept the fastest one.

Most important: these results applies for one single file encoding. One core is used (excepted for Vorbis LANCER, which is the only multithreaded audio encoder available).

RESULTS:

CODE
          FRIENDLY BITRATE

ENCODER           SPEED   BASIS¹ BITRATE
-------------------------------------------
AAC Nero          21.97x   110   129 kbps
MP3 Fraunhofer    43.75x   218   144 kbps
MP3 LAME          20.03x   100   139 kbps
MPC SV8           23.57x   118   160 kbps
Vorbis Lancer MT  72.32x   361   138 kbps
Vorbis Lancer     50.90x   254   138 kbps


          PARANOIAC BITRATE

ENCODER           SPEED   BASIS¹ BITRATE
-------------------------------------------
AAC Nero          17.77x    89   332 kbps
MP3 Fraunhofer   109.83x   548   320 kbps
MP3 LAME          17.34x    87   320 kbps
MPC SV8           21.57x   108   385 kbps
Vorbis Lancer MT  69.57x   347   312 kbps
Vorbis Lancer     48.39x   242   312 kbps
WavPack lossy     68.93x   344   343 kbps


          LOSSLESS

ENCODER           SPEED   BASIS¹ BITRATE
-------------------------------------------
FLAC -0          206.03x  1029   760 kbps
FLAC -5           99.82x   498   723 kbps
FLAC -8           29.08x   145   719 kbps
WavPack -f       126.09x   630   747 kbps
WavPack          106.19x   530   726 kbps
WavPack -h        80.87x   404   720 kbps
WavPack -hh       65.30x   326   713 kbps


¹ LAME -V5 = 100 basis (examples: Vorbis LANCER is 2.54x faster than LAME -V5 and Flac -0 is 10.29x faster than LAME -V5)




RAW DATAS:
CODE

**************************************************
* PORTABLE BITRATE *
**************************************************

••• MPC SV8 BETA ••• (--quality 4)
Total encoding time: 0:25.750, 23.25x realtime
Total encoding time: 0:25.532, 23.45x realtime
Total encoding time: 0:25.407, 23.57x realtime
bitrate : 160 kbps

••• LAME 3.98 BETA ••• (-V5)
Total encoding time: 0:29.937, 20.00x realtime
Total encoding time: 0:29.891, 20.03x realtime
Total encoding time: 0:29.922, 20.01x realtime
bitrate : 139 kbps

••• VORBIS LANCER SSE3+MT ••• (-q4)
Total encoding time: 0:08.281, 72.32x realtime
Total encoding time: 0:08.297, 72.18x realtime
Total encoding time: 0:08.313, 72.04x realtime
bitrate : 138 kbps

••• VORBIS LANCER SSE3 ••• (-q4)
Total encoding time: 0:11.796, 50.77x realtime
Total encoding time: 0:11.766, 50.90x realtime
Total encoding time: 0:11.766, 50.90x realtime
bitrate : 138 kbps

••• AAC NERO DIGITAL 1.1.3.2b ••• (-q 0.41)
Total encoding time: 0:27.656, 21.65x realtime
Total encoding time: 0:27.250, 21.97x realtime
Total encoding time: 0:27.906, 21.46x realtime
bitrate : 129 kbps

••• MP3 FRAUNHOFER SURROUND CLI ••• (-m3)
Total encoding time: 0:13.781, 43.46x realtime
Total encoding time: 0:13.766, 43.50x realtime
Total encoding time: 0:13.687, 43.75x realtime
bitrate : 144 kbps

**************************************************
* ULTRA HIGH BITRATE *
**************************************************

••• MPC SV8 BETA ••• (--quality 10)
Total encoding time: 0:27.766, 21.57x realtime
Total encoding time: 0:27.828, 21.52x realtime
Total encoding time: 0:27.782, 21.55x realtime
bitrate : 385 kbps

••• LAME 3.98 BETA ••• (CBR 320)
Total encoding time: 0:34.547, 17.33x realtime
Total encoding time: 0:34.532, 17.34x realtime
Total encoding time: 0:34.532, 17.34x realtime
bitrate : 320 kbps

••• VORBIS LANCER SSE3+MT ••• (-q9)
Total encoding time: 0:08.609, 69.57x realtime
Total encoding time: 0:08.640, 69.32x realtime
Total encoding time: 0:08.625, 69.44x realtime
bitrate : 312 kbps

••• VORBIS LANCER SSE3 ••• (-q9)
Total encoding time: 0:12.375, 48.39x realtime
Total encoding time: 0:12.375, 48.39x realtime
Total encoding time: 0:12.359, 48.46x realtime
bitrate : 312 kbps

••• AAC NERO DIGITAL 1.1.3.2b ••• (-q 0.80)
Total encoding time: 0:35.921, 16.67x realtime
Total encoding time: 0:34.047, 17.59x realtime
Total encoding time: 0:33.688, 17.77x realtime
bitrate : 332 kbps

••• MP3 FRAUNHOFER SURROUND CLI ••• (CBR 320)
Total encoding time: 0:05.453, 109.83x realtime
Total encoding time: 0:05.625, 106.47x realtime
Total encoding time: 0:05.625, 106.47x realtime
bitrate : 320 kbps

••• WAVPACK 4.42 LOSSY ••• (-b320)
Total encoding time: 0:08.718, 68.70x realtime
Total encoding time: 0:08.734, 68.57x realtime
Total encoding time: 0:08.688, 68.93x realtime
bitrate : 343 kbps


**************************************************
* LOSSLESS ENCODING *
**************************************************

••• FLAC 1.2.1 ••• (0)
Total encoding time: 0:03.203, 186.99x realtime
Total encoding time: 0:02.907, 206.03x realtime
Total encoding time: 0:02.953, 202.82x realtime
bitrate : 760 kbps

••• FLAC 1.2.1 ••• (5)
Total encoding time: 0:07.219, 82.96x realtime
Total encoding time: 0:06.125, 97.78x realtime
Total encoding time: 0:06.000, 99.82x realtime
bitrate : 723 kbps

••• FLAC 1.2.1 ••• (8)
Total encoding time: 0:20.593, 29.08x realtime
Total encoding time: 0:20.797, 28.79x realtime
Total encoding time: 0:20.704, 28.92x realtime
bitrate : 719 kbps

••• WAVPACK 4.42 ••• (f)
Total encoding time: 0:04.766, 125.66x realtime
Total encoding time: 0:04.750, 126.09x realtime
Total encoding time: 0:04.766, 125.66x realtime
bitrate : 747 kbps

••• WAVPACK 4.42 ••• {defaut}
Total encoding time: 0:05.688, 105.29x realtime
Total encoding time: 0:05.672, 105.59x realtime
Total encoding time: 0:05.640, 106.19x realtime
bitrate : 726 kbps

••• WAVPACK 4.42 ••• (h)
Total encoding time: 0:07.719, 77.59x realtime
Total encoding time: 0:07.578, 79.03x realtime
Total encoding time: 0:07.406, 80.87x realtime
bitrate : 720 kbps

••• WAVPACK 4.42 ••• (hh)
Total encoding time: 0:09.234, 64.86x realtime
Total encoding time: 0:09.266, 64.63x realtime
Total encoding time: 0:09.172, 65.30x realtime
bitrate : 713 kbps



EDIT: Vorbis LANCER (no MT) added
optimus
Thanks for the hint. Speex is re-benchmarked with resampler applied.
QUOTE (jmvalin @ Sep 29 2007, 18:09) *
Please do not include Speex in these conditions. Encoding 44.1 kHz files with Speex is not recommended and even the encoder warns about it. Either down-sample to 32 kHz (or 16 kHz), or remove Speex from the test altogether.
optimus
I found when Vorbis Lancer MT is encoding from stdin, it can't perform in multi-threading mode. This must be the cause of its performance reduce in the test with MediaCoder.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.