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: Opus 1.3.1 (Read 51772 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Opus 1.3.1

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:
  • 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)
  • A new (and still experimental) CMake-based build system that is eventually meant to replace the VS2015 build system (the autotools one will stay)

Source code: opus-1.3.1.tar.gz
Win32 binaries: opus-tools-0.2-opus-1.3.1.zip

Please report any problem you encounter. Enjoy!

Re: Opus 1.3.1

Reply #1
Has the gapless playback issue from here also been taken care of?

Re: Opus 1.3.1

Reply #2
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)
a fan of AutoEq + Meier Crossfeed

Re: Opus 1.3.1

Reply #3
Thanks for the update, great as usual :)

Re: Opus 1.3.1

Reply #4
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.

Re: Opus 1.3.1

Reply #5
No love for Windows 64-Bit?



Re: Opus 1.3.1

Reply #8
Thanks!!


Re: Opus 1.3.1

Reply #10
One advantage: It doesn't support compiling for XP.

Re: Opus 1.3.1

Reply #11
Actually, it supports compiling for XP using VS2017 toolkit. Though it is deprecated in VS2019.




Re: Opus 1.3.1

Reply #15
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.

Re: Opus 1.3.1

Reply #16
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() 

Re: Opus 1.3.1

Reply #17
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?

Re: Opus 1.3.1

Reply #18
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

Re: Opus 1.3.1

Reply #19
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.

Re: Opus 1.3.1

Reply #20
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"

 

Re: Opus 1.3.1

Reply #21
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)

Re: Opus 1.3.1

Reply #22
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.

Re: Opus 1.3.1

Reply #23
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

Re: Opus 1.3.1

Reply #24
Opus encoder both the native ffmpeg and opusenc are improving fast. 24 kbps has little artifacts. Only bass a bit lacks punch at various bitrates, but they are nightly build, you can't pretend high quality on music. Do they import code from one encoder to another? Or is hard work only? How does it work? I don't know nothing other that open source developers run tests.