aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2018-07-13 18:33:08 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2018-07-16 19:02:12 +0200
commit0561cde1289b35272ce1913bd5cb024ade22d6c4 (patch)
tree8a4a3ac2947955dc3ec10203d5b05d83e717d43c
parent670b565ba2b1074290b4a5bcf6f4c6ff55e9c68c (diff)
downloadffmpeg-0561cde1289b35272ce1913bd5cb024ade22d6c4.tar.gz
avcodec/dirac_dwt_template: Fix signedness regression in interleave()
Found-by: <jdarnley> Tested-by: James Darnley <james.darnley@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 181435a4de6e38e0a15ddaf16de9a157ef41cb18) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/dirac_dwt_template.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/dirac_dwt_template.c b/libavcodec/dirac_dwt_template.c
index 528fc7e9e7..2369c8d15b 100644
--- a/libavcodec/dirac_dwt_template.c
+++ b/libavcodec/dirac_dwt_template.c
@@ -57,8 +57,8 @@ static av_always_inline void RENAME(interleave)(TYPE *dst, TYPE *src0, TYPE *src
{
int i;
for (i = 0; i < w2; i++) {
- dst[2*i ] = (src0[i] + (unsigned)add) >> shift;
- dst[2*i+1] = (src1[i] + (unsigned)add) >> shift;
+ dst[2*i ] = ((int)(src0[i] + (unsigned)add)) >> shift;
+ dst[2*i+1] = ((int)(src1[i] + (unsigned)add)) >> shift;
}
}