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: Ogg Vorbis optimized for speed (Read 255086 times) previous topic - next topic
0 Members and 3 Guests are viewing this topic.

Ogg Vorbis optimized for speed

Reply #25
Quote
As QK says, there's very little use of double precision in libvorbis, so the use of SSE2 optimisation is virtually a waste of effort.
[a href="index.php?act=findpost&pid=252436"][{POST_SNAPBACK}][/a]


That explains why my SSE and SSE2 tests achieve the same result.

Ogg Vorbis optimized for speed

Reply #26
OK, for the newb with no ability for critical thinking (me ), would you recommend switching to this version from "OggEnc v2.3 (libvorbis 1.1.0)"? I'd like to have the extra speed, but if it introduces bugs I can wait
I thought of encoding with both then comparing the files, but the size was a few bytes different and they were not identical (there were 80ish different bytes every Y bytes). What's that about?

Ogg Vorbis optimized for speed

Reply #27
Quote
OK, for the newb with no ability for critical thinking (me ), would you recommend switching to this version from "OggEnc v2.3 (libvorbis 1.1.0)"? I'd like to have the extra speed, but if it introduces bugs I can wait
I thought of encoding with both then comparing the files, but the size was a few bytes different and they were not identical (there were 80ish different bytes every Y bytes). What's that about?
[a href="index.php?act=findpost&pid=252582"][{POST_SNAPBACK}][/a]


IMO, it's best to stick to the normal compile of oggenc.  More testing is required.


Ogg Vorbis optimized for speed

Reply #29
I'd be more interested in decoder speedups - especially for portable devices. Vorbis playback in my Tungsten T3 eats battery like crazy.

Ogg Vorbis optimized for speed

Reply #30
Here's a late reply. I tested on two titles and the results look great. The sse2 version offers zero speed increase; the numbers are exactly the same. System: Athlon 64 3000. Turns out I've been previously using Ogg Vorbis 1.1 rc1 from rarewares. Oh well. Quality level is 5.

Die fantastischen Vier - Mein Schwert [hip hop-ish, CD rip]
1.1rc1 - 14,9936
sse/sse2 - 22,9893

G&M Project - Sunday Afternoon (Nu Nrg Mix) [trance, wav previously decoded from mpc q7]
1.1rc1 - 15,7454
sse/sse2 - 27,9919

I was evaluating if I should use ogg or mp3 on my soon to be shipped iRiver , so I will do a lot of transcoding. I don't know if the fact that I am using an allready lossy source accounts for the speed increase.

These speeds even surpass mpc encoding (usually 22-23x)! Lame 3.96.1 clocks in at about 8x for aps and 17x for apfs.

BTW: version "Archer B04" is out, which is claimed to be even a bit faster.
edit2: well, not for me. Speeds are identical to B03.

Ogg Vorbis optimized for speed

Reply #31
how should i apply the patch? i get all hunks failed...
using linux, official libvorbis-1.1.0 and the same happens for both B03 and B04

Ogg Vorbis optimized for speed

Reply #32
I remeber trying to apply it, there were bunch of whitespace diffs, so try 'patch -l ...'

Oops, actually, it was the case with current svn.

For 1.1.0 running dos2unix on patch should do.

Ogg Vorbis optimized for speed

Reply #33
Quote
For 1.1.0 running dos2unix on patch should do.
[a href="index.php?act=findpost&pid=253316"][{POST_SNAPBACK}][/a]

oh crap it was that simple... haven't thought of that, thanks. compiling right now

Ogg Vorbis optimized for speed

Reply #34
Quote
I see no speed gain when compared to the Pentium 4 builds from RareWares.
[a href="index.php?act=findpost&pid=252596"][{POST_SNAPBACK}][/a]

Weird...

Quote
BTW: version "Archer B04" is out, which is claimed to be even a bit faster.
edit2: well, not for me. Speeds are identical to B03.
[a href="index.php?act=findpost&pid=253210"][{POST_SNAPBACK}][/a]

I got slight speed increase (23.73x) from B03 (23.37x).

Ogg Vorbis optimized for speed

Reply #35
on the first run i got 38.2381x, on the second run 33.4583 which is the same as B03

 

Ogg Vorbis optimized for speed

