On Tue, Feb 9, 2016 at 6:12 AM, Luca Barbato <[email protected]> wrote:
> From: Thomas Lee <[email protected]>

no real email available?

> If an input file is bigger than 2GB (assume sizeof(int) == 4)),
> size0/size1 will overflow, making stddev and PSNR invalid.
>
> Signed-off-by: Luca Barbato <[email protected]>
> ---
>
> Pull request on github, looks good to me.
>
>  tests/tiny_psnr.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/tests/tiny_psnr.c b/tests/tiny_psnr.c
> index d06baf6..3fe1087 100644
> --- a/tests/tiny_psnr.c
> +++ b/tests/tiny_psnr.c
> @@ -117,7 +117,7 @@ static double get_f64l(uint8_t *p)
>
>  int main(int argc, char *argv[])
>  {
> -    int i, j;
> +    uint64_t i, j;
>      uint64_t sse = 0;
>      double sse_d = 0.0;
>      FILE *f[2];
> @@ -126,8 +126,8 @@ int main(int argc, char *argv[])
>      int64_t max;
>      int shift      = argc < 5 ? 0 : atoi(argv[4]);
>      int skip_bytes = argc < 6 ? 0 : atoi(argv[5]);
> -    int size0      = 0;
> -    int size1      = 0;
> +    uint64_t size0   = 0;
> +    uint64_t size1   = 0;
>      uint64_t maxdist = 0;
>      double maxdist_d = 0.0;
>
> @@ -251,7 +251,7 @@ int main(int argc, char *argv[])
>          else
>              psnr = 1000 * F - 1; // floating point free infinity :)
>
> -        printf("stddev:%5d.%02d PSNR:%3d.%02d MAXDIFF:%5"PRIu64" 
> bytes:%9d/%9d\n",
> +        printf("stddev:%5d.%02d PSNR:%3d.%02d MAXDIFF:%5"PRIu64" 
> bytes:%9"PRIu64"/%9"PRIu64"\n",
>                 (int)(dev / F), (int)(dev % F),
>                 (int)(psnr / F), (int)(psnr % F),
>                 maxdist, size0, size1);
> @@ -271,7 +271,7 @@ int main(int argc, char *argv[])
>
>          maxdist = maxdist_d * scale;
>
> -        printf("stddev:%10.2f PSNR:%s MAXDIFF:%10"PRIu64" bytes:%9d/%9d\n",
> +        printf("stddev:%10.2f PSNR:%s MAXDIFF:%10"PRIu64" 
> bytes:%9"PRIu64"/%9"PRIu64"\n",
>                 dev * scale, psnr_str, maxdist, size0, size1);
>          break;
>      }

seems ok
-- 
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to