Skip to content

Commit 484a5a0

Browse files
committed
testcard:mode= add fullhelp + sd
1 parent 924453e commit 484a5a0

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

src/video.cpp

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ struct video_desc get_video_desc_from_string(const char *string)
303303
/// NTSC with 6 lines overscan (486 lines), compatible with BMD
304304
{"ntos", { 720, 486, UYVY, 29.97, INTERLACED_MERGED, 1 }},
305305
{"pal", { 720, 576, UYVY, 25, INTERLACED_MERGED, 1 }},
306+
{"sd", { 720, 540, UYVY, 25, PROGRESSIVE, 1 }},
306307
{"cga", { 320, 200, UYVY, 60, PROGRESSIVE, 1 }},
307308
{"vga", { 640, 480, UYVY, 60, PROGRESSIVE, 1 }},
308309
{"svga", { 800, 600, UYVY, 60, PROGRESSIVE, 1 }},
@@ -321,14 +322,25 @@ struct video_desc get_video_desc_from_string(const char *string)
321322
{"dci", { 2048, 1080, UYVY, 23.98, PROGRESSIVE, 1 }},
322323
{"dci4", { 4096, 2160, UYVY, 23.98, PROGRESSIVE, 1 }},
323324
};
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" : "");
326329
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: ");
328341
}
329342
color_printf(TBOLD("{Hp,Hi,hp,2d,4k,4d,1080i,1080p,720p,2160p}{23,24,25,29,30,59,60}") "\n");
330343
return {};
331-
332344
}
333345
for (unsigned i = 0; i < sizeof map / sizeof map[0]; ++i) {
334346
if (strcasecmp(map[i].name, string) == 0 || (strlen(string) == 4 && string[3] == ' ' && strncasecmp(map[i].name, string, 3) == 0)) {

0 commit comments

Comments
 (0)