probetest: allow specifying parameters on the command line
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 31 May 2012 13:53:58 +0000 (15:53 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 31 May 2012 13:53:58 +0000 (15:53 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tools/probetest.c

index 36a05a3..f8a617d 100644 (file)
@@ -49,12 +49,19 @@ static void probe(AVProbeData *pd, int type, int p, int size)
     }
 }
 
-int main(void)
+int main(int argc, char **argv)
 {
     unsigned int p, i, type, size, retry;
     AVProbeData pd;
     AVLFG state;
     PutBitContext pb;
+    int retry_count= 4097;
+    int max_size = 65537;
+
+    if(argc >= 2)
+        retry_count = atoi(argv[1]);
+    if(argc >= 3)
+        max_size = atoi(argv[2]);
 
     avcodec_register_all();
     av_register_all();
@@ -62,14 +69,14 @@ int main(void)
     av_lfg_init(&state, 0xdeadbeef);
 
     pd.buf = NULL;
-    for (size = 1; size < 65537; size *= 2) {
+    for (size = 1; size < max_size; size *= 2) {
         pd.buf_size = size;
         pd.buf      = av_realloc(pd.buf, size + AVPROBE_PADDING_SIZE);
         pd.filename = "";
 
         fprintf(stderr, "testing size=%d\n", size);
 
-        for (retry = 0; retry < 4097; retry += FFMAX(size, 32)) {
+        for (retry = 0; retry < retry_count; retry += FFMAX(size, 32)) {
             for (type = 0; type < 4; type++) {
                 for (p = 0; p < 4096; p++) {
                     unsigned hist = 0;