[PATCH weston] clients/weston-info: print unknown formats better

Pekka Paalanen ppaalanen at gmail.com
Tue Feb 28 15:03:43 UTC 2017


On Tue, 21 Feb 2017 10:01:45 +0000
Eric Engestrom <eric.engestrom at imgtec.com> wrote:

> On Monday, 2017-02-20 15:47:57 +0200, Pekka Paalanen wrote:
> > From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> > 
> > Don't just dump the raw 32-bit values, try to interpret it as a DRM
> > fourcc too.
> > 
> > This prints properly the formats YUYV, NV12 and YU12 supported by
> > Weston.
> > 
> > Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> > ---
> >  clients/weston-info.c | 29 ++++++++++++++++++++++++++++-
> >  1 file changed, 28 insertions(+), 1 deletion(-)
> > 
> > diff --git a/clients/weston-info.c b/clients/weston-info.c
> > index 712346a..ab12947 100644
> > --- a/clients/weston-info.c
> > +++ b/clients/weston-info.c
> > @@ -30,6 +30,8 @@
> >  #include <stdlib.h>
> >  #include <string.h>
> >  #include <time.h>
> > +#include <assert.h>
> > +#include <ctype.h>
> >  
> >  #include <wayland-client.h>
> >  
> > @@ -240,9 +242,33 @@ print_output_info(void *data)
> >  	}
> >  }
> >  
> > +static char
> > +bits2graph(uint32_t value, unsigned bitoffset)
> > +{
> > +	int c = (value >> bitoffset) & 0xff;
> > +
> > +	if (isgraph(c) || isspace(c))
> > +		return c;
> > +
> > +	return '?';
> > +}
> > +
> > +static void
> > +fmt2str(uint32_t format, char *str, int len)  
> 
> `fourcc2str()` ?
> This function is specific to 4 char codes, I think its name should
> reflect this.

I suppose.

> > +{
> > +	int i;
> > +
> > +	assert(len >= 5);
> > +
> > +	for (i = 0; i < 4; i++)
> > +		str[i] = bits2graph(format, i * 8);
> > +	str[i] = '\0';
> > +}
> > +
> >  static void
> >  print_shm_info(void *data)
> >  {
> > +	char str[6];  
> 
> 6? not 5?

Yeah, I made the changes you suggested.

> These are nit-picks, this patch already does what it says on the tin:
> Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

Pushed:
   4d6eb17..78dc6a9  master -> master


Thanks,
pq


> >  	struct shm_info *shm = data;
> >  	struct shm_format *format;
> >  
> > @@ -262,7 +288,8 @@ print_shm_info(void *data)
> >  			printf(" RGB565");
> >  			break;
> >  		default:
> > -			printf(" unknown(%08x)", format->format);
> > +			fmt2str(format->format, str, sizeof(str));
> > +			printf(" '%s'(0x%08x)", str, format->format);
> >  			break;
> >  		}
> >  
> > -- 
> > 2.10.2
> >   

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 801 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20170228/e99dd9b7/attachment.sig>


More information about the wayland-devel mailing list