summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSakari Ailus <sakari.ailus@linux.intel.com>2015-09-10 15:19:20 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2015-10-16 02:34:40 +0300
commit50c7be628ce652eaf81eca3a58754d765b5aac6d (patch)
tree7738757ef941d1b1ca83d4f20b62f852ae86bcda
parent9aa77a77b1d81a5c998f2707dc7004d2bf994f30 (diff)
List supported formats with -f help
Passing format "help" to the -f option will list the supported formats and exit. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
-rw-r--r--yavta.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/yavta.c b/yavta.c
index 7d8ac8e..b627725 100644
--- a/yavta.c
+++ b/yavta.c
@@ -215,6 +215,20 @@ static struct v4l2_format_info {
{ "MPEG", V4L2_PIX_FMT_MPEG, 1 },
};
+static void list_formats(void)
+{
+ unsigned int i;
+
+ for (i = 0; i < ARRAY_SIZE(pixel_formats); i++)
+ printf("%s (\"%c%c%c%c\", %u planes)\n",
+ pixel_formats[i].name,
+ pixel_formats[i].fourcc & 0xff,
+ (pixel_formats[i].fourcc >> 8) & 0xff,
+ (pixel_formats[i].fourcc >> 16) & 0xff,
+ (pixel_formats[i].fourcc >> 24) & 0xff,
+ pixel_formats[i].n_planes);
+}
+
static const struct v4l2_format_info *v4l2_format_by_fourcc(unsigned int fourcc)
{
unsigned int i;
@@ -1734,6 +1748,7 @@ static void usage(const char *argv0)
printf("-C, --check-overrun Verify dequeued frames for buffer overrun\n");
printf("-d, --delay Delay (in ms) before requeuing buffers\n");
printf("-f, --format format Set the video format\n");
+ printf(" use -f help to list the supported formats\n");
printf("-F, --file[=name] Read/write frames from/to disk\n");
printf("\tFor video capture devices, the first '#' character in the file name is\n");
printf("\texpanded to the frame sequence number. The default file name is\n");
@@ -1899,6 +1914,10 @@ int main(int argc, char *argv[])
delay = atoi(optarg);
break;
case 'f':
+ if (!strcmp("help", optarg)) {
+ list_formats();
+ return 0;
+ }
do_set_format = 1;
info = v4l2_format_by_name(optarg);
if (info == NULL) {