From 72b5d885bc79ca6bbf6e1c44b8616b4bdabddbb7 Mon Sep 17 00:00:00 2001 From: diego Date: Wed, 23 Jan 2008 00:05:48 +0000 Subject: Move compare.c to TOOLS, add it to the Makefile and document it. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25830 b3059339-0415-0410-9bf9-f77b7e298cf2 --- TOOLS/Makefile | 1 + TOOLS/README | 10 ++++++++ TOOLS/compare.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 TOOLS/compare.c (limited to 'TOOLS') diff --git a/TOOLS/Makefile b/TOOLS/Makefile index e2d3a2cd35..747327d778 100644 --- a/TOOLS/Makefile +++ b/TOOLS/Makefile @@ -6,6 +6,7 @@ OBJS = alaw-gen$(EXESUF) \ asfinfo$(EXESUF) \ avi-fix$(EXESUF) \ avisubdump$(EXESUF) \ + compare$(EXESUF) \ dump_mp4$(EXESUF) \ modify_reg$(EXESUF) \ movinfo$(EXESUF) \ diff --git a/TOOLS/README b/TOOLS/README index 2d86017384..baf072ef26 100644 --- a/TOOLS/README +++ b/TOOLS/README @@ -519,6 +519,16 @@ Usage: modify_reg -r -l Notes: Necessary to use CoreAVC with MPlayer +compare.c + +Author: Michael Niedermayer + +Description: Simple file compare program that detects the number of rounding + errors and dies if the error is too large. + +Usage: compare + + realcodecs/ Author: miscellaneous diff --git a/TOOLS/compare.c b/TOOLS/compare.c new file mode 100644 index 0000000000..8230fa25a9 --- /dev/null +++ b/TOOLS/compare.c @@ -0,0 +1,74 @@ +/* + * Simple file compare program, it finds the number of rounding errors + * and dies if there is too large an error ( ABS(a-b)>1 ). + * + * copyright (c) 2001 Michael Niedermayer + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include + +// FIXME: No checks but it is just for debugging so who cares ;) + +int main(int argc, char **argv) +{ + FILE *f0, *f1; + int dif=0; + + if(argc!=3) + { + printf("compare \n"); + exit(2); + } + + f0= fopen(argv[1], "rb"); + f1= fopen(argv[2], "rb"); + + for(;;) + { + short c0; + short c1; + int d; + + int e0= fread(&c0, 2, 1, f0); + int e1= fread(&c1, 2, 1, f1); + + d=c0-c1; + if(e0==0 && e1==0) break; + if(e0==0 || e1==0) + { + printf("FATAL error, files have different size!\n"); + exit(1); + } + + if(d<0) d=-d; // ABS + if(d>1) + { + printf("FATAL error, too large a difference found (%d)!\n", d); + exit(1); + } + + if(d) dif++; + } + + fclose(f0); + fclose(f1); + + printf("%d (+/-1)differences found\n", dif); + exit(0); +} + -- cgit v1.2.3