Skip to content
Snippets Groups Projects
  1. Oct 07, 2023
  2. Sep 26, 2023
    • Jean-Marc Valin's avatar
      Fixes stack overflow for some custom modes · a71ba10f
      Jean-Marc Valin authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      This only affects custom modes (builds with --enable-custom-modes) with frame
      sizes 2.5, 5, 10, and 20ms and sampling rates below 40 kHz. The problem does
      not affect normal use of Opus (using OpusEncoder/OpusDecoder) even when built
      with custom modes enabled, but only special applications that use
      OpusCustomEncoder/OpusCustomDecoder.
      a71ba10f
  3. Jul 12, 2023
    • Jean-Marc Valin's avatar
      Fix a CELT encoder CBR corner case · 9fdc489c
      Jean-Marc Valin authored
      If configuring CELT for CBR but controlling the bitrate with
      OPUS_SET_BITRATE rather than nbCompressedBytes, then the range
      coder buffer would never get resized. AFAICT this could never
      be triggered in Opus because CBR was also controlled by
      nbCompressedBytes.
      9fdc489c
    • Jean-Marc Valin's avatar
      Properly account for SILK bits in CELT CBR code · 1736ae3f
      Jean-Marc Valin authored
      CELT encoding would just fail when setting CELT to CBR in hybrid mode.
      It was never a problem because hybrid CBR was always used with
      OPUS_BITRATE_MAX.
      1736ae3f
  4. Jul 01, 2023
  5. Jun 22, 2023
  6. Jun 21, 2023
  7. Jun 20, 2023
  8. Jun 19, 2023
  9. Jun 16, 2023
  10. Jan 18, 2023
  11. Jul 22, 2022
  12. Jul 15, 2022
  13. Jul 13, 2022
  14. Jul 10, 2022
  15. Jul 09, 2022
  16. Jul 08, 2022
  17. Jul 06, 2022
  18. Jul 05, 2022
  19. Jun 30, 2022
  20. Jun 29, 2022
    • Timothy B. Terriberry's avatar
      Work around a valgrind false-positive in CPUID. · 6577534a
      Timothy B. Terriberry authored
      Valgrind versions prior to 3.17.0 assume that an uninitialized value
       in ECX causes the whole output of CPUID to be uninitialized, even
       though ECX is only "read" by CPUID for certain values of EAX.
      Work around that by guaranteeing that ECX is initialized.
      6577534a
    • Timothy B. Terriberry's avatar
      Check the return value of __get_cpuid(). · 03889ae7
      Timothy B. Terriberry authored
      This function can fail if CPUID is not supported or the maximum
       supported value of EAX is less than the requested one.
      Check the return value and explicitly disable all SIMD if it does
       fail.
      This was happening before implicitly because of the initialization
       of info[] to zero, but being explicit about it makes it less likely
       someone will break this behavior because they did not realize what
       was going on.
      03889ae7
  21. Jun 28, 2022
  22. Jun 26, 2022
    • Jean-Marc Valin's avatar
      Improve background noise estimation for CELT DTX · 63855aff
      Jean-Marc Valin authored
      We now update the background noise estimate even in frames classified
      as transient. It shouldn't be a problem because we're using min
      statistics. Also, it avoids problems when update frames get
      missclassified as transient.
      
      In addition, we now use the duration of losses rather than the
      number of lost packets to make decisions. That should make
      PLC/DTX behaviour more consistent across frame sizes.
      63855aff
Loading