tests: allow passing dimensions to videogen
authorChristophe Gisquet <christophe.gisquet@gmail.com>
Thu, 29 May 2014 16:48:39 +0000 (18:48 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 29 May 2014 19:26:48 +0000 (21:26 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tests/videogen.c

index 94e6e77..91da8b5 100644 (file)
@@ -141,23 +141,37 @@ static void gen_image(int num, int w, int h)
     }
 }
 
+void print_help(const char* name)
+{
+    printf("usage: %s file|dir [w=%i] [h=%i]\n"
+            "generate a test video stream\n",
+            name, DEFAULT_WIDTH, DEFAULT_HEIGHT);
+    exit(1);
+}
+
 int main(int argc, char **argv)
 {
     int w, h, i;
     char buf[1024];
     int isdir = 0;
 
-    if (argc != 2) {
-        printf("usage: %s file|dir\n"
-               "generate a test video stream\n", argv[0]);
-        exit(1);
+    if (argc < 2 || argc > 4) {
+        print_help(argv[0]);
     }
 
     if (!freopen(argv[1], "wb", stdout))
         isdir = 1;
 
     w = DEFAULT_WIDTH;
+    if(argc > 2) {
+        w = atoi(argv[2]);
+        if (w < 1) print_help(argv[0]);
+    }
     h = DEFAULT_HEIGHT;
+    if(argc > 3) {
+        h = atoi(argv[3]);
+        if (h < 1) print_help(argv[0]);
+    }
 
     rgb_tab = malloc(w * h * 3);
     wrap    = w * 3;