I have updated my aoTuV and Lancer patches (see old thread (https://hydrogenaud.io/index.php/topic,109766.0.html) for reference) for Vorbis 1.3.7.
The patches now apply on top of the official libvorbis 1.3.7 sources and must be applied in order.
- The first patch adds the aoTuV b6.03 changes: libvorbis-1.3.7-aotuv-b6.03.patch (https://freac.org/patches/libvorbis-1.3.7-aotuv-b6.03.patch)
- The second patch adds the Lancer optimizations to that: libvorbis-1.3.7-aotuv-b6.03-lancer.patch (https://freac.org/patches/libvorbis-1.3.7-aotuv-b6.03-lancer.patch)
Also see my GitHub repository (https://github.com/enzo1982/vorbis-aotuv-lancer) with these changes.
Edit: Updated post for Vorbis 1.3.7.
Thanks. :) I'll look at these over the next few days.
Gracias por el aporte he estado esperando una actualización desde hace muchos años. :'(
that is great news, thank you enzo and john for keeping lancer alive :)
thank you!
New logical stream (#1, serial: 6c7a3d84): type vorbis
Vorbis headers parsed for stream 1, information follows...
Version: 0
Vendor: BS; LancerMod(SSE3) (based on aoTuV 6.03 (2018))
Great work, thanks!
rarewares needs to updated.
Working on it! ;) Just taking longer than expected - life getting in the way!!
Anyone has windows binaries for this? :)
You might try these ones. Patched according to enzo's note. Compiled with GCC 8.2. AVX instruction set used.
::
Thanks!
::
thank you.
Thank you very much :)
@john33, thanks for the builds.
-v shows 1.3.5.
@john33, thanks for the builds.
-v shows 1.3.5.
That's the program version string - which is wrong, the library is actually correct but I'll update the compiles to correct that. Thanks for letting me know. :)
They've now been updated. :)
Thank you
@john33, I don't follow Vorbis much, does this last version have the enzo patches and all that stuff?
Yes, it does. I haven't got to the Lancer patches yet as they don't seem to want to patch automatically and it's a large manual exercise!! It may be something I'm doing wrong, but I'll get there, eventually! ;)
Perfect, thank you :)
They've now been updated. :)
thanks a lot @john33.
do you mind updating the flac compiles with fastcrc patch as well? https://freac.org/developer-blog-mainmenu-9/14-freac/277-fastcrc
They've now been updated. :)
thanks a lot @john33.
do you mind updating the flac compiles with fastcrc patch as well? https://freac.org/developer-blog-mainmenu-9/14-freac/277-fastcrc
I assume from the site that it's merged into the current git. If so, updated compiles are available. :) If not, let me know, please! ;)
@NetRanger always updates to the latest git too https://hydrogenaud.io/index.php/topic,113391.msg962516.html#msg962516
I assume from the site that it's merged into the current git.
Yes, I can confirm that. The fast CRC patches have been merged into the official Ogg and FLAC Git repositories in April/May.
Thanks for the confirmation.
great job, thank you john33 :)
Hello, would it be possible to get the standalone Lancer patch?
Updated top post (https://hydrogenaud.io/index.php?topic=115774.0) for the Vorbis 1.3.7 release.
Updated top post (https://hydrogenaud.io/index.php?topic=115774.0) for the Vorbis 1.3.7 release.
Thank you for your kindness, that is very much appreciated.
Updated top post (https://hydrogenaud.io/index.php?topic=115774.0) for the Vorbis 1.3.7 release.
I might just be doing something wrong, but it seems to be missing xmmlib.h/xmmlib.c in the lib directory vs the previous release.
Updated top post (https://hydrogenaud.io/index.php?topic=115774.0) for the Vorbis 1.3.7 release.
I might just be doing something wrong, but it seems to be missing xmmlib.h/xmmlib.c in the lib directory vs the previous release.
They are contained in the lancer patch file, towards the end.
Two issues with Enzo's repo merging these
1) Missing xmmlib.h, xmmlib.c and cpu.c in the lib directory.
2) I compiled the Windows build using cmake, and on Ubuntu using ./autogen.h, ./configure and make. The output files have different vendor strings:
On Windows (cmake built):
AO; aoTuV 6.03 (2020) (based on libVorbis 1.3.7)
On Ubuntu (autogen, configure, make)
BS; LancerMod(SSE2) (based on aoTuV 6.03 (2018))
I think these should probably match, no? Is the Windows build missing the lancer patch? Sorry i'm pretty bad at this C toolchain stuff.
Indeed, the cpu.c and xmmlib.c/.h files were part of the patch, but missing in the repository. Fixed now.
As for the vendor strings, you'll have to build with SSE2 enabled on Windows. Otherwise the Lancer code will not be enabled. Not sure how to do that with cmake, though. I use MinGW/autotools on Windows too.
Visual Studio 2017 and newer default to SSE2 if you don't change any of the settings.
I got the included Visual Studio 2010 solution to build with some jiggering... might be worth including a disclaimer in there that the cmake system doesn't include the Lancer bits. Or just remove the cmakefiles.
The Lancer code will work with cmake just fine. You just need to make sure to tell cmake to create project files with SSE2 optimizations enabled. I don't know how to do that. Not a big fan of cmake.
Thanks enzo for the updates. All 1.3.7 and derivative builds are now on Rarewares. :)
Is it on freac?
Is it on freac?
Only in the continuous builds for Linux as of now. It will be included with fre:ac 1.1.3.
You can use the Rarewares builds with fre:ac 1.1.2b, though. To do that, replace both, Vorbis.dll and VorbisEnc.dll in fre:ac's codecs folder with the DLL from Rarewares (i.e. copy the libvorbis.dll to the codecs folder, then change its name to Vorbis.dll, then do the same again changing the name to VorbisEnc.dll, so you'll have two copies of the new DLL as Vorbis.dll and VorbisEnc.dll).
Thanks enzo for the updates. All 1.3.7 and derivative builds are now on Rarewares. :)
I don't see any reference to Lancer at Rarewares. Is it normal?
Oggenc2.88 using libVorbis v1.3.7 - aoTuVb6.03 (Lancer Builds)
oggdropXPd V.1.9.2 using libVorbis v1.3.7 - aoTuVb6.03 - Lancer
libvorbis.dll using libvorbis v1.3.7 - aoTuVb6.03 (Lancer Builds)
ogg vorbis dlls using libvorbis v1.3.7 + aoTuVb6.03 (Lancer Builds)
vorbis.dll - for HeadAC3he using libvorbis v1.3.7 - aoTuVb6.03 (Lancer Builds)
They're all there. ;)
I'd like to report something minor (cosmetic) about oggenc2.88-1.3.7-aoTuVb6.03-P4.zip on RareWares. With my previous version, oggenc2 --version gives me "OggEnc v2.88 (libvorbis 1.3.6-aoTuV-b6.03)". It's now "OggEnc v2.88 (libvorbis 1.3.6)", still 1.3.6 and not saying aoTuV.
A vorbis file encoded with it does says "Tool : AO; aoTuV 6.03 (2020) (based on libVorbis 1.3.7)" so the above is not a real problem. Just potentially confusing. Thanks!
I'd like to report something minor (cosmetic) about oggenc2.88-1.3.7-aoTuVb6.03-P4.zip on RareWares. With my previous version, oggenc2 --version gives me "OggEnc v2.88 (libvorbis 1.3.6-aoTuV-b6.03)". It's now "OggEnc v2.88 (libvorbis 1.3.6)", still 1.3.6 and not saying aoTuV.
A vorbis file encoded with it does says "Tool : AO; aoTuV 6.03 (2020) (based on libVorbis 1.3.7)" so the above is not a real problem. Just potentially confusing. Thanks!
Thanks for the notification. I'll correct and re-upload shortly. (Actually, I notice it applies to all the oggenc2 compiles!!)
Edit: Corrected compiles now at Rarewares. :)
Thanks! :D
Thank you. One question, aoTuVb6.03 has not been updated for many years, is it currently better than Xiph 1.3.4 at all bitrates? For example at 160 kbps.
another question: is
vorbis-aotuv-lancer-master.zip
the same as
libvorbis-1.3.7.zip + libvorbis-1.3.7-aotuv-b6.03.patch + libvorbis-1.3.7-aotuv-b6.03-lancer.patch ?
Oggenc2.88 using libVorbis v1.3.7 - aoTuVb6.03 (Lancer Builds)
oggdropXPd V.1.9.2 using libVorbis v1.3.7 - aoTuVb6.03 - Lancer
libvorbis.dll using libvorbis v1.3.7 - aoTuVb6.03 (Lancer Builds)
ogg vorbis dlls using libvorbis v1.3.7 + aoTuVb6.03 (Lancer Builds)
vorbis.dll - for HeadAC3he using libvorbis v1.3.7 - aoTuVb6.03 (Lancer Builds)
They're all there. ;)
Hi John,
When using the oggdropXPd V.1.9.2 builds avalaible on your website , I have noticed that encodings made with the Lancer version of the program are about 35% larger than the ones encoded with the Libvorbis version (at q4).
My understanding is that aotuv b6.03 tunings were merged with Libvorbis a while ago and that Lancer is only optimizing the encoding speed. I assume from that the output should be in the same ballpark in terms of filesize at a given q setting.
Could you please shed some light on why the aotuv Lancer version produces larger files than the libvorbis version at the same q setting?
Thank you for your help.
IIRC, the aoTuV tunings were merged into libvorbis at a much earlier level than 6.03 and, yes, the Lancer builds are about speed but they do have a small effect on the output bitrate, although I don't believe anyone has been able to discern an audible difference. I can't reproduce the large file size difference that you mention, my testing produces files that are "in the same ballpark in terms of filesize at a given q setting", as expected. If you have something that you can share that illustrates this, I'll gladly look at it.
Just to be clear, I am only the person who provides the compiles for general use. I have no input to the detail of the encoding libraries and I lack the technical knowledge so to do!! ;)
IIRC, the aoTuV tunings were merged into libvorbis at a much earlier level than 6.03 and, yes, the Lancer builds are about speed but they do have a small effect on the output bitrate, although I don't believe anyone has been able to discern an audible difference. I can't reproduce the large file size difference that you mention, my testing produces files that are "in the same ballpark in terms of filesize at a given q setting", as expected. If you have something that you can share that illustrates this, I'll gladly look at it.
Just to be clear, I am only the person who provides the compiles for general use. I have no input to the detail of the encoding libraries and I lack the technical knowledge so to do!! ;)
Hi John, thank you for your reply.
I'm PMing you a 40' flac sample with which the behavior I described can be reproduced.
Using OggdropXP v1.92 at q4, I get:
- BS; LancerMod(SSE3) (based on aoTuV 6.03 (2020)) -->229 kbps
- Xiph.Org libVorbis I 20200704 (Reducing Environment) -->170 kbps
Thanks a lot.
Hmm, interesting sample! I can confirm that I get the same results as you with that sample. The Lancer build and the standard aoTuV non-Lancer builds provide very similar results. I can only assume that with this and, no doubt, many other 'difficult' samples the aoTuV tunings provide a more generous bitrate allocation.
Thank you John.