Сравнение модификаций OGG Vorbis

Дата обновления: 09 Июня 2014
2014-06-09T11:01
Audiophile's Software

Введение

На данный момент существует несколько вполне актуальных вариантов кодера OGG Vorbis. Большинство из них можно найти на RareWares. Фактически это: OggEnc, основанный на оригинальном libvorbis последней версии, модификация aoTuV (в двух вариантах — референсный venc.exe и oggenc2.exe от RareWares), а также aoTuV с элементами кода LancerMod (также от RareWares).

Кроме того существуют различные варианты компиляций вышеуказанных версий, т. е. выполненные с включением различных оптимизаций.

Чтобы внести ясность, я решил провести сравнительное тестирование всех вышеперечисленных вариантов кодера — главным образом чтобы сравнить скорость их работы на относительно новом оборудовании с поддержкой всех необходимых оптимизаций.

Оборудование и ПО

Конфигурация компьютера:
CPU: Intel Core i3 530, 2933 MHz (x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2)
RAM: 2x2Gb DDR3-1333
HDD: Hitachi SATA-II 500GB 16 MB cache
OS: Windows 7 x64 Ultimate

В тесте участвовали следующие кодеры:
Oggenc2.87 using libVorbis v1.3.4 (11.05.2014): Generic (MSVC9), P4 Only (ICL 14.0.2), x64 Only (ICL 14.0.2)
aoTuV Beta6.03 unified with libVorbis v1.3.4 (11.05.2014)
Oggenc2.87 using aoTuVb6.03 based on libvorbis 1.3.3 (04.05.2011): Generic (MSVC9), P4 Only (ICL 11.1), x64 Only (ICL 11.1)
Oggenc2.87 using aoTuVb6.03 Lancer Builds based on libvorbis 1.3.3 (04.07.2012): SSE Optimized, SSE2 Optimized, SSE3 Optimized, SSE3 Optimized, x64 Only, SSE2 Optimized (Older OS) — ICL 12.1 compiles

Кодирование производилось через командную строку, с параметром -q6 (~192 кбит/с). В качестве материала для кодирования использовался WAV образ альбома Armin van Buuren — Mirage.

Результаты

1. Libvorbis 1.3.4

1.1 Generic:

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[100,0%] [ 0m00s remaining] \|

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 3m 08,0s
Rate: 25,4409
Average bitrate: 192,8 kb/s

1.2 P4

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[100,0%] [ 0m00s remaining] \|

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 2m 03,0s
Rate: 38,8853
Average bitrate: 192,8 kb/s

1.3 x64

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[100,0%] [ 0m00s remaining] \|

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 1m 45,0s
Rate: 45,5514
Average bitrate: 192,8 kb/s

2. aoTuV 6.03b

2.1 Generic

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[100,0%] [ 0m00s remaining] /|

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 3m 23,0s
Rate: 23,5611
Average bitrate: 201,1 kb/s

2.2 P4

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[100,0%] [ 0m00s remaining] /|

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 2m 17,0s
Rate: 34,9116
Average bitrate: 201,1 kb/s


2.3 x64

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[100,0%] [ 0m00s remaining] /|

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 1m 58,0s
Rate: 40,5330
Average bitrate: 201,1 kb/s


3. aoTuV lancer

3.1 SSE

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[ 99,9%] [ 0m00s remaining] /

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 2m 01,0s
Rate: 39,5280
Average bitrate: 201,1 kb/s

3.2 SSE2

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[ 99,9%] [ 0m00s remaining] /

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 1m 52,0s
Rate: 42,7044
Average bitrate: 201,1 kb/s

3.3 SSE2 old

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[ 99,9%] [ 0m00s remaining] /

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 1m 34,0s
Rate: 50,8818
Average bitrate: 201,1 kb/s

3.4 SSE3

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[ 99,9%] [ 0m00s remaining] /

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 1m 52,0s
Rate: 42,744
Average bitrate: 201,1 kb/s

3.5 x64

Opening with wav module: WAV file reader
Encoding "1.wav" to
"1.ogg"
at quality 6,00
[ 99,9%] [ 0m00s remaining] /

Done encoding file "1.ogg"

File length: 79m 42,0s
Elapsed time: 1m 22,0s
Rate: 58,3280
Average bitrate: 201,1 kb/s

4. aoTuV venc

aoTuV Beta 6.03 (2014) - OggVorbis Encoder (c) 2003-2014 Aoyumi

Output file : "1.ogg"
Stream info.: 2ch/44.1kHz/16bit(int) -> 2ch/44.1kHz/32bit(float)

Quality 6 (nominal bitrate : 192kbps)
Processing...Done.

[Report of the encoded file]
play time : 4782.893 sec.
encode time : 209.942 sec. (x22.782)
stream bitrate : 201.09 kbps
bit reduction : 1 / 7.0

Таблица результатов

Кодер

Версия

Скорость

Битрейт

libvorbis 1.3.4

Generic

25,4x

192,8 kbps

P4 and higher

38,9x

192,8 kbps

x64

45,6x

192,8 kbps

aoTuV 6.03b (Oggenc)

Generic

23,6x

201,1 kbps

P4 and higher

34,9x

201,1 kbps

x64

40,5x

201,1 kbps

aoTuV6.03b Lancer (Oggenc)

SSE

39,5x

201,1 kbps

SSE2

42,7x

201,1 kbps

SSE2 (older OS)

50,9x

201,1 kbps

SSE3

42,7x

201,1 kbps

x64

58,3x

201,1 kbps

aoTuV 6.03b 2014 (venc)

win32

22,8x

201,1 kbps

Выводы

В целом версии от RareWares оказались значительно быстрее референсной версии aoTuV. aoTuV версии Oggenc несколько медленнее стандартной libvosrbis, однако в комплексе с оптимизациями LancerMod они показывают наивысшую скорость.

Отдельно надо отметить странность с SSE2 и SSE3 версиями Oggenc LancerMod. Кодеры SSE2 и SSE3 оказались идентичными, бит-в-бит, причем версия SSE2 (Older OS) значительно обгоняет их по скорости. Возможно, автор ошибся при компиляции версии SSE3, а возможно, что SSE2 old — это и есть SSE3. Так или иначе, для использования на 32-битных ОС я рекомендую именно aoTuV aoTuV LancerMod SSE2 (older OS).

Для x64 ОС выбор очевиден — aoTuV LancerMod x64.

Что касается более новой версии libvorbis 1.3.4 — надо сказать, что никаких функциональных изменений в ней не произошло, разница лишь в том, что общий размер кода уменьшился на 25%. Так что версии Oggenc aoTuV на основе libvorbis 1.3.3 остаются актуальными и рекомендованными.

И на всякий случай: различий в качестве кодирования между различными реализациями кода aoTuV — нет. От оригинального же libvorbis он отличается некоторыми оптимизациями качества, главным образом касающимися низких битрейтов (<96 кбит/с).

[Обсудить на форуме]


Информация от спонсора

HANDY-MEN: ремонт сотовых телефонов и ноутбуков. Ремонт телефонов Nokia — здесь Вы можете ознакомиться с расценками для самых популярных моделей. Послегарантийный ремонт, гарантия качества на все работы.

 
   
Добавил: Audiophile | Просмотров: 5487 | Рейтинг: 5.0/5, голосов: 3
Комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]