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 acceleration project (Read 190130 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Ogg Vorbis acceleration project

http://homepage3.nifty.com/blacksword/

The last release is based on aoTuV Beta5. Anyone knows the status os the project, if there are plans to a next release?


Ogg Vorbis acceleration project

Reply #2
I wonder is it possible to determine the most time-consuming routines and manually port them from lancer to current aotuv?

Ogg Vorbis acceleration project

Reply #3
I'm trying to mix "aotuv5.7+bs1" codec and lancer. Only 55...60% speed increase 

There are several routines that were changed from beta5 so I cannot accelerate them with lancer code.

Ogg Vorbis acceleration project

Reply #4
I'm trying to mix "aotuv5.7+bs1" codec and lancer. Only 55...60% speed increase 

There are several routines that were changed from beta5 so I cannot accelerate them with lancer code.

55-60% is very good speed boost. Can you post your code and binaries?

Some results for dual core:
Lancer 20061110 sse3+MT: 10 seconds
aotuv5.7b-P4: 7 seconds

That's 40-50% of speed gain.


Ogg Vorbis acceleration project

Reply #5
Currently I'm trying to make OPENMP work. Some changes made between b5 and b5.7 interfere with OPENMP support code. My current version just doesn't support multi-threading.

I tested several encoders with foobar2000 as a frontend (dual-core processor, but only 1 encoder process at a time).

Lancer SSE3:  60.79x realtime
Lancer SSE3+MT: 84.00x realtime

Oggenc2 (aotuv5.7) from RareWares: 29.16x realtime

b5.7+bs1 patch (MSVC): 26.11x realtime
b5.7+bs1 patch+lancer (MSVC): 41.07x realtime

I will upload the code and exe files one of these days.


Ogg Vorbis acceleration project

Reply #7
Here is +45% speed gain.
Thank you,lvqcl

I didn't find any issue with this version until moment.

Ogg Vorbis acceleration project

Reply #8
OK, folks, I finally got round to compiling under ICL 11.1.048. The results are from my development system which is an E4300 cpu clocked to 3GHz with 4GB OCZ Reaper in a Gigabyte EP45-DS3 running XP Pro SP3.

Code: [Select]
F:\testogg>oggenc2 -q 7 10.wav
Opening with wav module: WAV file reader
Encoding "10.wav" to
         "10.ogg"
at quality 7.00
        [100.0%] [ 0m00s remaining] /

Done encoding file "10.ogg"

        File length:  4m 15.0s
        Elapsed time: 0m 07.0s
        Rate:         36.5048
        Average bitrate: 228.0 kb/s


F:\testogg>oggenc2 -q 7 10.wav
Opening with wav module: WAV file reader
Encoding "10.wav" to
         "10.ogg"
at quality 7.00
        [ 99.6%] [ 0m00s remaining] \

Done encoding file "10.ogg"

        File length:  4m 15.0s
        Elapsed time: 0m 04.0s
        Rate:         63.8833
        Average bitrate: 228.0 kb/s


F:\testogg>

The first run is using the regular P4 ICL compile of aoTuV5.7 that's on Rarewares, the second is using lvqcl's Lancer-style patch. I'll leave you to do the maths, but the speed gain is somewhat alarming!! 

So, I suppose you will want to try this out? You can d/l from here: http://www.rarewares.org/files/ogg/oggenc2...b5.7-Lancer.zip

If this appears stable, and I'd like feedback regarding this, then I'll make it generally available on Rarewares.

Ogg Vorbis acceleration project

Reply #9
Quick test on Windows 7 64 bits on E6600 using foobar2000 v1.0 beta2 with pipelining and times indicated by foobar:

Converted 4 CD Box Set encoded at FLAC -8:
oggenc2.85-aoTuVb5.7-P4 with q5.0 -> 3:39 (219 secs)
oggenc2.85-aoTuVb5.7-Lancer with q5.0 -> 2:14 (134 secs)

Converted 5 CD Box Set encoded at FLAC -8:
oggenc2.85-aoTuVb5.7-P4 with q5.0 -> 5:11 (311 secs)
oggenc2.85-aoTuVb5.7-Lancer with q5.0 -> 3:23 (203 secs)

Thanks to all for this fantastic speedup!

Ogg Vorbis acceleration project

Reply #10
Core2Duo E4300, --quality 5, 44.1/16/2ch:

unaccelerated version from RW: 29,9x realtime (=>100%);
accelerated (my MSVS9 compile): 44,0x realtime (~147%);
accelerated (ICL 11.1.048 by john33): 48,8x realtime (~163%);

//Lancer 20061110 (based on b5): 62,9x realtime (~210%).


Yes, ICL compile is faster than MSVS one.    Old Lancer is even faster, but further acceleration is beyond my knowledge. To anybody: feel free to accelerate it further.

Ogg Vorbis acceleration project

Reply #11
Two more suggestions:

1) To have more consistent date format, I think it is better to define CPDATE macro to e.g. "20091201"

