summaryrefslogtreecommitdiff
path: root/chromium/third_party/opus
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-11-18 12:57:27 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-11-18 12:18:42 +0000
commit77c86be6077d3eee53d4b84ba5a2ff3b546e8324 (patch)
tree1a57e394567635c0a63fd25e8d39c5339ab5adc7 /chromium/third_party/opus
parentbac1035f131c0b95b75fb39ffd1a39652843de9f (diff)
downloadqtwebengine-chromium-77c86be6077d3eee53d4b84ba5a2ff3b546e8324.tar.gz
BASELINE: Update Chromium to 77.0.3865.129
Change-Id: Ie569f0076f8854e83485a9beee9a3eb2f50d3362 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'chromium/third_party/opus')
-rw-r--r--chromium/third_party/opus/README.chromium1
-rw-r--r--chromium/third_party/opus/src/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c9
2 files changed, 8 insertions, 2 deletions
diff --git a/chromium/third_party/opus/README.chromium b/chromium/third_party/opus/README.chromium
index d02e51cb111..ec97cd22243 100644
--- a/chromium/third_party/opus/README.chromium
+++ b/chromium/third_party/opus/README.chromium
@@ -22,3 +22,4 @@ Local changes:
reverted when updating to v1.3
* Apply https://github.com/xiph/opus/commit/4f4b11c2398e96134dc62ee794bfe33ecd6e9bd2
* Apply https://git.xiph.org/?p=opus.git;a=commit;h=812ae3fb5c589aaafe761b8ebf86bcbbb8f0ed76
+* Apply https://git.xiph.org/?p=opus.git;a=commit;h=cd529ed
diff --git a/chromium/third_party/opus/src/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c b/chromium/third_party/opus/src/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c
index 00a70cb51ff..6f3be025cc3 100644
--- a/chromium/third_party/opus/src/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c
+++ b/chromium/third_party/opus/src/silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c
@@ -84,7 +84,9 @@ void silk_warped_autocorrelation_FIX_neon(
silk_assert( ( order & 1 ) == 0 );
silk_assert( 2 * QS - QC >= 0 );
- ALLOC( input_QST, length + 2 * MAX_SHAPE_LPC_ORDER, opus_int32 );
+ /* The additional +4 is to ensure a later vld1q_s32 call does not overflow. */
+ /* Strictly, only +3 is needed but +4 simplifies initialization using the 4x32 neon load. */
+ ALLOC( input_QST, length + 2 * MAX_SHAPE_LPC_ORDER + 4, opus_int32 );
input_QS = input_QST;
/* input_QS has zero paddings in the beginning and end. */
@@ -121,6 +123,8 @@ void silk_warped_autocorrelation_FIX_neon(
vst1q_s32( input_QS, vdupq_n_s32( 0 ) );
input_QS += 4;
vst1q_s32( input_QS, vdupq_n_s32( 0 ) );
+ input_QS += 4;
+ vst1q_s32( input_QS, vdupq_n_s32( 0 ) );
input_QS = input_QST + MAX_SHAPE_LPC_ORDER - orderT;
/* The following loop runs ( length + order ) times, with ( order ) extra epilogues. */
@@ -153,7 +157,8 @@ void silk_warped_autocorrelation_FIX_neon(
opus_int o = orderT;
int32x4_t state_QS_s32x4[ 3 ][ 2 ];
- ALLOC( state, length + orderT, opus_int32 );
+ /* The additional +4 is to ensure a later vld1q_s32 call does not overflow. */
+ ALLOC( state, length + order + 4, opus_int32 );
state_QS_s32x4[ 2 ][ 1 ] = vdupq_n_s32( 0 );
/* Calculate 8 taps of all inputs in each loop. */