Hydrogenaudio Forums

Lossy Audio Compression => Opus => Topic started by: jmvalin on 2019-04-13 02:41:44

Title: Opus 1.3.1
Post by: jmvalin on 2019-04-13 02:41:44
I'm happy to announce Opus 1.3.1. It is a minor release that fixes an issue with the analysis on files with digital silence (all zeros), especially on x87 builds (mostly affects 32-bit builds). It also includes two new features:

Source code: opus-1.3.1.tar.gz (https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz)
Win32 binaries: opus-tools-0.2-opus-1.3.1.zip (https://archive.mozilla.org/pub/opus/win32/opus-tools-0.2-opus-1.3.1.zip)

Please report any problem you encounter. Enjoy!
Title: Re: Opus 1.3.1
Post by: The Link on 2019-04-13 10:00:58
Has the gapless playback issue from here (https://hydrogenaud.io/index.php/topic,116605.0.html) also been taken care of?
Title: Re: Opus 1.3.1
Post by: magicgoose on 2019-04-13 13:48:33
Can anyone please elaborate a bit about the practical benefits brought by this new feature?
> A new OPUS_GET_IN_DTX query to know if the encoder is in DTX mode (last frame was either a comfort noise frame or not encoded at all)
Title: Re: Opus 1.3.1
Post by: Sajadi on 2019-04-13 14:21:05
Thanks for the update, great as usual :)
Title: Re: Opus 1.3.1
Post by: jmvalin on 2019-04-13 15:43:08
Can anyone please elaborate a bit about the practical benefits brought by this new feature?
> A new OPUS_GET_IN_DTX query to know if the encoder is in DTX mode (last frame was either a comfort noise frame or not encoded at all)

This is only useful is you're writing a VoIP/videoconferencing application and you've asked Opus to stop transmitting when there's no speech.
Title: Re: Opus 1.3.1
Post by: Makaki on 2019-04-14 06:32:36
No love for Windows 64-Bit?
Title: Re: Opus 1.3.1
Post by: Adzz on 2019-04-14 10:55:26
Win32 binaries: opus-tools-0.2-opus-1.3.1.zip (https://archive.mozilla.org/pub/opus/win32/opus-tools-0.2-opus-1.3.1.zip)
Tool: libopus 1.3-26-ge85ed772, libopusenc 0.2.1-2-g9cb17c6

Small issue but it looks kinda messy. Older version is fine: libopus 1.3, libopusenc 0.2.1
Title: Re: Opus 1.3.1
Post by: sveakul on 2019-04-14 18:22:22
No love for Windows 64-Bit?

There is a 64-bit (and 32-bit) alternate build in the package here:  https://github.com/Chocobo1/opus-tools_win32-build/releases (https://github.com/Chocobo1/opus-tools_win32-build/releases)
Title: Re: Opus 1.3.1
Post by: seventhstar on 2019-04-14 20:44:40
Thanks!!
Title: Re: Opus 1.3.1
Post by: Makaki on 2019-04-14 20:51:13
There is a 64-bit (and 32-bit) alternate build in the package here:  https://github.com/Chocobo1/opus-tools_win32-build/releases (https://github.com/Chocobo1/opus-tools_win32-build/releases)

IDK, if there's any advantage, but VS2019 is available.
Title: Re: Opus 1.3.1
Post by: kode54 on 2019-04-15 04:29:39
One advantage: It doesn't support compiling for XP.
Title: Re: Opus 1.3.1
Post by: VEG on 2019-04-16 20:30:16
Actually, it supports compiling for XP using VS2017 toolkit. Though it is deprecated in VS2019.
Title: Re: Opus 1.3.1
Post by: GeezerHz on 2019-04-18 18:47:37
There is a 64-bit (and 32-bit) alternate build in the package here:  https://github.com/Chocobo1/opus-tools_win32-build/releases (https://github.com/Chocobo1/opus-tools_win32-build/releases)
The 64-bit version crashes on Windows 7 x64 when trying to encode a file in all cases.
Code: [Select]
opusenc test.wav test.opus
Crash!
(https://i.imgur.com/dnpgH4R.png)
Title: Re: Opus 1.3.1
Post by: sveakul on 2019-04-18 19:10:38
Do you have the VS2017 redist installed?  You might also want to try the 64-bit build here:
https://moisescardona.me/wp-content/uploads/2019/04/opus-tools-x64-2019-04-13-using-libopus-1.3.1.zip (https://moisescardona.me/wp-content/uploads/2019/04/opus-tools-x64-2019-04-13-using-libopus-1.3.1.zip)

 
Title: Re: Opus 1.3.1
Post by: GeezerHz on 2019-04-18 19:28:55
Do you have the VS2017 redist installed?  You might also want to try the 64-bit build here:
https://moisescardona.me/wp-content/uploads/2019/04/opus-tools-x64-2019-04-13-using-libopus-1.3.1.zip (https://moisescardona.me/wp-content/uploads/2019/04/opus-tools-x64-2019-04-13-using-libopus-1.3.1.zip)
I do have the MSVC17 runtimes. Just downloaded and installed the latest just in case. Still crashes. I'll try building my own 64-bit.
Title: Re: Opus 1.3.1
Post by: lvqcl on 2019-04-18 21:24:41
Both 32-bit and 64-bit encoders from Chocobo1 crash here.
If you click on "Build Log" link on that github page, you'll see that it was compiled with "/arch:AVX" option to compile opus:

https://ci.appveyor.com/project/Chocobo1/opus-tools-win32-build/builds/23820862#L210
https://ci.appveyor.com/project/Chocobo1/opus-tools-win32-build/builds/23820862#L649

So it will crash on pre-AVX processors.
Title: Re: Opus 1.3.1
Post by: lvqcl on 2019-04-18 21:50:52
It seems that opus_functions.cmake from opus library is buggy...
This part doesn't make any sense for me:
Code: [Select]
  if(MSVC) # To avoid warning D9025 of overriding compiler options
    if(AVX_SUPPORTED) # on 64 bit and 32 bits
      add_definitions(/arch:AVX)
    elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) # if AVX not supported then set SSE flag
      if(SSE4_1_SUPPORTED OR SSE2_SUPPORTED)
        add_definitions(/arch:SSE2)
      elseif(SSE1_SUPPORTED)
        add_definitions(/arch:SSE)
      endif()
    endif()
  endif() 
Title: Re: Opus 1.3.1
Post by: GeezerHz on 2019-04-18 21:56:12
I'm just trying to figure out how to make it. There is NO documentation. I have Visual Studio, and I can make opus-1.3.1, but that doesn't produce opusenc and opusdec. When I try to build opus-tools-0.2 I get errors that it can't find ogg/ogg.h, but there is no such file in any of the sources I can find.

Why can't they just document how to build it?
Title: Re: Opus 1.3.1
Post by: NetRanger on 2019-04-18 23:50:08
Opus-tools v0.2-3-gf5f571b (using libopus 1.3.1-1-g296d556d)
Built on April 18, 2019, GCC 7.4.0 (32bit)/8.3.0 (64bit)

https://git.xiph.org/?p=opus-tools.git;a=summary
https://git.xiph.org/?p=libopusenc.git;a=summary
https://git.xiph.org/?p=opus.git;a=summary
https://git.xiph.org/?p=opusfile.git;a=summary
Title: Re: Opus 1.3.1
Post by: Em on 2019-04-20 00:00:18
Why can't they just document how to build it?
The appveyor (rightmost build passing) on the opus-codec.org development page kinda is that, just not really what some imagine. To build opus-tools you need to also build the libraries for Flac, LibOgg, Opus, LibOpusEnc, Opusfile, and OpenSSL (1.0.2-stable). You'll also need perl and nasm for the OpenSSL libraries (it eventually also uses nmake on the command line) and to copy some of the code from other repositories into multiple other repositories' include folder (like ogg\ogg.h in LibOgg). It's a fun little adventure.
Title: Re: Opus 1.3.1
Post by: theislander on 2019-04-24 06:40:47
I'm having trouble building it with cmake. So I downloaded 1.3.1 source code, then "cd ~/Downloads/opus-1.3.1", "mkdir _cmake", "cd _cmake", "cmake .." - error, "CMake Error at CMakeLists.txt:19 (include): include could not find load file: opus_buildtype.cmake"
Title: Re: Opus 1.3.1
Post by: theislander on 2019-04-24 06:51:42
For some reason that file is in git, but not in tar.gz you can download from the release page. Just checked out v1.3.1 of xiph.org/opus.git and it built just fine (opus_buildtype.cmake is there)
Title: Re: Opus 1.3.1
Post by: jmvalin on 2019-04-26 16:18:47
For some reason that file is in git, but not in tar.gz you can download from the release page. Just checked out v1.3.1 of xiph.org/opus.git and it built just fine (opus_buildtype.cmake is there)

Yeah, that file was added at the last minute, but it didn't get added to the list of things to include in the tarball releases. That's now fixed for next time. Thanks for reporting the problem.
Title: Re: Opus 1.3.1
Post by: NetRanger on 2019-04-26 17:27:14
Opus-tools v0.2-3-gf5f571b (using libopus 1.3.1-2-g86e5f5ea)
Built on April 26, 2019, GCC 7.4.0 (32bit)/8.3.0 (64bit)

https://git.xiph.org/?p=opus-tools.git;a=summary
https://git.xiph.org/?p=libopusenc.git;a=summary
https://git.xiph.org/?p=opus.git;a=summary
https://git.xiph.org/?p=opusfile.git;a=summary
SimplePortal 1.0.0 RC1 © 2008-2019