diff mbox

[yavta,1/1] List supported formats with -f help

Message ID 1441887560-21768-1-git-send-email-sakari.ailus@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sakari Ailus Sept. 10, 2015, 12:19 p.m. UTC
Passing format "help" to the -f option will list the supported formats and
exit.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 yavta.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Laurent Pinchart Oct. 15, 2015, 11:35 p.m. UTC | #1
Hi Sakari,

On Thursday 10 September 2015 15:19:20 Sakari Ailus wrote:
> Passing format "help" to the -f option will list the supported formats and
> exit.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>

Applied, thank you.

> ---
>  yavta.c | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> 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) {
diff mbox

Patch

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) {