Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ffmpeg-7 for openSUSE:Factory 
checked in at 2026-10-12 22:08:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ffmpeg-7 (Old)
 and      /work/SRC/openSUSE:Factory/.ffmpeg-7.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ffmpeg-7"

Mon Oct 12 22:08:53 2026 rev:33 rq:1384349 version:7.1.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/ffmpeg-7/ffmpeg-7.changes        2026-09-11 
18:06:39.867218570 +0200
+++ /work/SRC/openSUSE:Factory/.ffmpeg-7.new.3698736/ffmpeg-7.changes   
2026-10-12 22:08:54.636533913 +0200
@@ -1,0 +2,34 @@
+Mon Oct 12 13:48:17 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Synchronize codec enablement list from ffmpeg-9
+
+-------------------------------------------------------------------
+Mon Oct 12 10:56:46 UTC 2026 - Bjørn Lie <[email protected]>
+
+- Enable RealAudio Lossless, RealVideo 3.0 and 4.0 decoders.
+
+-------------------------------------------------------------------
+Fri Sep 11 12:54:08 UTC 2026 - Cliff Zhao <[email protected]>
+
+- Add ffmpeg-7-CVE-2026-38350_part02_c44d237.patch:
+  Backport c44d237d from upstream, swscale/output: Fix integer
+  overflow with lum/chr/alpha filter.
+  (CVE-2026-38350, bsc#1277370)
+
+-------------------------------------------------------------------
+Fri Sep 11 12:38:21 UTC 2026 - Cliff Zhao <[email protected]>
+
+- Add ffmpeg-7-CVE-2026-38350_part01_aca41d3.patch:
+  Backport aca41d3d from upstream, swscale/output: Fix all bilinear
+  integer overflows.
+  (CVE-2026-38350, bsc#1277370)
+
+-------------------------------------------------------------------
+Fri Sep 11 12:04:54 UTC 2026 - Cliff Zhao <[email protected]>
+
+- Add ffmpeg-7-CVE-2026-38345.patch:
+  Backport 04fe9848 from upstream, libswscale/utils: prevent division
+  by zero for chroma width 8.
+  (CVE-2026-38345, bsc#1277376)
+
+-------------------------------------------------------------------
@@ -196,0 +231,2 @@
+  * swscale/alphablend: don't overread alpha plane on subsampled odd size
+    (CVE-2026-38347, bsc#1277373)
@@ -207,0 +244,8 @@
+  * avcodec/tdsc: remove double stride adjustment
+    (CVE-2026-18393, bsc#1277377)
+  * swscale/output: Fixes integer overflow in yuv2planeX_8_c.
+    (CVE-2026-38346, bsc#1277375)
+  * swscale/output: Fix integer overflow in alpha in yuv2rgba64_1_c_template()
+    (CVE-2026-38349, bsc#1277369)
+  * swscale/utils: Check *Inc
+    (CVE-2026-38348, bsc#1277368)
@@ -403,4 +446,0 @@
-  * avcodec/vp9: Fix race when attaching side-data for show-existing frame. 
(commit: 0ba0585)
-    (CVE-2024-36615, bsc#1234017)
-  * lavc/vp9: Fix regression introduced in 0ba0585.
-    (CVE-2024-36615, bsc#1234017)

New:
----
  ffmpeg-7-CVE-2026-38345.patch
  ffmpeg-7-CVE-2026-38350_part01_aca41d3.patch
  ffmpeg-7-CVE-2026-38350_part02_c44d237.patch

----------(New B)----------
  New:
- Add ffmpeg-7-CVE-2026-38345.patch:
  Backport 04fe9848 from upstream, libswscale/utils: prevent division
  New:
- Add ffmpeg-7-CVE-2026-38350_part01_aca41d3.patch:
  Backport aca41d3d from upstream, swscale/output: Fix all bilinear
  New:
- Add ffmpeg-7-CVE-2026-38350_part02_c44d237.patch:
  Backport c44d237d from upstream, swscale/output: Fix integer
----------(New E)----------

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

Other differences:
------------------
++++++ ffmpeg-7.spec ++++++
--- /var/tmp/diff_new_pack.Ywj6pj/_old  2026-10-12 22:08:56.184598490 +0200
+++ /var/tmp/diff_new_pack.Ywj6pj/_new  2026-10-12 22:08:56.186598573 +0200
@@ -147,6 +147,9 @@
 Patch32:        ffmpeg-7-CVE-2026-75143.patch
 Patch33:        ffmpeg-7-CVE-2026-75144.patch
 Patch34:        ffmpeg-7-CVE-2026-75146.patch
+Patch35:        ffmpeg-7-CVE-2026-38345.patch
+Patch36:        ffmpeg-7-CVE-2026-38350_part01_aca41d3.patch
+Patch37:        ffmpeg-7-CVE-2026-38350_part02_c44d237.patch
 # There is another Patch section further below!
 BuildRequires:  ladspa-devel
 BuildRequires:  libgsm-devel

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.Ywj6pj/_old  2026-10-12 22:08:56.243600951 +0200
+++ /var/tmp/diff_new_pack.Ywj6pj/_new  2026-10-12 22:08:56.247601118 +0200
@@ -1,5 +1,5 @@
-mtime: 1789025729
-commit: c8d3ca4029e8a3aabe1070b9dc95ce40875758dd73392aa1c2147721df770fa8
+mtime: 1791813409
+commit: 30fa5fbfcf145ffd8156561b1f1b02521c59a7df44ab6201e2e8b710dcd34171
 url: https://src.opensuse.org/jengelh/ffmpeg
 revision: ff7
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-10-12 15:56:49.000000000 +0200
@@ -0,0 +1 @@
+.osc

++++++ enable_decoders ++++++
--- /var/tmp/diff_new_pack.Ywj6pj/_old  2026-10-12 22:08:56.425608544 +0200
+++ /var/tmp/diff_new_pack.Ywj6pj/_new  2026-10-12 22:08:56.428608669 +0200
@@ -36,6 +36,7 @@
 adpcm_ima_mtf
 adpcm_ima_oki
 adpcm_ima_qt
+adpcm_ima_qt_at
 adpcm_ima_rad
 adpcm_ima_smjpeg
 adpcm_ima_ssi
@@ -55,6 +56,7 @@
 adpcm_xmd
 adpcm_yamaha
 adpcm_zork
+aic
 alac
 alias_pix
 amrnb # opencore-amr
@@ -66,8 +68,11 @@
 apac
 ape
 apng # animated png
+apv # openapv
 arbc
 argo
+aptx
+aptx_hd
 ass # trivial
 asv1
 asv2
@@ -115,6 +120,7 @@
 dfpwm
 dirac # dirac
 dnxhd
+dnxhr
 dolby_e
 dpx
 dsd_lsbf
@@ -160,6 +166,7 @@
 gremlin_dpcm
 gsm # libgsm
 gsm_ms
+gsm_ms_at
 h261
 h263
 h263_v4l2m2m # passthrough
@@ -199,14 +206,18 @@
 libaom_av1 # libaom
 libcodec2 # codec2
 libdav1d # av1
+libfdk_aac # fdk-aac-free
 libgsm # libgsm
 libgsm_ms # libgsm
+libilbc # ilbc
 libjxl # libjxl
+liblc3 # liblc3
 libopencore_amrnb # opencore-amr
 libopencore_amrwb # opencore-amr
 libopenh264 # passthrough/dlopen
 libopenjpeg # openjpeg
 libopus # opus
+librsvg # librsvg
 libschroedinger # schroedinger
 libspeex # speex
 libvorbis # libvorbis
@@ -265,6 +276,7 @@
 msp2
 msrle
 mss1
+mss2
 msvideo1
 mszh
 mts2
@@ -338,6 +350,7 @@
 qdm2
 qdmc
 qdraw
+qoa
 qoi
 qpeg
 qtrle
@@ -345,6 +358,7 @@
 r210
 ra_144
 ra_288
+ralf
 rasc
 rawvideo # trivial
 realtext
@@ -356,6 +370,8 @@
 rscc
 rv10
 rv20
+rv30
+rv40
 s302m
 sami
 sanm

++++++ enable_encoders ++++++
--- /var/tmp/diff_new_pack.Ywj6pj/_old  2026-10-12 22:08:56.450609587 +0200
+++ /var/tmp/diff_new_pack.Ywj6pj/_new  2026-10-12 22:08:56.452609670 +0200
@@ -23,10 +23,14 @@
 amv
 anull
 apng # libpng
+aptx
+aptx_hd
 ass # trivial
 asv1
 asv2
+av1_amf
 av1_nvenc
+av1_qsv
 av1_vaapi
 ayuv # trival
 bitpacked # trivial
@@ -36,7 +40,9 @@
 dca
 dfpwm
 dnxhd
+dnxhr
 dpx
+dvbsub
 dvdsub
 dvvideo
 exr
@@ -60,10 +66,14 @@
 libaom # libaom
 libaom_av1 # libaom
 libcodec2 # codec2
+libfdk_aac # fdk-aac-free
 libgsm # libgsm
 libgsm_ms # libgsm
+libilbc # ilbc
 libjxl # libjxl
+liblc3 # liblc3
 libmp3lame # lame
+liboapv # openapv
 libopencore_amrnb # opencore-amr
 libopenh264 # passthrough/dlopen
 libopenjpeg # openjpeg

++++++ ffmpeg-7-CVE-2026-38345.patch ++++++
>From 04fe98482a264117fa49a166c18227f3f93f921b Mon Sep 17 00:00:00 2001
From: AnandajithS <[email protected]>
Date: Mon, 16 Feb 2026 02:08:36 +0530
Subject: [PATCH] libswscale/utils: prevent division by zero for chroma width 8

---
 libswscale/utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff a/libswscale/utils.c b/libswscale/utils.c
--- a/libswscale/utils.c        2026-06-20 10:25:34.000000000 +0800
+++ b/libswscale/utils.c        2026-09-16 15:13:16.766379439 +0800
@@ -1408,7 +1408,7 @@
         return AVERROR(EINVAL);
     }
     if (flags & SWS_FAST_BILINEAR) {
-        if (srcW < 8 || dstW < 8) {
+        if (srcW < 8 || dstW <= 8) {
             flags ^= SWS_FAST_BILINEAR | SWS_BILINEAR;
             c->flags = flags;
         }

++++++ ffmpeg-7-CVE-2026-38350_part01_aca41d3.patch ++++++
>From aca41d3d9327be4d6ab036f494b700118fcc04e1 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <[email protected]>
Date: Tue, 29 Jul 2025 20:57:53 +0200
Subject: [PATCH] swscale/output: Fix all bilinear integer overflows

Ticket11686 hinted at one of these overflows
this fixes them all

Issue in line 1325/1326 found by HAORAN FANG <[email protected]>

Signed-off-by: Michael Niedermayer <[email protected]>
---
 libswscale/output.c | 49 +++++++++++++++++++++++++--------------------
 1 file changed, 27 insertions(+), 22 deletions(-)

diff --git a/libswscale/output.c b/libswscale/output.c
--- a/libswscale/output.c
+++ b/libswscale/output.c
@@ -992,27 +992,28 @@
 yuv2ya16_2_c_template(SwsContext *c, const int32_t *buf[2],
                         const int32_t *unused_ubuf[2], const int32_t 
*unused_vbuf[2],
                         const int32_t *abuf[2], uint16_t *dest, int dstW,
-                        int yalpha, int unused_uvalpha, int y,
+                        int yalpha_param, int unused_uvalpha, int y,
                         enum AVPixelFormat target, int unused_hasAlpha,
                         int unused_eightbytes, int is_be)
 {
+    unsigned  yalpha =  yalpha_param;
     int hasAlpha = abuf && abuf[0] && abuf[1];
     const int32_t *buf0  = buf[0],  *buf1  = buf[1],
     *abuf0 = hasAlpha ? abuf[0] : NULL,
     *abuf1 = hasAlpha ? abuf[1] : NULL;
-    int  yalpha1 = 4096 - yalpha;
+    unsigned  yalpha1 = 4096 - yalpha;
     int i;
 
     av_assert2(yalpha  <= 4096U);
 
     for (i = 0; i < dstW; i++) {
-        int Y = (buf0[i] * yalpha1 + buf1[i] * yalpha) >> 15;
+        int Y = (int)(buf0[i] * yalpha1 + buf1[i] * yalpha) >> 15;
         int A;
 
         Y = av_clip_uint16(Y);
 
         if (hasAlpha) {
-            A = (abuf0[i] * yalpha1 + abuf1[i] * yalpha) >> 15;
+            A = (int)(abuf0[i] * yalpha1 + abuf1[i] * yalpha) >> 15;
             A = av_clip_uint16(A);
         }
 
@@ -1135,17 +1136,19 @@
 yuv2rgba64_2_c_template(SwsContext *c, const int32_t *buf[2],
                        const int32_t *ubuf[2], const int32_t *vbuf[2],
                        const int32_t *abuf[2], uint16_t *dest, int dstW,
-                       int yalpha, int uvalpha, int y,
+                       int yalpha_param, int uvalpha_param, int y,
                        enum AVPixelFormat target, int hasAlpha, int eightbytes,
                        int is_be)
 {
+    unsigned  yalpha =  yalpha_param;
+    unsigned uvalpha = uvalpha_param;
     const int32_t *buf0  = buf[0],  *buf1  = buf[1],
                   *ubuf0 = ubuf[0], *ubuf1 = ubuf[1],
                   *vbuf0 = vbuf[0], *vbuf1 = vbuf[1],
                   *abuf0 = hasAlpha ? abuf[0] : NULL,
                   *abuf1 = hasAlpha ? abuf[1] : NULL;
-    int  yalpha1 = 4096 - yalpha;
-    int uvalpha1 = 4096 - uvalpha;
+    unsigned  yalpha1 = 4096 - yalpha;
+    unsigned uvalpha1 = 4096 - uvalpha;
     int i;
     int A1 = 0xffff<<14, A2 = 0xffff<<14;
 
@@ -1153,10 +1156,10 @@
     av_assert2(uvalpha <= 4096U);
 
     for (i = 0; i < ((dstW + 1) >> 1); i++) {
-        unsigned Y1 = (buf0[i * 2]     * yalpha1  + buf1[i * 2]     * yalpha) 
>> 14;
-        unsigned Y2 = (buf0[i * 2 + 1] * yalpha1  + buf1[i * 2 + 1] * yalpha) 
>> 14;
-        int U  = (ubuf0[i]        * uvalpha1 + ubuf1[i]        * uvalpha - 
(128 << 23)) >> 14;
-        int V  = (vbuf0[i]        * uvalpha1 + vbuf1[i]        * uvalpha - 
(128 << 23)) >> 14;
+        unsigned Y1 = (int)(buf0[i * 2]     * yalpha1  + buf1[i * 2]     * 
yalpha) >> 14;
+        unsigned Y2 = (int)(buf0[i * 2 + 1] * yalpha1  + buf1[i * 2 + 1] * 
yalpha) >> 14;
+        int U  = (int)(ubuf0[i]        * uvalpha1 + ubuf1[i]        * uvalpha 
- (128 << 23)) >> 14;
+        int V  = (int)(vbuf0[i]        * uvalpha1 + vbuf1[i]        * uvalpha 
- (128 << 23)) >> 14;
         int R, G, B;
 
         Y1 -= c->yuv2rgb_y_offset;
@@ -1171,8 +1174,8 @@
         B =                            U * c->yuv2rgb_u2b_coeff;
 
         if (hasAlpha) {
-            A1 = (abuf0[i * 2    ] * yalpha1 + abuf1[i * 2    ] * yalpha) >> 1;
-            A2 = (abuf0[i * 2 + 1] * yalpha1 + abuf1[i * 2 + 1] * yalpha) >> 1;
+            A1 = (int)(abuf0[i * 2    ] * yalpha1 + abuf1[i * 2    ] * yalpha) 
>> 1;
+            A2 = (int)(abuf0[i * 2 + 1] * yalpha1 + abuf1[i * 2 + 1] * yalpha) 
>> 1;
 
             A1 += 1 << 13;
             A2 += 1 << 13;
@@ -1370,17 +1373,19 @@
 yuv2rgba64_full_2_c_template(SwsContext *c, const int32_t *buf[2],
                        const int32_t *ubuf[2], const int32_t *vbuf[2],
                        const int32_t *abuf[2], uint16_t *dest, int dstW,
-                       int yalpha, int uvalpha, int y,
+                       int yalpha_param, int uvalpha_param, int y,
                        enum AVPixelFormat target, int hasAlpha, int eightbytes,
                        int is_be)
 {
+    unsigned  yalpha =  yalpha_param;
+    unsigned uvalpha = uvalpha_param;
     const int32_t *buf0  = buf[0],  *buf1  = buf[1],
                   *ubuf0 = ubuf[0], *ubuf1 = ubuf[1],
                   *vbuf0 = vbuf[0], *vbuf1 = vbuf[1],
                   *abuf0 = hasAlpha ? abuf[0] : NULL,
                   *abuf1 = hasAlpha ? abuf[1] : NULL;
-    int  yalpha1 = 4096 - yalpha;
-    int uvalpha1 = 4096 - uvalpha;
+    unsigned  yalpha1 = 4096 - yalpha;
+    unsigned uvalpha1 = 4096 - uvalpha;
     int i;
     int A = 0xffff<<14;
 
@@ -1388,9 +1393,9 @@
     av_assert2(uvalpha <= 4096U);
 
     for (i = 0; i < dstW; i++) {
-        int Y  = (buf0[i]     * yalpha1  + buf1[i]     * yalpha) >> 14;
-        int U  = (ubuf0[i]   * uvalpha1 + ubuf1[i]     * uvalpha - (128 << 
23)) >> 14;
-        int V  = (vbuf0[i]   * uvalpha1 + vbuf1[i]     * uvalpha - (128 << 
23)) >> 14;
+        int Y  = (int)(buf0[i]     * yalpha1  + buf1[i]     * yalpha) >> 14;
+        int U  = (int)(ubuf0[i]   * uvalpha1 + ubuf1[i]     * uvalpha - (128 
<< 23)) >> 14;
+        int V  = (int)(vbuf0[i]   * uvalpha1 + vbuf1[i]     * uvalpha - (128 
<< 23)) >> 14;
         int R, G, B;
 
         Y -= c->yuv2rgb_y_offset;
@@ -1402,7 +1407,7 @@
         B =                            U * c->yuv2rgb_u2b_coeff;
 
         if (hasAlpha) {
-            A = (abuf0[i] * yalpha1 + abuf1[i] * yalpha) >> 1;
+            A = (int)(abuf0[i] * yalpha1 + abuf1[i] * yalpha) >> 1;
 
             A += 1 << 13;
         }

++++++ ffmpeg-7-CVE-2026-38350_part02_c44d237.patch ++++++
>From c44d237d8069a7be8679b27106372f2ba8c0a51b Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <[email protected]>
Date: Wed, 30 Jul 2025 12:35:59 +0200
Subject: [PATCH] swscale/output: Fix integer overflow with lum/chr/alpha
 filter

Signed-off-by: Michael Niedermayer <[email protected]>
---
 libswscale/output.c | 94 ++++++++++++++++++++++-----------------------
 1 file changed, 47 insertions(+), 47 deletions(-)

diff --git a/libswscale/output.c b/libswscale/output.c
--- a/libswscale/output.c
+++ b/libswscale/output.c
@@ -442,8 +442,8 @@
             int v = chrDither[(i + 3) & 7] << 12;
             int j;
             for (j=0; j<chrFilterSize; j++) {
-                u += chrUSrc[j][i] * chrFilter[j];
-                v += chrVSrc[j][i] * chrFilter[j];
+                u += (unsigned)(chrUSrc[j][i] * chrFilter[j]);
+                v += (unsigned)(chrVSrc[j][i] * chrFilter[j]);
             }
 
             dest[2*i]= av_clip_uint8(u>>19);
@@ -455,8 +455,8 @@
             int v = chrDither[(i + 3) & 7] << 12;
             int j;
             for (j=0; j<chrFilterSize; j++) {
-                u += chrUSrc[j][i] * chrFilter[j];
-                v += chrVSrc[j][i] * chrFilter[j];
+                u += (unsigned)(chrUSrc[j][i] * chrFilter[j]);
+                v += (unsigned)(chrVSrc[j][i] * chrFilter[j]);
             }
 
             dest[2*i]= av_clip_uint8(v>>19);
@@ -519,8 +519,8 @@
         int v = 1 << (shift - 1);
 
         for (j = 0; j < chrFilterSize; j++) {
-            u += chrUSrc[j][i] * chrFilter[j];
-            v += chrVSrc[j][i] * chrFilter[j];
+            u += (unsigned)(chrUSrc[j][i] * chrFilter[j]);
+            v += (unsigned)(chrVSrc[j][i] * chrFilter[j]);
         }
 
         output_pixel(&dest[2*i]  , u);
@@ -617,8 +617,8 @@
         int Y2 = 1 << 18;
 
         for (j = 0; j < lumFilterSize; j++) {
-            Y1 += lumSrc[j][i]   * lumFilter[j];
-            Y2 += lumSrc[j][i+1] * lumFilter[j];
+            Y1 += (unsigned)(lumSrc[j][i]   * lumFilter[j]);
+            Y2 += (unsigned)(lumSrc[j][i+1] * lumFilter[j]);
         }
         Y1 >>= 19;
         Y2 >>= 19;
@@ -835,12 +835,12 @@
         int V  = 1 << 18;
 
         for (j = 0; j < lumFilterSize; j++) {
-            Y1 += lumSrc[j][i * 2]     * lumFilter[j];
-            Y2 += lumSrc[j][i * 2 + 1] * lumFilter[j];
+            Y1 += (unsigned)(lumSrc[j][i * 2]     * lumFilter[j]);
+            Y2 += (unsigned)(lumSrc[j][i * 2 + 1] * lumFilter[j]);
         }
         for (j = 0; j < chrFilterSize; j++) {
-            U += chrUSrc[j][i] * chrFilter[j];
-            V += chrVSrc[j][i] * chrFilter[j];
+            U += (unsigned)(chrUSrc[j][i] * chrFilter[j]);
+            V += (unsigned)(chrVSrc[j][i] * chrFilter[j]);
         }
         Y1 >>= 19;
         Y2 >>= 19;
@@ -1735,12 +1735,12 @@
         const void *r, *g, *b;
 
         for (j = 0; j < lumFilterSize; j++) {
-            Y1 += lumSrc[j][i * 2]     * lumFilter[j];
-            Y2 += lumSrc[j][i * 2 + 1] * lumFilter[j];
+            Y1 += (unsigned)(lumSrc[j][i * 2]     * lumFilter[j]);
+            Y2 += (unsigned)(lumSrc[j][i * 2 + 1] * lumFilter[j]);
         }
         for (j = 0; j < chrFilterSize; j++) {
-            U += chrUSrc[j][i] * chrFilter[j];
-            V += chrVSrc[j][i] * chrFilter[j];
+            U += (unsigned)(chrUSrc[j][i] * chrFilter[j]);
+            V += (unsigned)(chrVSrc[j][i] * chrFilter[j]);
         }
         Y1 >>= 19;
         Y2 >>= 19;
@@ -1750,8 +1750,8 @@
             A1 = 1 << 18;
             A2 = 1 << 18;
             for (j = 0; j < lumFilterSize; j++) {
-                A1 += alpSrc[j][i * 2    ] * lumFilter[j];
-                A2 += alpSrc[j][i * 2 + 1] * lumFilter[j];
+                A1 += (unsigned)(alpSrc[j][i * 2    ] * lumFilter[j]);
+                A2 += (unsigned)(alpSrc[j][i * 2 + 1] * lumFilter[j]);
             }
             A1 >>= 19;
             A2 >>= 19;
@@ -2097,11 +2097,11 @@
         int V = (1<<9)-(128 << 19);
 
         for (j = 0; j < lumFilterSize; j++) {
-            Y += lumSrc[j][i] * lumFilter[j];
+            Y += (unsigned)(lumSrc[j][i] * lumFilter[j]);
         }
         for (j = 0; j < chrFilterSize; j++) {
-            U += chrUSrc[j][i] * chrFilter[j];
-            V += chrVSrc[j][i] * chrFilter[j];
+            U += (unsigned)(chrUSrc[j][i] * chrFilter[j]);
+            V += (unsigned)(chrVSrc[j][i] * chrFilter[j]);
         }
         Y >>= 10;
         U >>= 10;
@@ -2109,7 +2109,7 @@
         if (hasAlpha) {
             A = 1 << 18;
             for (j = 0; j < lumFilterSize; j++) {
-                A += alpSrc[j][i] * lumFilter[j];
+                A += (unsigned)(alpSrc[j][i] * lumFilter[j]);
             }
             A >>= 19;
             if (A & 0x100)
@@ -2272,11 +2272,11 @@
         int R, G, B;
 
         for (j = 0; j < lumFilterSize; j++)
-            Y += lumSrc[j][i] * lumFilter[j];
+            Y += (unsigned)(lumSrc[j][i] * lumFilter[j]);
 
         for (j = 0; j < chrFilterSize; j++) {
-            U += chrUSrc[j][i] * chrFilter[j];
-            V += chrVSrc[j][i] * chrFilter[j];
+            U += (unsigned)(chrUSrc[j][i] * chrFilter[j]);
+            V += (unsigned)(chrVSrc[j][i] * chrFilter[j]);
         }
 
         Y >>= 10;
@@ -2287,7 +2287,7 @@
             A = 1 << 18;
 
             for (j = 0; j < lumFilterSize; j++)
-                A += alpSrc[j][i] * lumFilter[j];
+                A += (unsigned)(alpSrc[j][i] * lumFilter[j]);
 
             if (A & 0xF8000000)
                 A =  av_clip_uintp2(A, 27);
@@ -2551,7 +2551,7 @@
         int Y = 1 << 18, A = 1 << 18;
 
         for (j = 0; j < lumFilterSize; j++)
-            Y += lumSrc[j][i] * lumFilter[j];
+            Y += (unsigned)(lumSrc[j][i] * lumFilter[j]);
 
         Y >>= 19;
         if (Y  & 0x100)
@@ -2559,7 +2559,7 @@
 
         if (hasAlpha) {
             for (j = 0; j < lumFilterSize; j++)
-                A += alpSrc[j][i] * lumFilter[j];
+                A += (unsigned)(alpSrc[j][i] * lumFilter[j]);
 
             A >>= 19;
 
@@ -2634,11 +2634,11 @@
         int j;
 
         for (j = 0; j < lumFilterSize; j++)
-            Y += lumSrc[j][i] * lumFilter[j];
+            Y += (unsigned)(lumSrc[j][i] * lumFilter[j]);
 
         for (j = 0; j < chrFilterSize; j++) {
-            U += chrUSrc[j][i] * chrFilter[j];
-            V += chrVSrc[j][i] * chrFilter[j];
+            U += (unsigned)(chrUSrc[j][i] * chrFilter[j]);
+            V += (unsigned)(chrVSrc[j][i] * chrFilter[j]);
         }
 
         Y = av_clip_uintp2(Y >> 17, 10);
@@ -2662,11 +2662,11 @@
         int j;
 
         for (j = 0; j < lumFilterSize; j++)
-            Y += lumSrc[j][i] * lumFilter[j];
+            Y += (unsigned)(lumSrc[j][i] * lumFilter[j]);
 
         for (j = 0; j < chrFilterSize; j++) {
-            U += chrUSrc[j][i] * chrFilter[j];
-            V += chrVSrc[j][i] * chrFilter[j];
+            U += (unsigned)(chrUSrc[j][i] * chrFilter[j]);
+            V += (unsigned)(chrVSrc[j][i] * chrFilter[j]);
         }
 
         AV_WL16(dest + 8 * i + 2, av_clip_uintp2(Y >> 15, 12) << 4);
@@ -2691,13 +2691,13 @@
         int V = 1 << 18, A = 255;
 
         for (j = 0; j < lumFilterSize; j++)
-            Y += lumSrc[j][i] * lumFilter[j];
+            Y += (unsigned)(lumSrc[j][i] * lumFilter[j]);
 
         for (j = 0; j < chrFilterSize; j++)
-            U += chrUSrc[j][i] * chrFilter[j];
+            U += (unsigned)(chrUSrc[j][i] * chrFilter[j]);
 
         for (j = 0; j < chrFilterSize; j++)
-            V += chrVSrc[j][i] * chrFilter[j];
+            V += (unsigned)(chrVSrc[j][i] * chrFilter[j]);
 
         Y >>= 19;
         U >>= 19;
@@ -2714,7 +2714,7 @@
             A = 1 << 18;
 
             for (j = 0; j < lumFilterSize; j++)
-                A += alpSrc[j][i] * lumFilter[j];
+                A += (unsigned)(alpSrc[j][i] * lumFilter[j]);
 
             A >>= 19;
 
@@ -2750,13 +2750,13 @@
             int U  = 1 << (shift - 1), V  = 1 << (shift - 1);           \
                                                                         \
             for (j = 0; j < lumFilterSize; j++) {                       \
-                Y1 += lumSrc[j][i * 2]     * lumFilter[j];              \
-                Y2 += lumSrc[j][i * 2 + 1] * lumFilter[j];              \
+                Y1 += (unsigned)(lumSrc[j][i * 2]     * lumFilter[j]);         
     \
+                Y2 += (unsigned)(lumSrc[j][i * 2 + 1] * lumFilter[j]);         
     \
             }                                                           \
                                                                         \
             for (j = 0; j < chrFilterSize; j++) {                       \
-                U += chrUSrc[j][i] * chrFilter[j];                      \
-                V += chrVSrc[j][i] * chrFilter[j];                      \
+                U += (unsigned)(chrUSrc[j][i] * chrFilter[j]);                 
     \
+                V += (unsigned)(chrVSrc[j][i] * chrFilter[j]);                 
     \
             }                                                           \
                                                                         \
             output_pixel(dest + 8 * i + 0, Y1, bits);                   \

Reply via email to