]> git.sesse.net Git - ffmpeg/blobdiff - tests/audiomatch.c
avutil/frame: Remove deprecated getters and setters
[ffmpeg] / tests / audiomatch.c
index d44c4070e072fa5357ab6462034748a9deffddd7..56a60bdecf85c6540b35e527d942cd752ee0c045 100644 (file)
@@ -24,6 +24,7 @@
 
 #define FFMIN(a,b) ((a) > (b) ? (b) : (a))
 #define FFMAX(a,b) ((a) > (b) ? (a) : (b))
+#define FFABS(a) ((a) >= 0 ? (a) : (-(a)))
 
 static int64_t fsize(FILE *f) {
     int64_t end, pos = ftell(f);
@@ -81,9 +82,9 @@ int main(int argc, char **argv) {
     signal = malloc(siglen * sizeof(*signal));
 
     if (fread(data  , 1, datlen, f[0]) != datlen)
-        return 1;
+        goto read_fail;
     if (fread(signal, 1, siglen, f[1]) != siglen)
-        return 1;
+        goto read_fail;
     datlen /= 2;
     siglen /= 2;
 
@@ -101,14 +102,21 @@ int main(int argc, char **argv) {
             int j = pos + i;
             c += signal[i] * data[j];
         }
-        if (fabs(c) > sigamp * 0.94)
-            maxshift = FFMIN(maxshift, fabs(pos)+32);
-        if (fabs(c) > fabs(bestc)) {
+        if (FFABS(c) > sigamp * 0.94)
+            maxshift = FFMIN(maxshift, FFABS(pos)+32);
+        if (FFABS(c) > FFABS(bestc)) {
             bestc = c;
             bestpos = pos;
         }
     }
     printf("presig: %d postsig:%d c:%7.4f lenerr:%d\n", bestpos, datlen - siglen - bestpos, bestc / sigamp, datlen - siglen);
 
+    free(data);
+    free(signal);
     return 0;
+
+read_fail:
+    free(data);
+    free(signal);
+    return 1;
 }