From 29ed1900cc07d9704c3e2ebdb721baf73f17f328 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 3 May 2012 14:42:37 +0200 Subject: [PATCH] swr-test: fix rounding error leading to NAN Signed-off-by: Michael Niedermayer --- libswresample/swresample_test.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libswresample/swresample_test.c b/libswresample/swresample_test.c index 35eede231c..7c6e466871 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); }