Reply #36
It looks like the resample option is broken? I get a crash using the resample option on B04. I'm trying to resample a 16 kHZ stereo wav file to a -q0 44100 ogg.

Ogg Vorbis optimized for speed

Reply #37
Does anyone have the sse optimizations in the form of a patch to 1.1?

I'd like to try building a linux binary of this.


Ogg Vorbis optimized for speed

Reply #39
Quote
The patch is the first file on the project web page:
http://homepage3.nifty.com/blacksword/


This is great stuff by the way, I hope that development / testing continues.
[a href="index.php?act=findpost&pid=254091"][{POST_SNAPBACK}][/a]


I have tryed it and doesn't work for me.
It does compile after some editing, but both enconding and playback are badly broken.

Ogg Vorbis optimized for speed

Reply #40
Quote
It does compile after some editing, but both enconding and playback are badly broken.
[a href="index.php?act=findpost&pid=254355"][{POST_SNAPBACK}][/a]

Could you give a better description of "badly broken"? Actually I didn't complie B04, but  my own compile (ICL8.1) of B03 worked fine.

Ogg Vorbis optimized for speed

Reply #41
Quote
It looks like the resample option is broken? I get a crash using the resample option on B04. I'm trying to resample a 16 kHZ stereo wav file to a -q0 44100 ogg.
[a href="index.php?act=findpost&pid=254062"][{POST_SNAPBACK}][/a]

Archer Beta05 is released mainly to solve this problem.
- Use of libogg 1.1.2 (version up from 1.1.1)
- Fixed a crash (16 byte-alignement exception) of resample/downmix routines in audio.c (for oggenc and oggdropXPd)
- Update build script for automake/autoconf
- Activated FLAC reading suport in oggenc, using FLAC 1.1.1 (ICL compile)

Quote
Quote
It does compile after some editing, but both enconding and playback are badly broken.
[a href="index.php?act=findpost&pid=254355"][{POST_SNAPBACK}][/a]

Could you give a better description of "badly broken"? Actually I didn't complie B04, but  my own compile (ICL8.1) of B03 worked fine.
[a href="index.php?act=findpost&pid=254474"][{POST_SNAPBACK}][/a]

One thing I forget to mention. It is strongly recommended to use gcc 3.3. The patch does not work with gcc 3.4 and other versions.

Ogg Vorbis optimized for speed

Reply #42
Could anybody please provide a linux binary. As my box is using gcc 3.4.3 I am not able to compile it on my own
Thanks

Ogg Vorbis optimized for speed

Reply #43
Quote
Quote
It looks like the resample option is broken? I get a crash using the resample option on B04. I'm trying to resample a 16 kHZ stereo wav file to a -q0 44100 ogg.
[a href="index.php?act=findpost&pid=254062"][{POST_SNAPBACK}][/a]

Archer Beta05 is released mainly to solve this problem.
- Use of libogg 1.1.2 (version up from 1.1.1)
- Fixed a crash (16 byte-alignement exception) of resample/downmix routines in audio.c (for oggenc and oggdropXPd)
- Update build script for automake/autoconf
- Activated FLAC reading suport in oggenc, using FLAC 1.1.1 (ICL compile)

Quote
Quote
It does compile after some editing, but both enconding and playback are badly broken.
[a href="index.php?act=findpost&pid=254355"][{POST_SNAPBACK}][/a]

Could you give a better description of "badly broken"? Actually I didn't complie B04, but  my own compile (ICL8.1) of B03 worked fine.
[a href="index.php?act=findpost&pid=254474"][{POST_SNAPBACK}][/a]

One thing I forget to mention. It is strongly recommended to use gcc 3.3. The patch does not work with gcc 3.4 and other versions.
[a href="index.php?act=findpost&pid=254530"][{POST_SNAPBACK}][/a]


Hi nyaochi

I have tested right now B05 and it applyed and compiled cleanly, but it does have the same problem than B04.
It encodes, but the result is a big file which sounds as noise (using normal oggenc castanets2.ogg is 97247 bytes, using oggenc-sse it is 221705 bytes).
Playing normal ogg files doesn't work either, it sounds as noise too, and segfaults when reaching the end of the file. Vorbisgain segfaults when reaching the end of a file.

