From 29ed1900cc07d9704c3e2ebdb721baf73f17f328 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Thu, 3 May 2012 14:42:37 +0200
Subject: [PATCH] swr-test: fix rounding error leading to NAN

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
---
 libswresample/swresample_test.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libswresample/swresample_test.c b/libswresample/swresample_test.c
index 35eede231ce..7c6e4668716 100644
--- a/libswresample/swresample_test.c
+++ b/libswresample/swresample_test.c
@@ -357,6 +357,7 @@ int main(int argc, char **argv){
                 maxdiff= FFMAX(maxdiff, FFABS(a-b));
             }
             sse= sum_aa + sum_bb - 2*sum_ab;
+            if(sse < 0 && sse > -0.00001) sse=0; //fix rounding error
 
             fprintf(stderr, "[e:%f c:%f max:%f] len:%5d\n", sqrt(sse/out_count), sum_ab/(sqrt(sum_aa*sum_bb)), maxdiff, out_count);
         }
@@ -386,6 +387,7 @@ int main(int argc, char **argv){
                     maxdiff= FFMAX(maxdiff, FFABS(a-b));
                 }
                 sse= sum_aa + sum_bb - 2*sum_ab;
+                if(sse < 0 && sse > -0.00001) sse=0; //fix rounding error
 
                 fprintf(stderr, "[e:%f c:%f max:%f] len:%5d F:%3d\n", sqrt(sse/flush_count), sum_ab/(sqrt(sum_aa*sum_bb)), maxdiff, flush_count, flush_i);
             }
-- 
GitLab