For a sample size of 32 bits, the shift would overflow producing undefined results. Incidentally, in the only test currently using 32-bit samples, the output matches the reference exactly on most systems meaning the bad 'max' value is never used.
Signed-off-by: Mans Rullgard <[email protected]> --- tests/tiny_psnr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tiny_psnr.c b/tests/tiny_psnr.c index a53a670..b1bcc16 100644 --- a/tests/tiny_psnr.c +++ b/tests/tiny_psnr.c @@ -146,7 +146,7 @@ int main(int argc, char *argv[]) } } - max = (1 << (8 * len)) - 1; + max = (1LL << (8 * len)) - 1; f[0] = fopen(argv[1], "rb"); f[1] = fopen(argv[2], "rb"); -- 1.7.12.3 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
