[FFmpeg-cvslog] swr-test: fix rounding error leading to NAN

Michael Niedermayer git at videolan.org
Thu May 3 15:01:31 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu May  3 14:42:37 2012 +0200| [29ed1900cc07d9704c3e2ebdb721baf73f17f328] | committer: Michael Niedermayer

swr-test: fix rounding error leading to NAN

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=29ed1900cc07d9704c3e2ebdb721baf73f17f328
---

 libswresample/swresample_test.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/libswresample/swresample_test.c b/libswresample/swresample_test.c
index 35eede2..7c6e466 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);
             }



More information about the ffmpeg-cvslog mailing list