diff options
author | Neil Birkbeck <neil.birkbeck@gmail.com> | 2013-09-20 17:25:40 -0700 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-09-21 03:10:45 +0200 |
commit | a11c16a0b0cadf3a14fa5e7329c2a144a2165bc6 (patch) | |
tree | cf32d69ec0b78417ad57204e20d4f58c2d7e5deb /libavfilter/vf_psnr.c | |
parent | 15672e832f47dd729f3214e5e1a5bc8e2d1e9cc1 (diff) | |
download | ffmpeg-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.c | 2 |
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++) |