Commit 06747f84 authored by Michael Niedermayer's avatar Michael Niedermayer

tests/tiny_psnr: do not ignore errors from run_psnr

failure to calculate psnr should not result in tiny_psnr returning success
Reviewed-by: 's avatarTimothy Gu <timothygu99@gmail.com>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 32da94fa
......@@ -150,16 +150,16 @@ static int run_psnr(FILE *f[2], int len, int shift, int skip_bytes)
for (i = 0; i < 2; i++) {
uint8_t *p = buf[i];
if (fread(p, 1, 12, f[i]) != 12)
return 1;
return -1;
if (!memcmp(p, "RIFF", 4) &&
!memcmp(p + 8, "WAVE", 4)) {
if (fread(p, 1, 8, f[i]) != 8)
return 1;
return -1;
while (memcmp(p, "data", 4)) {
int s = p[4] | p[5] << 8 | p[6] << 16 | p[7] << 24;
fseek(f[i], s, SEEK_CUR);
if (fread(p, 1, 8, f[i]) != 8)
return 1;
return -1;
}
} else {
fseek(f[i], -12, SEEK_CUR);
......@@ -315,6 +315,9 @@ int main(int argc, char *argv[])
max_psnr_shift = shift;
}
}
if (max_psnr < 0)
return 2;
if (shift_last > shift_first)
printf("Best PSNR is %3d.%02d for shift %i\n", (int)(max_psnr / F), (int)(max_psnr % F), max_psnr_shift);
return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment