[{"id":2979,"web_url":"https://patchwork.libcamera.org/comment/2979/","msgid":"<f8e918cb-d7c2-8359-a578-ba0962f3a1aa@ideasonboard.com>","date":"2019-10-28T11:05:54","subject":"Re: [libcamera-devel] [PATCH v2 4/7] libcamera: Define a\n\tPixelFormat type for application-facing formats","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Jacopo, Laurent,\n\nI like having this wrapped to an explicit type.\n\n\nOn 28/10/2019 11:02, Laurent Pinchart wrote:\n> From: Jacopo Mondi <jacopo@jmondi.org>\n> \n> Define a PixelFormat type as a simple typedef to an uin32_t. The usage\n> of a dedicated type creates a cleaner and more self-described aPI.\n\nTrivials:\n\n  s/uin32_t/uint32_t/\n  s/aPI/API/\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>  include/libcamera/meson.build    |  1 +\n>  include/libcamera/pixelformats.h | 18 ++++++++++++++++++\n>  src/libcamera/meson.build        |  1 +\n>  src/libcamera/pixelformats.cpp   | 26 ++++++++++++++++++++++++++\n>  4 files changed, 46 insertions(+)\n>  create mode 100644 include/libcamera/pixelformats.h\n>  create mode 100644 src/libcamera/pixelformats.cpp\n> \n> diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build\n> index ed8ff917e35a..99abf0609940 100644\n> --- a/include/libcamera/meson.build\n> +++ b/include/libcamera/meson.build\n> @@ -9,6 +9,7 @@ libcamera_api = files([\n>      'geometry.h',\n>      'logging.h',\n>      'object.h',\n> +    'pixelformats.h',\n>      'request.h',\n>      'signal.h',\n>      'stream.h',\n> diff --git a/include/libcamera/pixelformats.h b/include/libcamera/pixelformats.h\n> new file mode 100644\n> index 000000000000..6e25b8d8b76e\n> --- /dev/null\n> +++ b/include/libcamera/pixelformats.h\n> @@ -0,0 +1,18 @@\n> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n> +/*\n> + * Copyright (C) 2019, Google Inc.\n> + *\n> + * pixelformats.h - libcamera pixel formats\n> + */\n> +#ifndef __LIBCAMERA_PIXEL_FORMATS_H__\n> +#define __LIBCAMERA_PIXEL_FORMATS_H__\n> +\n> +#include <stdint.h>\n> +\n> +namespace libcamera {\n> +\n> +using PixelFormat = uint32_t;\n> +\n> +} /* namespace libcamera */\n> +\n> +#endif /* __LIBCAMERA_PIXEL_FORMATS_H__ */\n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index d329820b9582..f201f408ef07 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -25,6 +25,7 @@ libcamera_sources = files([\n>      'message.cpp',\n>      'object.cpp',\n>      'pipeline_handler.cpp',\n> +    'pixelformats.cpp',\n>      'process.cpp',\n>      'request.cpp',\n>      'signal.cpp',\n> diff --git a/src/libcamera/pixelformats.cpp b/src/libcamera/pixelformats.cpp\n> new file mode 100644\n> index 000000000000..9377fb5e0749\n> --- /dev/null\n> +++ b/src/libcamera/pixelformats.cpp\n> @@ -0,0 +1,26 @@\n> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n> +/*\n> + * Copyright (C) 2019, Google Inc.\n> + *\n> + * pixelformats.cpp - libcamera pixel formats\n> + */\n> +\n> +#include <libcamera/pixelformats.h>\n> +\n> +/**\n> + * \\file pixelformats.h\n> + * \\brief libcamera pixel formats\n> + */\n> +\n> +namespace libcamera {\n> +\n> +/**\n> + * \\typedef PixelFormat\n> + * \\brief libcamera image pixel format\n> + *\n> + * The PixelFormat type describes the format of images in the public libcamera\n> + * API. It stores a FourCC value in a 32-bit unsigned integer. The values are\n> + * defined in the Linux kernel V4L2 API (see linux/videodev2.h).\n> + */\n> +\n> +} /* namespace libcamera */\n>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AC5E260180\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Oct 2019 12:05:57 +0100 (CET)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 1E352325;\n\tMon, 28 Oct 2019 12:05:57 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1572260757;\n\tbh=7g24PjGYSY+0g3plUS1NvIxdqoRJhx8BbtsL6ntbsD0=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=XelYtdpzRbos0LlZru52NP5+DzhM0+mKFJ4UczpwpERfNFDsfrtw29FH/Bu1/UOe8\n\tuT2YnnM7YkTWkliqbVnbq0YiWbVqgihipQCwP3+/BSnFrcB6Sq/FzjrMm+laNd0VdN\n\tYLU/W24GvUWQyHmKMLS+ywCi4LLubOc+3weDCFl8=","Reply-To":"kieran.bingham@ideasonboard.com","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20191028110208.15751-1-laurent.pinchart@ideasonboard.com>\n\t<20191028110208.15751-5-laurent.pinchart@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Openpgp":"preference=signencrypt","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<f8e918cb-d7c2-8359-a578-ba0962f3a1aa@ideasonboard.com>","Date":"Mon, 28 Oct 2019 11:05:54 +0000","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101\n\tThunderbird/60.8.0","MIME-Version":"1.0","In-Reply-To":"<20191028110208.15751-5-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2 4/7] libcamera: Define a\n\tPixelFormat type for application-facing formats","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Mon, 28 Oct 2019 11:05:57 -0000"}},{"id":2982,"web_url":"https://patchwork.libcamera.org/comment/2982/","msgid":"<7612a90c-5acf-f39b-4034-199b8189675c@ideasonboard.com>","date":"2019-10-28T11:56:31","subject":"Re: [libcamera-devel] [PATCH v2 4/7] libcamera: Define a\n\tPixelFormat type for application-facing formats","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"coming back to this one for a minor comment:\n\nOn 28/10/2019 11:05, Kieran Bingham wrote:\n> Hi Jacopo, Laurent,\n> \n> I like having this wrapped to an explicit type.\n> \n> \n> On 28/10/2019 11:02, Laurent Pinchart wrote:\n>> From: Jacopo Mondi <jacopo@jmondi.org>\n>>\n>> Define a PixelFormat type as a simple typedef to an uin32_t. The usage\n>> of a dedicated type creates a cleaner and more self-described aPI.\n> \n> Trivials:\n> \n>   s/uin32_t/uint32_t/\n>   s/aPI/API/\n> \n> \n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> \n> \n>>\n>> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n>> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>> ---\n>>  include/libcamera/meson.build    |  1 +\n>>  include/libcamera/pixelformats.h | 18 ++++++++++++++++++\n>>  src/libcamera/meson.build        |  1 +\n>>  src/libcamera/pixelformats.cpp   | 26 ++++++++++++++++++++++++++\n\nThe new type added is \"PixelFormat\", not PixelFormats, and we haven't\npluralised other types, (i.e. objects, requests, streams, signals etc.)\n\nIf you've specifically chosen to pluralise this for an extended reason,\nplease add it to the commit log.\n\n--\nKieran\n\n\n\n>>  4 files changed, 46 insertions(+)\n>>  create mode 100644 include/libcamera/pixelformats.h\n>>  create mode 100644 src/libcamera/pixelformats.cpp\n>>\n>> diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build\n>> index ed8ff917e35a..99abf0609940 100644\n>> --- a/include/libcamera/meson.build\n>> +++ b/include/libcamera/meson.build\n>> @@ -9,6 +9,7 @@ libcamera_api = files([\n>>      'geometry.h',\n>>      'logging.h',\n>>      'object.h',\n>> +    'pixelformats.h',\n>>      'request.h',\n>>      'signal.h',\n>>      'stream.h',\n>> diff --git a/include/libcamera/pixelformats.h b/include/libcamera/pixelformats.h\n>> new file mode 100644\n>> index 000000000000..6e25b8d8b76e\n>> --- /dev/null\n>> +++ b/include/libcamera/pixelformats.h\n>> @@ -0,0 +1,18 @@\n>> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n>> +/*\n>> + * Copyright (C) 2019, Google Inc.\n>> + *\n>> + * pixelformats.h - libcamera pixel formats\n>> + */\n>> +#ifndef __LIBCAMERA_PIXEL_FORMATS_H__\n>> +#define __LIBCAMERA_PIXEL_FORMATS_H__\n>> +\n>> +#include <stdint.h>\n>> +\n>> +namespace libcamera {\n>> +\n>> +using PixelFormat = uint32_t;\n>> +\n>> +} /* namespace libcamera */\n>> +\n>> +#endif /* __LIBCAMERA_PIXEL_FORMATS_H__ */\n>> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n>> index d329820b9582..f201f408ef07 100644\n>> --- a/src/libcamera/meson.build\n>> +++ b/src/libcamera/meson.build\n>> @@ -25,6 +25,7 @@ libcamera_sources = files([\n>>      'message.cpp',\n>>      'object.cpp',\n>>      'pipeline_handler.cpp',\n>> +    'pixelformats.cpp',\n>>      'process.cpp',\n>>      'request.cpp',\n>>      'signal.cpp',\n>> diff --git a/src/libcamera/pixelformats.cpp b/src/libcamera/pixelformats.cpp\n>> new file mode 100644\n>> index 000000000000..9377fb5e0749\n>> --- /dev/null\n>> +++ b/src/libcamera/pixelformats.cpp\n>> @@ -0,0 +1,26 @@\n>> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n>> +/*\n>> + * Copyright (C) 2019, Google Inc.\n>> + *\n>> + * pixelformats.cpp - libcamera pixel formats\n>> + */\n>> +\n>> +#include <libcamera/pixelformats.h>\n>> +\n>> +/**\n>> + * \\file pixelformats.h\n>> + * \\brief libcamera pixel formats\n>> + */\n>> +\n>> +namespace libcamera {\n>> +\n>> +/**\n>> + * \\typedef PixelFormat\n>> + * \\brief libcamera image pixel format\n>> + *\n>> + * The PixelFormat type describes the format of images in the public libcamera\n>> + * API. It stores a FourCC value in a 32-bit unsigned integer. The values are\n>> + * defined in the Linux kernel V4L2 API (see linux/videodev2.h).\n>> + */\n>> +\n>> +} /* namespace libcamera */\n>>\n>","headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D3D136017F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Oct 2019 12:56:34 +0100 (CET)","from [192.168.0.20]\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 28BCE325;\n\tMon, 28 Oct 2019 12:56:34 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1572263794;\n\tbh=s4GGvRjTUhUrEc9zzqXCgMO2Mio8KZKrG9DCs+3fvvw=;\n\th=Reply-To:Subject:From:To:References:Date:In-Reply-To:From;\n\tb=outpsZfnuiOwZU5Wuh7eXKtkpZczG+X2TlDv/2bpPw+qFgd9bOIzrB9fpF3FTSzKx\n\tiOVvOiCTnMVKVl3dPoPpkIsASmKhjZsLssRdg35VfcOCOJyYadFMIEwJopipH5Fqj5\n\tB3tJEwN/5a/1cUCaOycCIIS6VvxHDspVtZVSlm/s=","Reply-To":"kieran.bingham@ideasonboard.com","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20191028110208.15751-1-laurent.pinchart@ideasonboard.com>\n\t<20191028110208.15751-5-laurent.pinchart@ideasonboard.com>\n\t<f8e918cb-d7c2-8359-a578-ba0962f3a1aa@ideasonboard.com>","Openpgp":"preference=signencrypt","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<7612a90c-5acf-f39b-4034-199b8189675c@ideasonboard.com>","Date":"Mon, 28 Oct 2019 11:56:31 +0000","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101\n\tThunderbird/60.8.0","MIME-Version":"1.0","In-Reply-To":"<f8e918cb-d7c2-8359-a578-ba0962f3a1aa@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2 4/7] libcamera: Define a\n\tPixelFormat type for application-facing formats","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Mon, 28 Oct 2019 11:56:35 -0000"}},{"id":2983,"web_url":"https://patchwork.libcamera.org/comment/2983/","msgid":"<20191028150246.GB14017@pendragon.ideasonboard.com>","date":"2019-10-28T15:02:46","subject":"Re: [libcamera-devel] [PATCH v2 4/7] libcamera: Define a\n\tPixelFormat type for application-facing formats","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nOn Mon, Oct 28, 2019 at 11:56:31AM +0000, Kieran Bingham wrote:\n> coming back to this one for a minor comment:\n> \n> On 28/10/2019 11:05, Kieran Bingham wrote:\n> > Hi Jacopo, Laurent,\n> > \n> > I like having this wrapped to an explicit type.\n> > \n> > \n> > On 28/10/2019 11:02, Laurent Pinchart wrote:\n> >> From: Jacopo Mondi <jacopo@jmondi.org>\n> >>\n> >> Define a PixelFormat type as a simple typedef to an uin32_t. The usage\n> >> of a dedicated type creates a cleaner and more self-described aPI.\n> > \n> > Trivials:\n> > \n> >   s/uin32_t/uint32_t/\n> >   s/aPI/API/\n> > \n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > \n> >> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> >> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> >> ---\n> >>  include/libcamera/meson.build    |  1 +\n> >>  include/libcamera/pixelformats.h | 18 ++++++++++++++++++\n> >>  src/libcamera/meson.build        |  1 +\n> >>  src/libcamera/pixelformats.cpp   | 26 ++++++++++++++++++++++++++\n> \n> The new type added is \"PixelFormat\", not PixelFormats, and we haven't\n> pluralised other types, (i.e. objects, requests, streams, signals etc.)\n> \n> If you've specifically chosen to pluralise this for an extended reason,\n> please add it to the commit log.\n\nWe have controls.cpp though, not control.cpp :-) I don't care much about\nthis, so I'll drop the S.\n\n> >>  4 files changed, 46 insertions(+)\n> >>  create mode 100644 include/libcamera/pixelformats.h\n> >>  create mode 100644 src/libcamera/pixelformats.cpp\n> >>\n> >> diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build\n> >> index ed8ff917e35a..99abf0609940 100644\n> >> --- a/include/libcamera/meson.build\n> >> +++ b/include/libcamera/meson.build\n> >> @@ -9,6 +9,7 @@ libcamera_api = files([\n> >>      'geometry.h',\n> >>      'logging.h',\n> >>      'object.h',\n> >> +    'pixelformats.h',\n> >>      'request.h',\n> >>      'signal.h',\n> >>      'stream.h',\n> >> diff --git a/include/libcamera/pixelformats.h b/include/libcamera/pixelformats.h\n> >> new file mode 100644\n> >> index 000000000000..6e25b8d8b76e\n> >> --- /dev/null\n> >> +++ b/include/libcamera/pixelformats.h\n> >> @@ -0,0 +1,18 @@\n> >> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n> >> +/*\n> >> + * Copyright (C) 2019, Google Inc.\n> >> + *\n> >> + * pixelformats.h - libcamera pixel formats\n> >> + */\n> >> +#ifndef __LIBCAMERA_PIXEL_FORMATS_H__\n> >> +#define __LIBCAMERA_PIXEL_FORMATS_H__\n> >> +\n> >> +#include <stdint.h>\n> >> +\n> >> +namespace libcamera {\n> >> +\n> >> +using PixelFormat = uint32_t;\n> >> +\n> >> +} /* namespace libcamera */\n> >> +\n> >> +#endif /* __LIBCAMERA_PIXEL_FORMATS_H__ */\n> >> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> >> index d329820b9582..f201f408ef07 100644\n> >> --- a/src/libcamera/meson.build\n> >> +++ b/src/libcamera/meson.build\n> >> @@ -25,6 +25,7 @@ libcamera_sources = files([\n> >>      'message.cpp',\n> >>      'object.cpp',\n> >>      'pipeline_handler.cpp',\n> >> +    'pixelformats.cpp',\n> >>      'process.cpp',\n> >>      'request.cpp',\n> >>      'signal.cpp',\n> >> diff --git a/src/libcamera/pixelformats.cpp b/src/libcamera/pixelformats.cpp\n> >> new file mode 100644\n> >> index 000000000000..9377fb5e0749\n> >> --- /dev/null\n> >> +++ b/src/libcamera/pixelformats.cpp\n> >> @@ -0,0 +1,26 @@\n> >> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n> >> +/*\n> >> + * Copyright (C) 2019, Google Inc.\n> >> + *\n> >> + * pixelformats.cpp - libcamera pixel formats\n> >> + */\n> >> +\n> >> +#include <libcamera/pixelformats.h>\n> >> +\n> >> +/**\n> >> + * \\file pixelformats.h\n> >> + * \\brief libcamera pixel formats\n> >> + */\n> >> +\n> >> +namespace libcamera {\n> >> +\n> >> +/**\n> >> + * \\typedef PixelFormat\n> >> + * \\brief libcamera image pixel format\n> >> + *\n> >> + * The PixelFormat type describes the format of images in the public libcamera\n> >> + * API. It stores a FourCC value in a 32-bit unsigned integer. The values are\n> >> + * defined in the Linux kernel V4L2 API (see linux/videodev2.h).\n> >> + */\n> >> +\n> >> +} /* namespace libcamera */","headers":{"Return-Path":"<laurent.pinchart@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 20DA76017F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Oct 2019 16:02:55 +0100 (CET)","from pendragon.ideasonboard.com (143.121.2.93.rev.sfr.net\n\t[93.2.121.143])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7C5BA325;\n\tMon, 28 Oct 2019 16:02:54 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1572274974;\n\tbh=6SdunRpoVvU2PVgDI6xYAKKXjDfV8M2xeR5jLCQiMo4=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=oN7znaxFYuolBySHSkglfKmGSZ0vJmnACA7x9LVQy1DN8POjS7mwkCoemifwGUQxn\n\tSsTMYr16N6yNWnCia/pknYN6+GrbFqH13AZm98zcGJhya000DC3GTm6gjGysUbPjJd\n\ta9KNl5NgBuyMo+nv2R0LV3Ba9OJuXtnKPP8ZoYY8=","Date":"Mon, 28 Oct 2019 17:02:46 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20191028150246.GB14017@pendragon.ideasonboard.com>","References":"<20191028110208.15751-1-laurent.pinchart@ideasonboard.com>\n\t<20191028110208.15751-5-laurent.pinchart@ideasonboard.com>\n\t<f8e918cb-d7c2-8359-a578-ba0962f3a1aa@ideasonboard.com>\n\t<7612a90c-5acf-f39b-4034-199b8189675c@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<7612a90c-5acf-f39b-4034-199b8189675c@ideasonboard.com>","User-Agent":"Mutt/1.10.1 (2018-07-13)","Subject":"Re: [libcamera-devel] [PATCH v2 4/7] libcamera: Define a\n\tPixelFormat type for application-facing formats","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Mon, 28 Oct 2019 15:02:55 -0000"}}]