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 256370 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Ogg Vorbis optimized for speed

Reply #200
Lancer 20060317 is released!

Translated by excite.co.jp, fine tuned by me
--
2006/03/15 Lancer 20060317

When the DownMix function of oggdropXPd is used, the hang issue is corrected.
Oggpack_write new is added to the vorbis side for the performance improvement of DLL.
The SSE optimization code of _ve_amp is updated.
An unnecessary SSE optimization code in floor1.c is deleted.
The code in which the bug of GCC is evaded with inspect_error is added.
The enroll and the register renaming processing are executed by the code related to mdct_forward,
bark_noise_hybridmp, and fft.
The loop division point of bark_noise_hybridmp is calculated beforehand and it changes.
Sorry for my English.





Ogg Vorbis optimized for speed

Reply #205
Some encode times with an AMD X2 4400+..  MT is very nice

oggenc283_sse3mt_lancer20060506
        File length:  75m 58.0s
        Elapsed time: 1m 28.0s
        Rate:        51.8139
        Average bitrate: 192.8 kb/s

oggenc283_sse2mt_lancer20060506
        File length:  75m 58.0s
        Elapsed time: 1m 32.4s
        Rate:        49.3090
        Average bitrate: 192.8 kb/s

oggenc283_sse3_lancer20060506
        File length:  75m 58.0s
        Elapsed time: 2m 00.8s
        Rate:        37.7426
        Average bitrate: 192.8 kb/s

oggenc283_sse2_lancer20060506
        File length:  75m 58.0s
        Elapsed time: 2m 01.9s
        Rate:        37.3896
        Average bitrate: 192.8 kb/s

oggenc283_sse_lancer20060506
        File length:  75m 58.0s
        Elapsed time: 2m 01.4s
        Rate:        37.5532
        Average bitrate: 192.8 kb/s

Ogg Vorbis optimized for speed

Reply #206
Uhhh... so which one is which?

I have AthlonXP 2400+ (IIRC Barton core). Which one should I get.

Sorry my mind is a bit swimming at the moment...


Ogg Vorbis optimized for speed

Reply #208
Lancer's dll crash my winamp+oddcast3 since 200603010 build.
till now, it is still now fixied.
Sorry for my English.

Ogg Vorbis optimized for speed

Reply #209
Hmm, I guess this is still based off the old code and not Aoyumi's recent tunings? Multithreading is so cool, the problem is that it takes longer to read off the hard drive (or decode a flac) than to encode now. XD


Ogg Vorbis optimized for speed

Reply #211
Lancer 20060512 (only MT) Released!
Home page

Ogg Vorbis optimized for speed

Reply #212
Hey thanks for that link. I tried going there last night but couldn't figure out a single thing    I'm just getting into ogg vorbis now...

But I just tried those (oggenc2) and I got a Fatal error: This program is not designed to run on this machine. I have a P4, 2.1 (Dell), with Windows XP sp2. Are these new builds meant for AMD processors only? 

edit: Oh wait a minute, I was trying the SSE3 version, give me a few minutes to try the SSE2 version. BTW, what is SSE2/3 anyway? I think I'm in way over my head here.

edit 2: The SSE2 one does work. Ok, I'm a hoser 

Ogg Vorbis optimized for speed

Reply #213
Hey thanks for that link. I tried going there last night but couldn't figure out a single thing    I'm just getting into ogg vorbis now...

But I just tried those (oggenc2) and I got a Fatal error: This program is not designed to run on this machine. I have a P4, 2.1 (Dell), with Windows XP sp2. Are these new builds meant for AMD processors only? 

edit: Oh wait a minute, I was trying the SSE3 version, give me a few minutes to try the SSE2 version. BTW, what is SSE2/3 anyway? I think I'm in way over my head here.

edit 2: The SSE2 one does work. Ok, I'm a hoser 
Hey I got confused too for a moment (see my post up there). I should've checked wikipedia first... it lists processors with SSE, SSE2, and SSE3.

What are these SSE-thingies? In a nutshell, they are special instructions to enable CPUs perform exotic calculations faster. SSE2 adds some instructions to SSE. SSE3 adds more instructions to SSE2. Of course there are CPU architecture evolution but let's KISS.

Soooo... I put in a (very very very) simplified guide on which version of Lancer you should use, in the Lancer page of HA Wiki.

Ogg Vorbis optimized for speed

Reply #214
Hey thanks for adding that wiki page, makes way more sense now! But does the type of processor you have (32 bit vs. 64 bit) factor into it in any way? I know I have a 32 bit processor (does that sound right?), and a single core computer. The SSE2MT version does work on my computer.

Ogg Vorbis optimized for speed

