aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/vf_psnr.c
diff options
context:
space:
mode:
authorNeil Birkbeck <neil.birkbeck@gmail.com>2013-09-20 17:25:40 -0700
committerMichael Niedermayer <michaelni@gmx.at>2013-09-21 03:10:45 +0200
commita11c16a0b0cadf3a14fa5e7329c2a144a2165bc6 (patch)
treecf32d69ec0b78417ad57204e20d4f58c2d7e5deb /libavfilter/vf_psnr.c
parent15672e832f47dd729f3214e5e1a5bc8e2d1e9cc1 (diff)
downloadffmpeg-a11c16a0b0cadf3a14fa5e7329c2a144a2165bc6.tar.gz
avfilter/vf_psnr: Prevent integer overflow.
The 32-bit integer accumulator in MSE computation can overflow for 8-bit frame data. (e.g., for 1080p white frame compared to a black frame can give sum of 255*255*1080*1920 > 2^32). Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/vf_psnr.c')
-rw-r--r--libavfilter/vf_psnr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavfilter/vf_psnr.c b/libavfilter/vf_psnr.c
index 3744579d71..1bcdd7de5c 100644
--- a/libavfilter/vf_psnr.c
+++ b/libavfilter/vf_psnr.c
@@ -91,7 +91,7 @@ void compute_images_mse(PSNRContext *s,
const uint8_t *ref_line = ref_data[c];
const int ref_linesize = ref_linesizes[c];
const int main_linesize = main_linesizes[c];
- int m = 0;
+ uint64_t m = 0;
for (i = 0; i < outh; i++) {
for (j = 0; j < outw; j++)