HydrogenAudio

Lossy Audio Compression => Opus => Topic started by: NetRanger on 2024-04-14 18:07:02

Title: Opus v1.5.2
Post by: NetRanger on 2024-04-14 18:07:02
Opus 1.5.2 fixes several build issues that were discovered since the 1.5 release. It also fixes a misalignment issue in the AVX2 code that could cause crashes under Windows.

https://opus-codec.org/release/stable/2024/04/12/libopus-1_5_2.html

Title: Re: Opus v1.5.2
Post by: NetRanger on 2024-04-14 18:07:50
Opus-tools v0.2-34-g98f3ddc (using libopus 1.5.2)
Built on April 13, 2024, GCC 13.2.0
Title: Re: Opus v1.5.2
Post by: jdimsa on 2024-04-23 05:05:45
Is there any reason to stick to multiples of 16/32 for target bitrate in opus encoder or does it not matter? I noticed qaac/Apple AAC forces 112-128-160-192 etc.
Title: Re: Opus v1.5.2
Post by: 2012 on 2024-04-23 10:43:42
Is there any reason to stick to multiples of 16/32 for target bitrate in opus encoder or does it not matter? I noticed qaac/Apple AAC forces 112-128-160-192 etc.

Unless it's a special use-case which also requires hard CBR, it does not matter.
Title: Re: Opus v1.5.2
Post by: NetRanger on 2024-04-23 16:55:37
Opus-tools v0.2-34-g98f3ddc (using libopus 1.5.2-2-gdfd4175)
Built on April 22, 2024, GCC 13.2.0
Title: Re: Opus v1.5.2
Post by: Marsu42 on 2024-04-25 22:30:29
Is there any reason to stick to multiples of 16/32 for target bitrate in opus encoder or does it not matter? I noticed qaac/Apple AAC forces 112-128-160-192 etc.

Opus does have some built-in bitrate thresholds that affect how it encodes - some, but not all of of these are at 16kbps multiples, probably for historical reasons.
https://wiki.xiph.org/Opus_Recommended_Settings#Bandwidth_Transition_Thresholds
https://github.com/xiph/opus/blob/main/src/opus_encoder.c
Title: Re: Opus v1.5.2
Post by: Kraeved on 2024-04-26 10:48:43
Opus-tools v0.2-34-g98f3ddc (using libopus 1.5.2-2-gdfd4175)
Built on April 22, 2024, GCC 13.2.0

Why is there such a huge difference in size between the encoder (676 352 bytes) and the decoder (5 625 344)?
Title: Re: Opus v1.5.2
Post by: Marsu42 on 2024-04-26 19:05:34
Why is there such a huge difference in size between the encoder (676 352 bytes) and the decoder (5 625 344)?

It's at least partly due to the LACE/noLACE postprocessing for low bitrate voice.

"Building with --enable-osce increases the binary size by about 1.6 MB, roughly 0.5 MB for LACE and 1.1 MB for NoLACE. " https://opus-codec.org/demo/opus-1.5/
Title: Re: Opus v1.5.2
Post by: Kraeved on 2024-04-26 19:32:02
It's at least partly due to the LACE/noLACE postprocessing for low bitrate voice.

Low bitrate voice? It reminds me of this topic (https://hydrogenaud.io/index.php/topic,125810.0.html) where we were looking for a way to compress 11025 Hz 16 bit mono file (history.wav) with speech and some music in the background. We started with 24 kbps, went down to 16 kbps, and ended with 12 kbps MP3 and AAC SBR, which sound not just intelligible, but satisfying. What can Opus offer here?
Title: Re: Opus v1.5.2
Post by: NetRanger on 2024-04-28 17:31:05
Opus-tools v0.2-34-g98f3ddc (using libopus 1.5.2-4-g0dc559f)
Built on April 26, 2024, GCC 13.2.0
Title: Re: Opus v1.5.2
Post by: Kraeved on 2024-04-28 18:42:34
@NetRanger, where can I see the history of changes? Tried three places:
* https://github.com/xiph/opus-tools/ last commit 5 months ago
* https://github.com/xiph/libopusenc/ last commit 2 years ago
* https://github.com/xiph/opus/ last verified commit on Apr 10, 2024, but no g98f3ddc around
Title: Re: Opus v1.5.2
Post by: NetRanger on 2024-04-28 20:21:07
@Kraeved
'g98f3ddc' come from here - https://github.com/xiph/opus-tools/
It's the latest commit made there

Changes to libopus is visible here - https://github.com/xiph/opus
Title: Re: Opus v1.5.2
Post by: Kraeved on 2024-04-28 21:25:54
@NetRanger, err, so the difference between the 2 builds of yours (April 22 and April 26) are 2 unverified commits?

(https://i7.imageban.ru/out/2024/04/28/fab8ec15f6a0c8c829a712e8ae61c61a.png)
Title: Re: Opus v1.5.2
Post by: NetRanger on 2024-04-29 19:59:40
I use media-autobuild_suite for my compile 'needs' and dont really check the changes of what it puts out. It's as simple as that.
Title: Re: Opus v1.5.2
Post by: NetRanger on 2024-05-18 21:07:56
Opus-tools v0.2-34-g98f3ddc (using libopus 1.5.2-10-geb39efa)
Built on May 18, 2024, GCC 14.1.0