I'm on a suse 9.1 linux system, gcc 3.3.3, glibc 2.3.3, libogg 1.1.2, athlon xp 2600 (Barthon core).


This is the gdb output
(gdb) run castanets2.ogg
Starting program: /usr/bin/ogg123 castanets2.ogg
Reading symbols from /usr/lib/libvorbisfile.so.3...(no debugging symbols found)...done.
...
Dispositivo de sonido:  Advanced Linux Sound Architecture (ALSA) output

[New Thread 1087495088 (LWP 27008)]
Reproduciendo: castanets2.ogg
Ogg Vorbis stream: 2 channel, 44100 Hz
Tiempo: 00:06,63 [00:00,00] de 00:06,63  (  0,0 kbps)  Búfer de Salida  0,0% (EOS (Fin de flujo))
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1077510816 (LWP 27005)]
0x402e51bd in _int_free () from /lib/tls/libc.so.6
(gdb) bt
#0  0x402e51bd in _int_free () from /lib/tls/libc.so.6
#1  0x402e55fb in free () from /lib/tls/libc.so.6
#2  0x400552ed in vorbis_comment_clear () from /usr/lib/libvorbis.so.0
#3  0x00000000 in ?? ()
#4  0x400386f0 in ?? () from /usr/lib/libvorbisfile.so.3
#5  0x08070590 in ?? ()
#6  0x00000001 in ?? ()
#7  0x40036a96 in ov_clear () from /usr/lib/libvorbisfile.so.3
...

Ogg Vorbis optimized for speed

Reply #44
Quote
Hi nyaochi

I have tested right now B05 and it applyed and compiled cleanly, but it does have the same problem than B04.
It encodes, but the result is a big file which sounds as noise (using normal oggenc castanets2.ogg is 97247 bytes, using oggenc-sse it is 221705 bytes).
Playing normal ogg files doesn't work either, it sounds as noise too, and segfaults when reaching the end of the file. Vorbisgain segfaults when reaching the end of a file.

I'm on a suse 9.1 linux system, gcc 3.3.3, glibc 2.3.3, libogg 1.1.2, athlon xp 2600 (Barthon core).
[a href="index.php?act=findpost&pid=254556"][{POST_SNAPBACK}][/a]

Thank you for the detailed information. I've just got an email from the author. He found a bug around ov_read function that probably causes your crash. He also told me that he doesn't use Makefile generated by configure script but uses Makefile in Win32_MinGW that is based on a converted project from MSVC to compile it by gcc version 3.3.1 (mingw special 20030804-1).

I suppose linux support of B05 is not enough/adequate at present. So we have to inspect what causes bitrate-bloat/noise problem. Although I have Fedora Core 1 with gcc 3.3.1, unfortunately I'm not familiar with linux programing and have little time to debug it now.  The author recognizes this problem but anyone can solve this problem?

Ogg Vorbis optimized for speed

Reply #45
Quote
Quote
I see no speed gain when compared to the Pentium 4 builds from RareWares.
[a href="index.php?act=findpost&pid=252596"][{POST_SNAPBACK}][/a]

Weird...
[a href="index.php?act=findpost&pid=253429"][{POST_SNAPBACK}][/a]


In fact, the SSE/SSE2 optimized versions are slower by about 1x as seen here:

[a href="index.php?act=findpost&pid=252297"][{POST_SNAPBACK}][/a]

Ogg Vorbis optimized for speed

Reply #46
does anyone have binary aotuvb3 oggenc w/ sse patch applied?
thematrixhasyou

Ogg Vorbis optimized for speed

Reply #47
Quote
does anyone have binary aotuvb3 oggenc w/ sse patch applied?
[{POST_SNAPBACK}][/a]

I've uploaded linux binaries in this [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=29974]thread[/url].

Ogg Vorbis optimized for speed

Reply #48
thank you

do you have one for windows?
thematrixhasyou

Ogg Vorbis optimized for speed

Reply #49
Quote
thank you

do you have one for windows?
[{POST_SNAPBACK}][/a]


Have a look at this page

[a href="http://homepage3.nifty.com/blacksword/]http://homepage3.nifty.com/blacksword/[/url]