summaryrefslogtreecommitdiff
path: root/libavutil/adler32.c
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-06-29 19:33:10 +0100
committerMans Rullgard <mans@mansr.com>2011-06-30 09:47:32 +0100
commitf6252b48455dc8aa5413a480bc208ea4ac0c9136 (patch)
tree76b7d9cd0430a0c2fd427bf213970563b809771c /libavutil/adler32.c
parente0b8fff6c7a293e35079ba1931bd19372686b3f6 (diff)
adler32: make test program more useful and add fate test
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavutil/adler32.c')
-rw-r--r--libavutil/adler32.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/libavutil/adler32.c b/libavutil/adler32.c
index 4f2001025b..ee1f70e479 100644
--- a/libavutil/adler32.c
+++ b/libavutil/adler32.c
@@ -52,22 +52,30 @@ unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf, unsigne
}
#ifdef TEST
+#include <string.h>
#include "log.h"
#include "timer.h"
#define LEN 7001
volatile int checksum;
-int main(void){
+int main(int argc, char **argv)
+{
int i;
char data[LEN];
av_log_set_level(AV_LOG_DEBUG);
for(i=0; i<LEN; i++)
data[i]= ((i*i)>>3) + 123*i;
- for(i=0; i<1000; i++){
- START_TIMER
- checksum= av_adler32_update(1, data, LEN);
- STOP_TIMER("adler")
+
+ if (argc > 1 && !strcmp(argv[1], "-t")) {
+ for (i = 0; i < 1000; i++) {
+ START_TIMER;
+ checksum = av_adler32_update(1, data, LEN);
+ STOP_TIMER("adler");
+ }
+ } else {
+ checksum = av_adler32_update(1, data, LEN);
}
- av_log(NULL, AV_LOG_DEBUG, "%X == 50E6E508\n", checksum);
- return 0;
+
+ av_log(NULL, AV_LOG_DEBUG, "%X (expected 50E6E508)\n", checksum);
+ return checksum == 0x50e6e508? 0 : 1;
}
#endif