linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [yavta PATCH 1/1] List supported formats with -f help
@ 2015-09-10 12:19 Sakari Ailus
  2015-10-15 23:35 ` Laurent Pinchart
  0 siblings, 1 reply; 2+ messages in thread
From: Sakari Ailus @ 2015-09-10 12:19 UTC (permalink / raw)
  To: linux-media; +Cc: laurent.pinchart

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(+)

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) {
-- 
2.1.0.231.g7484e3b


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [yavta PATCH 1/1] List supported formats with -f help
  2015-09-10 12:19 [yavta PATCH 1/1] List supported formats with -f help Sakari Ailus
@ 2015-10-15 23:35 ` Laurent Pinchart
  0 siblings, 0 replies; 2+ messages in thread
From: Laurent Pinchart @ 2015-10-15 23:35 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media

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

-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-10-15 23:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-10 12:19 [yavta PATCH 1/1] List supported formats with -f help Sakari Ailus
2015-10-15 23:35 ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).