Hello community,

here is the log from the commit of package opus.11943 for 
openSUSE:Leap:15.1:Update checked in at 2020-02-07 14:03:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.1:Update/opus.11943 (Old)
 and      /work/SRC/openSUSE:Leap:15.1:Update/.opus.11943.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "opus.11943"

Fri Feb  7 14:03:47 2020 rev:1 rq:770633 version:1.3.1

Changes:
--------
New Changes file:

--- /dev/null   2019-12-19 10:12:34.003146842 +0100
+++ /work/SRC/openSUSE:Leap:15.1:Update/.opus.11943.new.26092/opus.changes      
2020-02-07 14:03:48.280417721 +0100
@@ -0,0 +1,217 @@
+-------------------------------------------------------------------
+Thu Aug 15 17:37:36 UTC 2019 - Bjørn Lie <[email protected]>
+
+- Add 2 upstream bug fixes for Silk:
+  * opus-Silk-CNG-adapts-faster.patch: Silk CNG adapts faster to
+    received packets with lower gains.
+  * opus-Silk-fix-arm-optimization.patch: Avoid processing LPC
+    coeffs beyond the given order in NEON optimizations.
+
+-------------------------------------------------------------------
+Thu Aug  8 11:02:43 UTC 2019 - Dominique Leuenberger <[email protected]>
+
+- Own %{_datadir}/aclocal: when we might switch to pkgconf instead
+  of pkg-config, nothing in the build root is 'accidentally' owning
+  this directory for us.
+
+-------------------------------------------------------------------
+Sat May 25 08:29:45 UTC 2019 - Luigi Baldoni <[email protected]>
+
+- Update to version 1.3.1
+  * This release fixes an issue with the analysis on files with
+    digital silence (all zeros), especially on x87 builds
+    (mostly affects 32-bit builds).
+  * 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).
+
+-------------------------------------------------------------------
+Thu Oct 18 22:33:04 CEST 2018 - [email protected]
+
+- Update to 1.3:
+    - improved speech/music detection based on a neural network
+    - low-bitrate speech improvements
+    - support for immersive audio using ambisonics
+    - tone quality improvements
+    - updates to the Opus standard (rfc 8251) are on by default
+    - security improvements
+- Clean up SPEC to the latest standards
+
+-------------------------------------------------------------------
+Mon Jun 26 20:06:55 UTC 2017 - [email protected]
+
+- Update to version 1.2.1:
+  + This fixes an issue where the encoder can misdetect that the
+    signal is SWB instead of FB, lowpassing the signal. This patch
+    makes the encoder much more careful about doing that.
+
+-------------------------------------------------------------------
+Wed Jun 21 21:56:12 UTC 2017 - [email protected]
+
+- Cleanup with spec-cleaner
+
+-------------------------------------------------------------------
+Tue Jun 20 21:17:41 UTC 2017 - [email protected]
+
+- Update to version 1.2
+  + Speech quality improvements especially in the 12-20 kbit/s
+    range
+  + Improved VBR encoding for hybrid mode
+  + More aggressive use of wider speech bandwidth, including
+    fullband speech starting at 14 kbit/s
+  + Music quality improvements in the 32-48 kb/s range
+  + Generic and SSE CELT optimizations
+  + Support for directly encoding packets up to 120 ms
+  + DTX support for CELT mode
+  + SILK CBR improvements
+  + Support for all of the fixes in
+    draft-ietf-codec-opus-update-06 (the mono downmix and the
+    folding fixes need --enable-update-draft)
+  + Many bug fixes, including integer wrap-arounds discovered
+    through fuzzing (no security implications)
+- Removed static package
+
+-------------------------------------------------------------------
+Sun May 28 18:54:56 UTC 2017 - [email protected]
+
+- Update to version 1.1.5
+  + This release backports the surround encoder bug fix from
+    1.2-beta branch
+
+-------------------------------------------------------------------
+Sat Mar 11 14:27:30 UTC 2017 - [email protected]
+
+- Rename %soname to %sover to better reflect its use.
+  RPM group fix.
+
+-------------------------------------------------------------------
+Sun Feb 26 23:08:38 UTC 2017 - [email protected]
+
+- Update to version 1.1.4 (CVE-2017-0381):
+  + A specially-crafted Opus packet could cause an integer
+    wrap-around in the SILK LSF stabilization code. This would
+    cause an out-of-bounds read 256 bytes before a constant table.
+- Drop opus-NLSF-not-negative.patch: Fixed upstream.
+
+-------------------------------------------------------------------
+Mon Jan 16 20:56:54 UTC 2017 - [email protected]
+
+- Fix CVE-2017-0381 (boo#1020102), opus: remote code execution
+  vulnerability in silk/NLSF_stabilize.c.
+- Add opus-NLSF-not-negative.patch: Ensure that NLSF cannot be
+  negative when computing a min distance between them.
+
+-------------------------------------------------------------------
+Sat Aug 13 15:26:11 UTC 2016 - [email protected]
+
+- Update to version 1.1.3:
+  + Neon optimizations improving performance on ARMv7 and ARMv8 by
+    up to 15%.
+  + Fixes some issues with 16-bit platforms (e.g. TI C55x).
+  + Fixes to comfort noise generation (CNG).
+  + Documenting that PLC packets can also be 2 bytes.
+  + Includes experimental ambisonics work (--enable-ambisonics).
+- Stop passing conditional --enable/disable-intrinsics, it's
+  enabled by default now.
+- Not adding the new --enable-ambisonics to configure, it's still
+  experimental.
+
+-------------------------------------------------------------------
+Wed Jan 27 09:32:12 UTC 2016 - [email protected]
+
+- Disable SSE2 in SLE_11 due to code or compiler bugs.
+
+-------------------------------------------------------------------
+Tue Jan 26 20:23:12 UTC 2016 - [email protected]
+
+- Enable tests during package build
+- Cleanup spec file with spec-cleaner
+- Drop not needed libtool dependency for build
+
+-------------------------------------------------------------------
+Tue Jan 19 13:24:17 UTC 2016 - [email protected]
+
+- Update to version 1.1.2, fixes the following bugs:
+  + Resetting the encoder or decoder state with OPUS_RESET_STATE
+    would disable some run-time selected architecture-specific
+    optimizations.
+  + In hybrid mode discontinuous transmission (DTX) operation,
+    the comfort noise above 8 kHz was incorrectly estimated
+    and could oscillate in time.
+
+-------------------------------------------------------------------
+Wed Dec  2 19:32:31 UTC 2015 - [email protected]
+
+- Update to version 1.1.1:
+  + x86 SSE, SSE2 and SSE4.1 intrinsics optimizations with run-time
+    CPU detection.
+  + MIPS intrinsics optimizations.
+  + ARM Neon optimizations.
+  + Many architecture-independent optimizations and memory
+    footprint reductions that should improve performance on all
+    platforms, and several minor bug fixes.
+- Pass --enable-intrinsics to configure.
+
+-------------------------------------------------------------------
+Sun Dec  8 00:21:36 UTC 2013 - [email protected]
+
+- Update to version 1.1:
+  + New analysis code and tuning that significantly improves
+    encoding quality, especially for variable-bitrate (VBR).
+  + Automatic detection of speech or music to decide which encoding
+    mode to use.
+  + Surround with good quality at 128 kbps for 5.1 and usable down
+    to 48 kbps.
+  + Speed improvements on all architectures, especially ARM, where
+    decoding uses around 40% less CPU and encoding uses around 30%
+    less CPU.
+
+-------------------------------------------------------------------
+Thu Aug  1 19:12:56 UTC 2013 - [email protected]
+
+- Update to version 1.0.3:
+  + Backport of the new 1.1 surround API.
+  + Fixes for a few minor glitches during mode switching.
+  + Some minor fixed-point fixes.
+  + Fix a regression in the FEC code introduced in 1.0.2.
+
+-------------------------------------------------------------------
+Sat Feb  2 15:21:36 UTC 2013 - [email protected]
+
+- Update to version 1.0.2:
+  + Fix an out-of-bounds read security issue.
+  + Fixes and improvements to the PLC and hybrid mode quality.
+- Drop
+  opus-fix-out-of-bounds-read-issue-with-the-padding-handling.patch
+  Fixed upstream.
+
+-------------------------------------------------------------------
+Sun Jan 13 20:13:46 UTC 2013 - [email protected]
+
+- Add 
+  opus-fix-out-of-bounds-read-issue-with-the-padding-handling.patch
+  Fixes an out-of-bounds read that could be triggered by a
++++ 20 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Leap:15.1:Update/.opus.11943.new.26092/opus.changes

New:
----
  baselibs.conf
  opus-1.3.1.tar.gz
  opus-Silk-CNG-adapts-faster.patch
  opus-Silk-fix-arm-optimization.patch
  opus.changes
  opus.spec

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ opus.spec ++++++
#
# spec file for package opus
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012 Pascal Bleser <[email protected]>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define sover   0
Name:           opus
Version:        1.3.1
Release:        0
Summary:        Audio Codec Library
License:        BSD-3-Clause
Group:          Development/Libraries/C and C++
URL:            https://opus-codec.org/
Source:         https://archive.mozilla.org/pub/opus/%{name}-%{version}.tar.gz
Source99:       baselibs.conf
# PATCH-FIX-UPSTREAM opus-Silk-CNG-adapts-faster.patch -- Silk CNG adapts 
faster to received packets with lower gains
Patch0:         opus-Silk-CNG-adapts-faster.patch
# PATCH-FIX-UPSTREAM opus-Silk-fix-arm-optimization.patch -- Avoid processing 
LPC coeffs beyond the given order in NEON optimizations
Patch1:         opus-Silk-fix-arm-optimization.patch
BuildRequires:  pkgconfig

%description
The Opus codec is designed for interactive speech and audio transmission over
the Internet. It is designed by the IETF Codec Working Group and incorporates
technology from Skype's SILK codec and Xiph.Org's CELT codec.

%package -n libopus%{sover}
Summary:        Opus Audio Codec Library
Group:          System/Libraries

%description -n libopus%{sover}
The Opus codec is designed for interactive speech and audio transmission over
the Internet. It is designed by the IETF Codec Working Group and incorporates
technology from Skype's SILK codec and Xiph.Org's CELT codec.

%package -n libopus-devel
Summary:        Opus Audio Codec Library Development Environment
Group:          Development/Libraries/C and C++
Requires:       libopus%{sover} = %{version}

%description -n libopus-devel
The Opus codec is designed for interactive speech and audio transmission over
the Internet. It is designed by the IETF Codec Working Group and incorporates
technology from Skype's SILK codec and Xiph.Org's CELT codec.

%prep
%setup -q
%patch0 -p1
%patch1 -p1

%build
%configure \
  --disable-static \
  --disable-silent-rules \
  --disable-doc \
  --enable-custom-modes
make %{?_smp_mflags}

%check
make %{?_smp_mflags} check

%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print

%post   -n libopus%{sover} -p /sbin/ldconfig
%postun -n libopus%{sover} -p /sbin/ldconfig

%files -n libopus%{sover}
%license COPYING
%doc AUTHORS README
%{_libdir}/libopus.so.%{sover}*

%files -n libopus-devel
%{_libdir}/libopus.so
%{_includedir}/opus
%{_libdir}/pkgconfig/opus.pc
%dir %{_datadir}/aclocal
%{_datadir}/aclocal/opus.m4

%changelog
++++++ baselibs.conf ++++++
libopus0
++++++ opus-Silk-CNG-adapts-faster.patch ++++++
>From 3ebf4ad86de2469572f7fa2bd6451469e7867c8f Mon Sep 17 00:00:00 2001
From: Felicia Lim <[email protected]>
Date: Fri, 31 May 2019 13:58:44 -0700
Subject: [PATCH] Silk CNG adapts faster to received packets with lower gains

---
 silk/CNG.c    | 4 ++++
 silk/define.h | 1 +
 2 files changed, 5 insertions(+)

diff --git a/silk/CNG.c b/silk/CNG.c
index ef8e38df..2a910099 100644
--- a/silk/CNG.c
+++ b/silk/CNG.c
@@ -118,6 +118,10 @@ void silk_CNG(
         /* Smooth gains */
         for( i = 0; i < psDec->nb_subfr; i++ ) {
             psCNG->CNG_smth_Gain_Q16 += silk_SMULWB( psDecCtrl->Gains_Q16[ i ] 
- psCNG->CNG_smth_Gain_Q16, CNG_GAIN_SMTH_Q16 );
+            /* If the smoothed gain is 3 dB greater than this subframe's gain, 
use this subframe's gain to adapt faster. */
+            if( silk_SMULWW( psCNG->CNG_smth_Gain_Q16, 
CNG_GAIN_SMTH_THRESHOLD_Q16 ) > psDecCtrl->Gains_Q16[ i ] ) {
+                psCNG->CNG_smth_Gain_Q16 = psDecCtrl->Gains_Q16[ i ];
+            }
         }
     }
 
diff --git a/silk/define.h b/silk/define.h
index 247cb0bf..491c86f3 100644
--- a/silk/define.h
+++ b/silk/define.h
@@ -225,6 +225,7 @@ extern "C"
 /* Defines for CN generation */
 #define CNG_BUF_MASK_MAX                        255     /* 
2^floor(log2(MAX_FRAME_LENGTH))-1    */
 #define CNG_GAIN_SMTH_Q16                       4634    /* 0.25^(1/4)          
                 */
+#define CNG_GAIN_SMTH_THRESHOLD_Q16             46396   /* -3 dB               
                 */
 #define CNG_NLSF_SMTH_Q16                       16348   /* 0.25                
                 */
 
 #ifdef __cplusplus
-- 
2.11.0

++++++ opus-Silk-fix-arm-optimization.patch ++++++
>From 812ae3fb5c589aaafe761b8ebf86bcbbb8f0ed76 Mon Sep 17 00:00:00 2001
From: Felicia Lim <[email protected]>
Date: Mon, 8 Jul 2019 09:44:35 -0700
Subject: [PATCH] Avoid processing LPC coeffs beyond the given order in NEON
 optimizations

---
 silk/arm/LPC_inv_pred_gain_neon_intr.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/silk/arm/LPC_inv_pred_gain_neon_intr.c 
b/silk/arm/LPC_inv_pred_gain_neon_intr.c
index ab426bcd..726e6667 100644
--- a/silk/arm/LPC_inv_pred_gain_neon_intr.c
+++ b/silk/arm/LPC_inv_pred_gain_neon_intr.c
@@ -210,19 +210,23 @@ opus_int32 silk_LPC_inverse_pred_gain_neon(         /* O  
 Returns inverse predi
         /* Increase Q domain of the AR coefficients */
         t0_s16x8 = vld1q_s16( A_Q12 +  0 );
         t1_s16x8 = vld1q_s16( A_Q12 +  8 );
-        t2_s16x8 = vld1q_s16( A_Q12 + 16 );
+        if ( order > 16 ) {
+          t2_s16x8 = vld1q_s16( A_Q12 + 16 );
+        }
         t0_s32x4 = vpaddlq_s16( t0_s16x8 );
 
         switch( order - leftover )
         {
         case 24:
             t0_s32x4 = vpadalq_s16( t0_s32x4, t2_s16x8 );
+            vst1q_s32( Atmp_QA + 16, vshll_n_s16( vget_low_s16 ( t2_s16x8 ), 
QA - 12 ) );
+            vst1q_s32( Atmp_QA + 20, vshll_n_s16( vget_high_s16( t2_s16x8 ), 
QA - 12 ) );
             /* FALLTHROUGH */
 
         case 16:
             t0_s32x4 = vpadalq_s16( t0_s32x4, t1_s16x8 );
-            vst1q_s32( Atmp_QA + 16, vshll_n_s16( vget_low_s16 ( t2_s16x8 ), 
QA - 12 ) );
-            vst1q_s32( Atmp_QA + 20, vshll_n_s16( vget_high_s16( t2_s16x8 ), 
QA - 12 ) );
+            vst1q_s32( Atmp_QA +  8, vshll_n_s16( vget_low_s16 ( t1_s16x8 ), 
QA - 12 ) );
+            vst1q_s32( Atmp_QA + 12, vshll_n_s16( vget_high_s16( t1_s16x8 ), 
QA - 12 ) );
             /* FALLTHROUGH */
 
         case 8:
@@ -230,8 +234,8 @@ opus_int32 silk_LPC_inverse_pred_gain_neon(         /* O   
Returns inverse predi
             const int32x2_t t_s32x2 = vpadd_s32( vget_low_s32( t0_s32x4 ), 
vget_high_s32( t0_s32x4 ) );
             const int64x1_t t_s64x1 = vpaddl_s32( t_s32x2 );
             DC_resp = vget_lane_s32( vreinterpret_s32_s64( t_s64x1 ), 0 );
-            vst1q_s32( Atmp_QA +  8, vshll_n_s16( vget_low_s16 ( t1_s16x8 ), 
QA - 12 ) );
-            vst1q_s32( Atmp_QA + 12, vshll_n_s16( vget_high_s16( t1_s16x8 ), 
QA - 12 ) );
+            vst1q_s32( Atmp_QA + 0, vshll_n_s16( vget_low_s16 ( t0_s16x8 ), QA 
- 12 ) );
+            vst1q_s32( Atmp_QA + 4, vshll_n_s16( vget_high_s16( t0_s16x8 ), QA 
- 12 ) );
         }
         break;
 
@@ -246,16 +250,22 @@ opus_int32 silk_LPC_inverse_pred_gain_neon(         /* O  
 Returns inverse predi
         case 6:
             DC_resp += (opus_int32)A_Q12[ 5 ];
             DC_resp += (opus_int32)A_Q12[ 4 ];
+            Atmp_QA[ order - leftover + 5 ] = silk_LSHIFT32( 
(opus_int32)A_Q12[ 5 ], QA - 12 );
+            Atmp_QA[ order - leftover + 4 ] = silk_LSHIFT32( 
(opus_int32)A_Q12[ 4 ], QA - 12 );
             /* FALLTHROUGH */
 
         case 4:
             DC_resp += (opus_int32)A_Q12[ 3 ];
             DC_resp += (opus_int32)A_Q12[ 2 ];
+            Atmp_QA[ order - leftover + 3 ] = silk_LSHIFT32( 
(opus_int32)A_Q12[ 3 ], QA - 12 );
+            Atmp_QA[ order - leftover + 2 ] = silk_LSHIFT32( 
(opus_int32)A_Q12[ 2 ], QA - 12 );
             /* FALLTHROUGH */
 
         case 2:
             DC_resp += (opus_int32)A_Q12[ 1 ];
             DC_resp += (opus_int32)A_Q12[ 0 ];
+            Atmp_QA[ order - leftover + 1 ] = silk_LSHIFT32( 
(opus_int32)A_Q12[ 1 ], QA - 12 );
+            Atmp_QA[ order - leftover + 0 ] = silk_LSHIFT32( 
(opus_int32)A_Q12[ 0 ], QA - 12 );
             /* FALLTHROUGH */
 
         default:
@@ -266,8 +276,6 @@ opus_int32 silk_LPC_inverse_pred_gain_neon(         /* O   
Returns inverse predi
         if( DC_resp >= 4096 ) {
             invGain_Q30 = 0;
         } else {
-            vst1q_s32( Atmp_QA + 0, vshll_n_s16( vget_low_s16 ( t0_s16x8 ), QA 
- 12 ) );
-            vst1q_s32( Atmp_QA + 4, vshll_n_s16( vget_high_s16( t0_s16x8 ), QA 
- 12 ) );
             invGain_Q30 = LPC_inverse_pred_gain_QA_neon( Atmp_QA, order );
         }
     }
-- 
2.11.0


Reply via email to