Reply #215
Hey thanks for adding that wiki page, makes way more sense now! But does the type of processor you have (32 bit vs. 64 bit) factor into it in any way? I know I have a 32 bit processor (does that sound right?), and a single core computer. The SSE2MT version does work on my computer.
Um, the bit-ness of your processor is not related strictly to SSEx. For instance, compare Intel: P4 is 32-bit, yet it support SSE2 instructions. AMD did not get the opportunity to embed SSE2 instructions into their 32-bit line, and opt to add SSE2 into their 64-bit line.

So, whether your processor supports a certain version of SSEx or not, depends more on its release date than its bit-ness.

Edit: Updated the wiki page above slightly to explain the (theoretical) benefit of MT versions.

Ogg Vorbis optimized for speed

Reply #216
Quote
What are these SSE-thingies? In a nutshell, they are special instructions to enable CPUs perform exotic calculations faster. SSE2 adds some instructions to SSE. SSE3 adds more instructions to SSE2. Of course there are CPU architecture evolution but let's KISS.


Yeah that really needs to be clarfied for a lot of folks. I gathered some information about them and rewrote that section in the wiki. It does help in the long run though.
budding I.T professional

Ogg Vorbis optimized for speed

Reply #217
Quote
What are these SSE-thingies? In a nutshell, they are special instructions to enable CPUs perform exotic calculations faster. SSE2 adds some instructions to SSE. SSE3 adds more instructions to SSE2. Of course there are CPU architecture evolution but let's KISS.
Yeah that really needs to be clarfied for a lot of folks. I gathered some information about them and rewrote that section in the wiki. It does help in the long run though.
The most sure-fire way to know which SSEx version your processor supports is to download all 5 Lancer OggEnc2 encoders and run them one by one. If your processor does not support the SSEx, OggEnc2 will exit gracefully, informing you so.

I've added this to the Lancer wiki page. Hope it helps.

Edit: stupid typo. Note to self: don't type something long while holding a lighted cigarette.

Ogg Vorbis optimized for speed

Reply #218
There are also Windows programs that easily tell you the processor instructions for your system; wcpuid and cpu-z

Does people know of programs for Linux and Mac with similar function?
"ONLY THOSE WHO ATTEMPT THE IMPOSSIBLE WILL ACHIEVE THE ABSURD"
        - Oceania Association of Autonomous Astronauts

Ogg Vorbis optimized for speed

Reply #219
There are also Windows programs that easily tell you the processor instructions for your system; wcpuid and cpu-z

Does people know of programs for Linux and Mac with similar function?


cat /proc/cpuinfo will work on Linux at least.. and maybe on Mac too since the newer OSs are Unix based I think..

Ogg Vorbis optimized for speed

Reply #220
Info about wcpuid and cpu-z is now part of the Lancer page. I'm not into Linux or any Unix, so please complement the info there if need be. Thanx.

Ogg Vorbis optimized for speed

Reply #221
I have and Athlon 64 x2 3800.
This new sse3 version is the cat's meow for fully utilizing both cores.
On comparison, I did find a strange phenomenon though.
Encode a whole album with 10 songs and the total time for the sse3mt version
took 10 seconds longer than if I boot two 2006/03/31 versions and oggdrop
5 songs in each simultaneously.  Can anyone else reproduce this?
Is the threading overhead higher in the sse3mt version?
Not that I'm complaining mind you. The convenience factor is great with the sse3mt version!
Excellent work. The encoding speed is typically over 50x regardless!
My idea of a "killer app" here!

minor edit for grammar.

Ogg Vorbis optimized for speed

Reply #222
I have and Athlon 64 x2 3800.
This new sse3 version is the cat's meow for fully utilizing both cores.
On comparison, I did find a strange phenomenon though.
Encode a whole album with 10 songs and the total time for the sse3mt version
took 10 seconds longer than if I boot two 2006/03/31 versions and oggdrop
5 songs in each simultaneously.  Can anyone else reproduce this?
Is the threading overhead higher in the sse3mt version?
Not that I'm complaining mind you. The convenience factor is great with the sse3mt version!
Excellent work. The encoding speed is typically over 50x regardless!
My idea of a "killer app" here!

minor edit for grammar.


It's normal that using a multi-threaded app over two cores won't give you a 100% boost over using one core.. It's usually something like 70% faster. In fact, a mere 10 seconds difference for a whole album is very good!

Ogg Vorbis optimized for speed

Reply #223
Of course double speed is seldom possible using multithreading since many problems can't be parallelised (or whatever it's called) completely. But in the case of encoding a batch of files with OggdropXpd, wouldn't it make more sense then to run one normal encoding thread per core, because that's 100% parallelised? Of course, when only one file is encoded, the multithreaded version is (if above post is correct) only slightly slower, but I think if it gives a speed advantage (which is what Lancer builds are all about I believe) one could implement this parallel encoding into the frontend.
Hope I'm making sense, I need some sleep...

MedO

 

Ogg Vorbis optimized for speed

Reply #224
Here we go: Lancer 20060529 Release

Changelog (by babelfish):

- Correcting the trouble of the decoding section.