Linux-Media Archive mirror
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: linux-media@vger.kernel.org
Subject: Re: [yavta PATCH 1/1] Print V4L2 fourcc code in format enumeration
Date: Fri, 3 May 2024 01:53:18 +0300	[thread overview]
Message-ID: <20240502225318.GF4959@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20240425210815.1820591-1-sakari.ailus@linux.intel.com>

Hi Sakari,

Thank you for the patch.

On Fri, Apr 26, 2024 at 12:08:15AM +0300, Sakari Ailus wrote:
> Also print the V4L2 fourcc code in format enumeration (--enum-formats).
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> ---
>  yavta.c | 27 +++++++++++++++++++--------
>  1 file changed, 19 insertions(+), 8 deletions(-)

This doesn't apply cleanly.

> 
> diff --git a/yavta.c b/yavta.c
> index b2283aed09cb..2153e8b5775f 100644
> --- a/yavta.c
> +++ b/yavta.c
> @@ -370,6 +370,18 @@ static struct v4l2_format_info {
>  	{ "GENERIC_CSI2_24", V4L2_META_FMT_GENERIC_CSI2_24, 1 },
>  };
>  
> +void v4l2_format_fourcc(__u32 fourcc, char name[5])
> +{
> +	unsigned int i;
> +
> +	for (i = 0; i < 4; ++i) {
> +		name[i] = fourcc & 0xff;

While at it, could we handle non-printable characters better ?

> +		fourcc >>= 8;
> +	}
> +
> +	name[4] = '\0';
> +}
> +
>  static void list_formats(void)
>  {
>  	unsigned int i;
> @@ -412,18 +424,13 @@ static const char *v4l2_format_name(unsigned int fourcc)
>  {
>  	const struct v4l2_format_info *info;
>  	static char name[5];
> -	unsigned int i;
>  
>  	info = v4l2_format_by_fourcc(fourcc);
>  	if (info)
>  		return info->name;
>  
> -	for (i = 0; i < 4; ++i) {
> -		name[i] = fourcc & 0xff;
> -		fourcc >>= 8;
> -	}
> +	v4l2_format_fourcc(fourcc, name);
>  
> -	name[4] = '\0';
>  	return name;
>  }
>  
> @@ -1815,6 +1822,8 @@ static void video_enum_formats(struct device *dev, enum v4l2_buf_type type)
>  	int ret;
>  
>  	for (i = 0; ; ++i) {
> +		char fourcc[5];
> +
>  		memset(&fmt, 0, sizeof fmt);
>  		fmt.index = i;
>  		fmt.type = type;
> @@ -1829,8 +1838,10 @@ static void video_enum_formats(struct device *dev, enum v4l2_buf_type type)
>  			printf("Warning: driver returned wrong format type "
>  				"%u.\n", fmt.type);
>  
> -		printf("\tFormat %u: %s (%08x)\n", i,
> -			v4l2_format_name(fmt.pixelformat), fmt.pixelformat);
> +		v4l2_format_fourcc(fmt.pixelformat, fourcc);
> +		printf("\tFormat %u: %s (%08x, \"%s\")\n", i,
> +			v4l2_format_name(fmt.pixelformat), fmt.pixelformat,
> +			fourcc);

One could argue that it would be nice to extend this to all users of
v4l2_format_fourcc(). I suppose that would be overkill.

If the format is unknown to yavta you'll end up printing the same thing
twice, but consistency in the format is probably better than avoiding
the duplication. The patch looks OK to me, I'll apply it if you send me
a version that applies :-)

>  		printf("\tType: %s (%u)\n", v4l2_buf_type_name(fmt.type),
>  			fmt.type);
>  		printf("\tName: %.32s\n", fmt.description);

-- 
Regards,

Laurent Pinchart

      reply	other threads:[~2024-05-02 22:53 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-25 21:08 [yavta PATCH 1/1] Print V4L2 fourcc code in format enumeration Sakari Ailus
2024-05-02 22:53 ` Laurent Pinchart [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240502225318.GF4959@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).