[FFmpeg-devel] [PATCH 1/2] tests/tiny_psnr: do not ignore errors from run_psnr

Michael Niedermayer michaelni at gmx.at
Thu Apr 23 04:43:09 CEST 2015


failure to calculate psnr should not result in tiny_psnr returning success

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
---
 tests/tiny_psnr.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/tests/tiny_psnr.c b/tests/tiny_psnr.c
index e09f394..5f791c1 100644
--- a/tests/tiny_psnr.c
+++ b/tests/tiny_psnr.c
@@ -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;
-- 
1.7.9.5



More information about the ffmpeg-devel mailing list