2) oggenc2.exe says that it is "based on aoTuV exp-bs1" (and that isn't true). It was my mistake in the very first version of the patch... Current version reports "based on aoTuV b5d [20090301]". Please fix it.

Ogg Vorbis acceleration project

Reply #12
Is the patch supposed to make it faster on Windows only? Last time I compiled it under linux, it didn't make vorbis encoding any faster.

Ogg Vorbis acceleration project

Reply #13
Don't forget to define __SSE__, __SSE2__, __SSE3__ macros.

...At least The_Sven compiled  aoTuV-beta5 for Linux with success.

Ogg Vorbis acceleration project

Reply #14
Two more suggestions:

1) To have more consistent date format, I think it is better to define CPDATE macro to e.g. "20091201"

2) oggenc2.exe says that it is "based on aoTuV exp-bs1" (and that isn't true). It was my mistake in the very first version of the patch... Current version reports "based on aoTuV b5d [20090301]". Please fix it.

Fixed with a new upload available on the same link.

Ogg Vorbis acceleration project

Reply #15
I found a strange problem... The difference between various compiles is usually insignificant, but not always.

When (input samplerate = 22050 or 24000 Hz) AND (encoding quality > 5.000) there is noticeable difference between ICL and MSVS compiles.

For example: input file is 22.05kHz/2ch; quality is 8. => "Nominal" bitrate is 138.4 kbps.

P3/P4/Lancer from RW (ICL): 116.1 kbps
venc from Aoyumi (MINGW32?): 116.1 kbps
generic version from RW (MSVS 9): 136.3 kbps
my compiles (MSVS 9): 136.3 kbps.

(For 24kHz/-q8  the difference is 123.0 kbps for ICL vs 144.5 kbps for MSVS).

Ogg Vorbis acceleration project

Reply #16
Don't forget to define __SSE__, __SSE2__, __SSE3__ macros.

Code: [Select]
$ gcc -dumpversion
4.4.2
$ CFLAGS="-march=i686 -msse -msse2 -msse3 -mssse3 -mfpmath=sse -pipe -D__SSE__ -D__SSE2__ -D__SSE3__" ./configure --prefix=/usr --disable-oggtest && make
Code: [Select]
make  all-recursive
make[1]: Entering directory `/tmp/aotuv-b5.7_20090301'
Making all in m4
make[2]: Entering directory `/tmp/aotuv-b5.7_20090301/m4'
make[3]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[3]: Leaving directory `/tmp/aotuv-b5.7_20090301'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/aotuv-b5.7_20090301/m4'
Making all in include
make[2]: Entering directory `/tmp/aotuv-b5.7_20090301/include'
make[3]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[3]: Leaving directory `/tmp/aotuv-b5.7_20090301'
Making all in vorbis
make[3]: Entering directory `/tmp/aotuv-b5.7_20090301/include/vorbis'
make[4]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[4]: Leaving directory `/tmp/aotuv-b5.7_20090301'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/aotuv-b5.7_20090301/include/vorbis'
make[3]: Entering directory `/tmp/aotuv-b5.7_20090301/include'
make[4]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[4]: Leaving directory `/tmp/aotuv-b5.7_20090301'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/tmp/aotuv-b5.7_20090301/include'
make[2]: Leaving directory `/tmp/aotuv-b5.7_20090301/include'
Making all in vq
make[2]: Entering directory `/tmp/aotuv-b5.7_20090301/vq'
make[3]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[3]: Leaving directory `/tmp/aotuv-b5.7_20090301'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/aotuv-b5.7_20090301/vq'
Making all in lib
make[2]: Entering directory `/tmp/aotuv-b5.7_20090301/lib'
make[3]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[3]: Leaving directory `/tmp/aotuv-b5.7_20090301'
Making all in modes
make[3]: Entering directory `/tmp/aotuv-b5.7_20090301/lib/modes'
make[4]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[4]: Leaving directory `/tmp/aotuv-b5.7_20090301'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/tmp/aotuv-b5.7_20090301/lib/modes'
Making all in books
make[3]: Entering directory `/tmp/aotuv-b5.7_20090301/lib/books'
make[4]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[4]: Leaving directory `/tmp/aotuv-b5.7_20090301'
Making all in coupled
make[4]: Entering directory `/tmp/aotuv-b5.7_20090301/lib/books/coupled'
make[5]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[5]: Leaving directory `/tmp/aotuv-b5.7_20090301'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/tmp/aotuv-b5.7_20090301/lib/books/coupled'
Making all in uncoupled
make[4]: Entering directory `/tmp/aotuv-b5.7_20090301/lib/books/uncoupled'
make[5]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[5]: Leaving directory `/tmp/aotuv-b5.7_20090301'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/tmp/aotuv-b5.7_20090301/lib/books/uncoupled'
Making all in floor
make[4]: Entering directory `/tmp/aotuv-b5.7_20090301/lib/books/floor'
make[5]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[5]: Leaving directory `/tmp/aotuv-b5.7_20090301'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/tmp/aotuv-b5.7_20090301/lib/books/floor'
make[4]: Entering directory `/tmp/aotuv-b5.7_20090301/lib/books'
make[5]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[5]: Leaving directory `/tmp/aotuv-b5.7_20090301'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/tmp/aotuv-b5.7_20090301/lib/books'
make[3]: Leaving directory `/tmp/aotuv-b5.7_20090301/lib/books'
make[3]: Entering directory `/tmp/aotuv-b5.7_20090301/lib'
make[4]: Entering directory `/tmp/aotuv-b5.7_20090301'
make[4]: Leaving directory `/tmp/aotuv-b5.7_20090301'
/bin/sh ../libtool --tag=CC  --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include   -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -Wdeclaration-after-statement -march=i686 -msse -msse2 -msse3 -mssse3 -mfpmath=sse -pipe -D__SSE__ -D__SSE2__ -D__SSE3__ -DUSE_MEMORY_H -MT mdct.lo -MD -MP -MF .deps/mdct.Tpo -c -o mdct.lo mdct.c
mkdir .libs
 gcc -DHAVE_CONFIG_H -I. -I.. -I../include -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -Wdeclaration-after-statement -march=i686 -msse -msse2 -msse3 -mssse3 -mfpmath=sse -pipe -D__SSE__ -D__SSE2__ -D__SSE3__ -DUSE_MEMORY_H -MT mdct.lo -MD -MP -MF .deps/mdct.Tpo -c mdct.c  -fPIC -DPIC -o .libs/mdct.o
In file included from mdct.c:49:
xmmlib.h:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_MM_ALIGN16'
xmmlib.h:63: warning: data definition has no type or storage class
xmmlib.h:71: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:72: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:73: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:74: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:75: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:76: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:77: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:78: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:79: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:80: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:81: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:82: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:83: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:84: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:85: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:86: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:87: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:88: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:89: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:90: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:91: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:93: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:94: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:95: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:96: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:97: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:98: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:99: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h:100: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
xmmlib.h: In function '_mm_todB_ps':
xmmlib.h:112: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'float'
xmmlib.h:115: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'float'
xmmlib.h:119: error: expected ';' before 'U'
xmmlib.h:120: error: 'U' undeclared (first use in this function)
xmmlib.h:120: error: (Each undeclared identifier is reported only once
xmmlib.h:120: error: for each function it appears in.)
xmmlib.h:120: error: 'PABSMASK' undeclared (first use in this function)
xmmlib.h: In function '_mm_untnorm_ps':
xmmlib.h:142: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
xmmlib.h:146: error: 'PCS_RRRR' undeclared (first use in this function)
mdct.c: In function 'mdct_init':
mdct.c:117: error: 'PCS_RNRN' undeclared (first use in this function)
mdct.c:143: error: 'PCS_RRNN' undeclared (first use in this function)
mdct.c:144: error: 'PCS_RNNR' undeclared (first use in this function)
mdct.c:165: error: 'PCS_NNRR' undeclared (first use in this function)
mdct.c:215: error: 'PCS_NRNR' undeclared (first use in this function)
mdct.c:267: error: 'PCS_RRRR' undeclared (first use in this function)
mdct.c: In function 'mdct_butterfly_8':
mdct.c:426: error: 'PCS_NRRN' undeclared (first use in this function)
mdct.c:427: error: 'PCS_NNRR' undeclared (first use in this function)
mdct.c: In function 'mdct_butterfly_16':
mdct.c:461: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c:462: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c:463: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c:464: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c: In function 'mdct_butterfly_32':
mdct.c:535: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c:536: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c:537: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c:538: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c:539: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c:540: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c:541: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c:542: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
mdct.c: In function 'mdct_butterfly_generic':
mdct.c:949: error: 'PCS_RNRN' undeclared (first use in this function)
mdct.c: In function 'mdct_bitreverse':
mdct.c:1194: error: 'PCS_RNRN' undeclared (first use in this function)
mdct.c:1202: error: 'PFV_0P5' undeclared (first use in this function)
mdct.c: In function 'mdct_backward':
mdct.c:1302: error: 'PFV_0' undeclared (first use in this function)
mdct.c:1440: error: 'PCS_RRRR' undeclared (first use in this function)
make[3]: *** [mdct.lo] Error 1
make[3]: Leaving directory `/tmp/aotuv-b5.7_20090301/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/aotuv-b5.7_20090301/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/aotuv-b5.7_20090301'
make: *** [all] Error 2

Ogg Vorbis acceleration project

Reply #17
I must admit that linux is not my favorite OS and I didn't have it installed on my HDD.

Maybe The_Sven can help you more than me... At least you can take his versions of xmmlib.c and xmmlib.h.
Here they are, extracted from vorbis-lancer-gcc-HEAD.tar.gz: [attachment=5532:xmmlib.zip]

Ogg Vorbis acceleration project

Reply #18
Fixed with a new upload available on the same link.


Great. Yet it still writes "BS; LancerMod(SSE3) [Dec  2 2009] (based on aoTuV b5d [20090301])" to *.ogg files (although it's not a big problem  ).

Ogg Vorbis acceleration project

Reply #19
Fixed with a new upload available on the same link.


Great. Yet it still writes "BS; LancerMod(SSE3) [Dec  2 2009] (based on aoTuV b5d [20090301])" to *.ogg files (although it's not a big problem  ).

Ah, I changed it in oggenc2/main.c, but not in vorbis/lib/info.c!  I'll make a similar amendment.

Ogg Vorbis acceleration project

Reply #20
After replacing xmmlib.*, I get this:

Code: [Select]
gcc -D_V_SELFTEST -O20 -ffast-math -mno-ieee-fp -D_REENTRANT -fsigned-char -Wdeclaration-after-statement -march=i686 -msse -msse2 -msse3 -mssse3 -mfpmath=sse -pipe -D__SSE__ -D__SSE2__ -D__SSE3__ -DUSE_MEMORY_H -o test_sharedbook test_sharedbook-sharedbook.o  -lm  
test_sharedbook-sharedbook.o: In function `vorbis_book_clear':
sharedbook.c:(.text+0x346): undefined reference to `xmm_free'
sharedbook.c:(.text+0x355): undefined reference to `xmm_free'
sharedbook.c:(.text+0x364): undefined reference to `xmm_free'
sharedbook.c:(.text+0x373): undefined reference to `xmm_free'
sharedbook.c:(.text+0x382): undefined reference to `xmm_free'
test_sharedbook-sharedbook.o:sharedbook.c:(.text+0x3c1): more undefined references to `xmm_free' follow
test_sharedbook-sharedbook.o: In function `_make_words':
sharedbook.c:(.text+0x4e4): undefined reference to `xmm_malloc'
sharedbook.c:(.text+0x62b): undefined reference to `xmm_free'
sharedbook.c:(.text+0x72c): undefined reference to `xmm_free'
test_sharedbook-sharedbook.o: In function `_book_unquantize':
sharedbook.c:(.text+0x93a): undefined reference to `xmm_calloc'
test_sharedbook-sharedbook.o: In function `vorbis_book_init_decode':
sharedbook.c:(.text+0x125a): undefined reference to `xmm_malloc'
sharedbook.c:(.text+0x12b6): undefined reference to `xmm_free'
sharedbook.c:(.text+0x12d7): undefined reference to `xmm_malloc'
sharedbook.c:(.text+0x131a): undefined reference to `xmm_malloc'
sharedbook.c:(.text+0x13ac): undefined reference to `xmm_calloc'
test_sharedbook-sharedbook.o: In function `vorbis_staticbook_destroy':
sharedbook.c:(.text+0x4b9): undefined reference to `xmm_free'
collect2: ld returned 1 exit status
make[3]: *** [test_sharedbook] Error 1
make[3]: Leaving directory `/tmp/aotuv-b5.7_20090301-lancer/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/aotuv-b5.7_20090301-lancer/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/aotuv-b5.7_20090301-lancer'
make: *** [all] Error 2

Note that The_Sven's version compiles successfully (with CFLAGS='-O3 -march=i686 -msse -mfpmath=sse -pipe -fno-strict-aliasing').

Ogg Vorbis acceleration project

Reply #21
Even after fixing compiling errors, oggenc fails with "undefined symbol: PCS_NRNR". Recompiling vorbis-tools also fails with several errors regarding "undefined reference to…".

Ogg Vorbis acceleration project

Reply #22
Fixed with a new upload available on the same link.


Great. Yet it still writes "BS; LancerMod(SSE3) [Dec  2 2009] (based on aoTuV b5d [20090301])" to *.ogg files (although it's not a big problem  ).

Duly amended with a new version on the same link.

Ogg Vorbis acceleration project

Reply #23
Quote
Even after fixing compiling errors, oggenc fails with "undefined symbol: PCS_NRNR". Recompiling vorbis-tools also fails with several errors regarding "undefined reference to…".


Well, PCS_NRNR is defined in xmmlib.c and used in mdct.c and smallft.c... I think you should add "xmmlib.c" and "xmmlib.h" to "libvorbis_la_SOURCES" variable in aoTuV makefile (as it done in this compile)

Quote
Duly amended with a new version on the same link.


Thanks!

Ogg Vorbis acceleration project

Reply #24
Here is an x64 compile of oggenc2.85 with FLAC support. Currently this is based on the standard 1.2.3 libs, but if some kind people would like to test this and confirm whether it's OK, or not, I'll go ahead and build an aoTuV version.

http://www.rarewares.org/files/ogg/oggenc2.85-1.2.3-x64.zip

Any chance to have an x64 compile of this Lancer mod too ?

F.O.R.A.R.T. npo