aboutsummaryrefslogtreecommitdiff
path: root/src/dsp/arm/loop_restoration_10bit_neon.cc
diff options
context:
space:
mode:
authorBoyuan Yang <byang@debian.org>2023-11-27 22:46:32 -0500
committerBoyuan Yang <byang@debian.org>2023-11-27 22:46:32 -0500
commit7fee0fd1b17b4f963fa1db74c3a5fcc3ff142e0d (patch)
tree4ed468528001d8e80e3be09413ae927ca2ac05ce /src/dsp/arm/loop_restoration_10bit_neon.cc
parent0d1e75e423265689dd49c7d6023d8bba70ca4d05 (diff)
parent19564cb4f77660cdb2f980ca619d4b979b9fe342 (diff)
downloadlibgav1-7fee0fd1b17b4f963fa1db74c3a5fcc3ff142e0d.tar.gz
libgav1-7fee0fd1b17b4f963fa1db74c3a5fcc3ff142e0d.tar.bz2
libgav1-7fee0fd1b17b4f963fa1db74c3a5fcc3ff142e0d.zip
Update upstream source from tag 'upstream/0.19.0'
Update to upstream version '0.19.0' with Debian dir a4233a4a247b06e8d6e36d07d059f03582d97721
Diffstat (limited to 'src/dsp/arm/loop_restoration_10bit_neon.cc')
-rw-r--r--src/dsp/arm/loop_restoration_10bit_neon.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/dsp/arm/loop_restoration_10bit_neon.cc b/src/dsp/arm/loop_restoration_10bit_neon.cc
index 410bc20..9191080 100644
--- a/src/dsp/arm/loop_restoration_10bit_neon.cc
+++ b/src/dsp/arm/loop_restoration_10bit_neon.cc
@@ -1130,7 +1130,13 @@ inline void LookupIntermediate(const uint16x8_t sum, const uint16x8_t index,
const uint8x8_t idx = vqmovn_u16(index);
uint8_t temp[8];
vst1_u8(temp, idx);
- *ma = vsetq_lane_u8(kSgrMaLookup[temp[0]], *ma, offset + 0);
+ // offset == 0 is assumed to be the first call to this function. The value is
+ // duplicated to avoid -Wuninitialized warnings under gcc.
+ if (offset == 0) {
+ *ma = vdupq_n_u8(kSgrMaLookup[temp[0]]);
+ } else {
+ *ma = vsetq_lane_u8(kSgrMaLookup[temp[0]], *ma, offset + 0);
+ }
*ma = vsetq_lane_u8(kSgrMaLookup[temp[1]], *ma, offset + 1);
*ma = vsetq_lane_u8(kSgrMaLookup[temp[2]], *ma, offset + 2);
*ma = vsetq_lane_u8(kSgrMaLookup[temp[3]], *ma, offset + 3);
@@ -1712,8 +1718,6 @@ LIBGAV1_ALWAYS_INLINE void BoxSumFilterPreProcess3(
s[0] = Load1QMsanU16(src + 0, overread_in_bytes + 0);
s[1] = Load1QMsanU16(src + 8, overread_in_bytes + 16);
Square(s[0], sq);
- // Quiet "may be used uninitialized" warning.
- mas[0] = mas[1] = vdupq_n_u8(0);
BoxFilterPreProcess3Lo(s, scale, sum3, square_sum3, sq, &mas[0], bs);
int x = 0;
@@ -2067,8 +2071,6 @@ LIBGAV1_ALWAYS_INLINE void BoxFilterPass2(
s[0] = Load1QMsanU16(src0 + 0, overread_in_bytes + 0);
s[1] = Load1QMsanU16(src0 + 8, overread_in_bytes + 16);
Square(s[0], sq);
- // Quiet "may be used uninitialized" warning.
- mas[0] = mas[1] = vdupq_n_u8(0);
BoxFilterPreProcess3Lo(s, scale, sum3, square_sum3, sq, &mas[0], bs);
int x = 0;
@@ -2255,8 +2257,6 @@ inline void BoxFilterLastRow(
s[0] = Load1QMsanU16(src0 + 0, overread_in_bytes + 0);
s[1] = Load1QMsanU16(src0 + 8, overread_in_bytes + 16);
Square(s[0], sq);
- // Quiet "may be used uninitialized" warning.
- ma3[0] = ma3[1] = vdupq_n_u8(0);
BoxFilterPreProcessLastRowLo(s, scales, sum3, sum5, square_sum3, square_sum5,
sq, &ma3[0], &ma5[0], b3, b5);