Browse Source

tests: allow passing dimensions to videogen

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Christophe Gisquet 10 years ago
parent
commit
bf7e9cc82a
1 changed files with 18 additions and 4 deletions
  1. 18 4
      tests/videogen.c

+ 18 - 4
tests/videogen.c

@@ -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;