@@ -303,6 +303,7 @@ struct video_desc get_video_desc_from_string(const char *string)
303
303
// / NTSC with 6 lines overscan (486 lines), compatible with BMD
304
304
{" ntos" , { 720 , 486 , UYVY, 29.97 , INTERLACED_MERGED, 1 }},
305
305
{" pal" , { 720 , 576 , UYVY, 25 , INTERLACED_MERGED, 1 }},
306
+ {" sd" , { 720 , 540 , UYVY, 25 , PROGRESSIVE, 1 }},
306
307
{" cga" , { 320 , 200 , UYVY, 60 , PROGRESSIVE, 1 }},
307
308
{" vga" , { 640 , 480 , UYVY, 60 , PROGRESSIVE, 1 }},
308
309
{" svga" , { 800 , 600 , UYVY, 60 , PROGRESSIVE, 1 }},
@@ -321,14 +322,25 @@ struct video_desc get_video_desc_from_string(const char *string)
321
322
{" dci" , { 2048 , 1080 , UYVY, 23.98 , PROGRESSIVE, 1 }},
322
323
{" dci4" , { 4096 , 2160 , UYVY, 23.98 , PROGRESSIVE, 1 }},
323
324
};
324
- if (strcasecmp (string, " help" ) == 0 ) {
325
- printf (" Recognized video formats: " );
325
+ if (strcasecmp (string, " help" ) == 0 ||
326
+ strcasecmp (string, " fullhelp" ) == 0 ) {
327
+ const bool full = strcasecmp (string, " fullhelp" ) == 0 ;
328
+ printf (" Recognized video formats: %s" , full ? " \n " : " " );
326
329
for (unsigned i = 0 ; i < sizeof map / sizeof map[0 ]; ++i) {
327
- color_printf (TBOLD (" %s" ) " , " , map[i].name );
330
+ if (full) {
331
+ color_printf (" - " TBOLD (" %s" ) " : %s\n " ,
332
+ map[i].name ,
333
+ video_desc_to_string (map[i].desc ));
334
+ } else {
335
+ color_printf (TBOLD (" %s" ) " , " , map[i].name );
336
+ }
337
+ }
338
+ if (full) {
339
+ color_printf (" Further formats with (optional) direct "
340
+ " FPS spec: " );
328
341
}
329
342
color_printf (TBOLD (" {Hp,Hi,hp,2d,4k,4d,1080i,1080p,720p,2160p}{23,24,25,29,30,59,60}" ) " \n " );
330
343
return {};
331
-
332
344
}
333
345
for (unsigned i = 0 ; i < sizeof map / sizeof map[0 ]; ++i) {
334
346
if (strcasecmp (map[i].name , string) == 0 || (strlen (string) == 4 && string[3 ] == ' ' && strncasecmp (map[i].name , string, 3 ) == 0 )) {
0 commit comments