Merging aoTuV encoder improvements
FabioPedretti opened this issue · 4 comments
It would be nice if you could merge aoTuV Encoder improvements inside xiph libvorbis.
aoTuV was extensively tested at hydrogenaud.io and found to be the best vorbis encoder.
A considerable portion of the original aoTuV improvements have already been merged.
This would need some research about what remaining improvements (if any) are still outstanding.
According to the CHANGES file, previous aoTuV improvements were merged in 1.1.0 in 2004:
libvorbis 1.1.0 (2004-09-22) -- "Xiph.Org libVorbis I 20040629"
- merges tuning improvements from Aoyumi's aoTuV with fixups
with a fixup in:
libvorbis 1.3.2 (2010-11-01) -- "Xiph.Org libVorbis I 20101101 (Schaufenugget)"
- vorbisenc: Back out an [old] AoTuV HF weighting that was
first enabled in 1.3.0; there are a few samples where I
really don't like the effect it causes.
Since then in aoTuV there were the improvements listed in https://raw.githubusercontent.com/AO-Yumi/vorbis_aotuv/master/aoTuV_technical.txt
A considerable portion of the original aoTuV improvements have already been merged.
This would need some research about what remaining improvements (if any) are still outstanding.
For a easier review of the changes I opened pull request #103.
Recent message from HydrogenAudio thread says:
There is something wrong about Lancer mod 2021-05-11 hosted on RareWares. It is unable to correctly encode WAV when its sampling rate is less or equal to 11025 Hz: SSE2 version outputs silence, SSE3 outputs heavily distorted sound. All other Vorbis encoders (original, Aotuv, Venc aka Aotuv 2021-03-20, FFMPEG's libvorbis) do the job as expected.
Samples: Lancer vs other Vorbis.zip
$ mediainfo in.wav
General
Complete name : in.wav
Format : Wave
Format settings : PcmWaveformat
File size : 361 KiB
Duration : 16 s 780 ms
Overall bit rate mode : Constant
Overall bit rate : 176 kb/s
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 16 s 780 ms
Bit rate mode : Constant
Bit rate : 176.4 kb/s
Channel(s) : 1 channel
Sampling rate : 11.025 kHz
Bit depth : 16 bits
Stream size : 361 KiB (100%)
$ oggenc2 in.wav -q 1 -o out.ogg
Bytes Filename
-------- --------------------------
46 825 out.original.generic.ogg
51 187 out.original.x64.ogg
51 301 out.ffmpeg7.x64.ogg
51 301 out.ffmpeg7.x86.ogg
52 409 out.aotuv.generic.ogg
55 291 out.lancer.sse3.ogg
56 562 out.aotuv.x64.ogg
56 655 out.lancer.sse2.ogg
56 670 out.venc.x64.ogg
56 674 out.venc.x86.ogg
Question is if Aotuv patches are mostly imported, then what explains the difference in the size of the results?