diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2015-09-10 15:19:20 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2015-10-16 02:34:40 +0300 |
commit | 50c7be628ce652eaf81eca3a58754d765b5aac6d (patch) | |
tree | 7738757ef941d1b1ca83d4f20b62f852ae86bcda | |
parent | 9aa77a77b1d81a5c998f2707dc7004d2bf994f30 (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.c | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -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) { |