[{"id":3815,"web_url":"https://patchwork.libcamera.org/comment/3815/","msgid":"<20200218205923.GF1016123@oden.dyn.berto.se>","date":"2020-02-18T20:59:23","subject":"Re: [libcamera-devel] [PATCH v3 1/7] libcamera: properties: Define\n\tpixel array properties","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Jacopo,\n\nGrate work with the documentation!\n\nOn 2020-02-18 12:27:46 +0100, Jacopo Mondi wrote:\n> Add definition of pixel array related properties.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> ---\n>  src/libcamera/property_ids.yaml | 177 ++++++++++++++++++++++++++++++++\n>  1 file changed, 177 insertions(+)\n> \n> diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml\n> index ce627fa042ba..2ffe4d803c0f 100644\n> --- a/src/libcamera/property_ids.yaml\n> +++ b/src/libcamera/property_ids.yaml\n> @@ -386,4 +386,181 @@ controls:\n>                                |                    |\n>                                |                    |\n>                                +--------------------+\n> +\n> +  - PixelArraySize:\n> +      type: float\n> +      compound: true\n> +      description: |\n> +        The physical sizes of the pixel array (width and height), in\n> +        millimeters.\n> +\n> +  - PixelArrayBounds:\n> +      type: int32_t\n> +      compound: true\n> +      description: |\n> +        The camera sensor pixel array bounding rectangle vertical and\n> +        horizontal sizes.\n> +\n> +        For image sensors with a rectangular pixel array the sizes described by\n> +        this property are the same as the PixelAreaSize property size.\n\nThis confused me for while as PixelAreaSize is expressed in mm and the \nPixelArrayBounds is in number of pixels, right? Reading this made me \nthink the two properties used the same scale. How about:\n\n  For image sensors with a rectangular pixel array the vertical and \n  horizontal measurements described by this property are the number of \n  pixels in each dimension on the physical sensor described in \n  PixelAreaSize.\n\n> +\n> +        For image sensors with more complex pixel array displacements (such as\n> +        cross-shaped pixel arrays, non symmetrical pixel arrays etc) this\n> +        property represents the bounding rectangle in which all pixel array\n> +        dimensions are inscribed into.\n> +\n> +        In example, the bounding rectangle sizes for image sensor with a\n> +        cross-shaped pixel array is described as\n> +\n> +\n> +                     PixelArrayBound(0) = width\n> +                    /-----------------/\n> +\n> +            (0,0)-> +----+------+----+  /\n> +                    |    |//////|    |  |\n> +                    +----+//////+----+  |\n> +                    |////////////////|  | PixelArrayBound(1) = height\n> +                    +----+//////+----+  |\n> +                    |    |//////|    |  |\n> +                    +----+------+----+  /\n> +                            |\n> +                             -> Cross-shaped pixel area\n> +\n> +  - PixelArrays:\n> +      type: int32_t\n> +      compound: true\n> +      description: |\n> +        The sensor pixel array rectangles, relative to the rectangle described\n> +        by the PixelArrayBounds property.\n> +\n> +        This property describes an arbitrary number of (likely overlapping)\n> +        rectangles, representing the pixel array areas the sensor is composed\n> +        of.\n> +\n> +        Each rectangle is defined by its displacement from pixel (0, 0) of\n> +        the bounding rectangle described by the PixelArrayBound property.\n> +\n> +        For image sensors with a rectangular pixel array, a single rectangle\n> +        is required. For sensors with more complex pixel array displacements\n> +        multiple rectangles shall be specified, ordered from the tallest to the\n> +        shorter one.\n> +\n> +        For each rectangle, this property reports the full pixel array size,\n> +        including non-active pixels, black level calibration pixels etc.\n> +\n> +        In example, a simple sensor with a rectangular pixel array is described\n> +        as\n> +\n> +                     PixelArrayBound(0) = width\n> +                    /-----------------/\n> +                      x1          x2\n> +            (0,0)-> +-o------------o-+  /\n> +                 y1 o +------------+ |  |\n> +                    | |////////////| |  |\n> +                    | |////////////| |  | PixelArrayBound(1) = height\n> +                    | |////////////| |  |\n> +                 y2 o +------------+ |  |\n> +                    +----------------+  /\n> +\n> +                 PixelArray = (x1, y1, (x2 - x1), (y2 - y1))\n> +\n> +        A more complex sensor, with a cross shaped pixel array displacement\n> +        is described with 2 rectangles, with the vertical rectangle\n> +        described first\n> +\n> +                     PixelArrayBound(0) = width\n> +                    /-----------------/\n> +                    x1  x2     x3  x4 W\n> +            (0,0)-> +o---o------o---o+  /\n> +                    |    |//////|    |  |\n> +                 y1 o+---+------+---+|  |\n> +                    ||///|//////|///||  | PixelArrayBound(1) = height\n> +                 y2 o+---+------+---+|  |\n> +                    |    |//////|    |  |\n> +                 H  +----+------+----+  /\n> +\n> +\n> +                PixelArray = ( (x2, 0, (x3 - x2), H),\n> +                               (x1, y1, (x4 - x1), (y2 - y1))\n> +\n> +  - ActiveAreaSize:\n\nShould this be renamed ActivePixelArrays to match is connection to \nPixelArrays?\n\n> +      type: int32_t\n> +      compound: true\n> +      description: |\n> +        The sensor active pixel area sizes, represented as rectangles\n> +        inscribed in the ones described by the PixelArrays property.\n> +\n> +        One ActiveAreaSize rectangle per each rectangle described in the\n> +        PixelArrays property is required. As a consequence, the two properties\n> +        shall transport the same number of elements.\n> +\n> +        The ActiveAreaSize rectangles represent the maximum image sizes the\n> +        sensor can produce.\n> +\n> +  - BayerFilterArrangement:\n> +      type: int32_t\n> +      description: |\n> +        The pixel array color filter displacement.\n> +\n> +        This property describes the arrangement and readout sequence of the\n> +        three RGB color components of the sensor's Bayer Color Filter Array\n> +        (CFA).\n> +\n> +        Color filters are usually displaced in line-alternating fashion on the\n> +        sensor pixel array. In example, one line might be composed of Red-Green\n> +        while the successive is composed of Blue-Green color information.\n> +\n> +        The value of this property represent the arrangement of color filters\n> +        in the top-left 2x2 pixel square.\n> +\n> +        In example, for a sensor with the following color filter displacement\n> +\n> +                 (0, 0)               (max-col)\n> +           +---+    +--------------...---+\n> +           |B|G|<---|B|G|B|G|B|G|B|...B|G|\n> +           |G|R|<---|G|R|G|R|G|R|G|...G|R|\n> +           +---+    |B|G|B|G|B|G|B|...B|G|\n> +                    ...                  ..\n> +                    ...                  ..\n> +                    |G|R|G|R|G|R|G|...G|R|\n> +                    |B|G|B|G|B|G|B|...B|G|   (max-lines)\n> +                    +--------------...---+\n> +\n> +        The filer arrangement is represented by the BGGR value, which correspond\n> +        to the pixel readout sequence in line interleaved mode.\n> +\n> +      enum:\n> +        - name: BayerFilterRGGB\n> +          value: 0\n> +          description: |\n> +            Color filter array displacement is Red-Green/Green-Blue\n> +\n> +        - name: BayerFilterGRBG\n> +          value: 1\n> +          description: |\n> +            Color filter array displacement is Green-Red/Blue-Green\n> +\n> +        - name: BayerFilterGBRG\n> +          value: 2\n> +          description: |\n> +            Color filter array displacement is Green-Blue/Red-Green\n> +\n> +        - name: BayerFilterBGGR\n> +          value: 3\n> +          description: |\n> +            Color filter array displacement is Blue-Green/Green-Red\n> +\n> +        - name: BayerFilterNonStandard\n> +          value: 4\n> +          description: |\n> +            The pixel array color filter does not use the standard Bayer RGB\n> +            color model\n> +\n> +  - ISOSensitivityRange:\n> +      type: int32_t\n> +      compound: true\n> +      description: |\n> +        The range of supported ISO sensitivities, as documented by the\n> +        ISO 12232:2006 standard\n> +\n>  ...\n> -- \n> 2.25.0\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from mail-lj1-x243.google.com (mail-lj1-x243.google.com\n\t[IPv6:2a00:1450:4864:20::243])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CB92161F64\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 18 Feb 2020 21:59:26 +0100 (CET)","by mail-lj1-x243.google.com with SMTP id h23so24625484ljc.8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 18 Feb 2020 12:59:26 -0800 (PST)","from localhost (h-200-138.A463.priv.bahnhof.se. [176.10.200.138])\n\tby smtp.gmail.com with ESMTPSA id\n\ty7sm2882135lfk.83.2020.02.18.12.59.24\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 18 Feb 2020 12:59:24 -0800 (PST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to;\n\tbh=/kAcBUbrfFz2ZOEmFKUqOlVXl3TY/UqNq/VliQ1bU70=;\n\tb=WLB0X6EY1IUGyFjl2cd3eszd8MKvwcwgHZpNphVpxqO3e60PKOcsojWGZSkUqU/ZEu\n\tu435+CbREuXFeo+wZ4TeOE1eL3BJGgdNjP9S7b1k9EppJDecdJobkCU87K/8ch5KH2ti\n\tPGk8jt71nOY4FfPnLY88GGfr3Cq3dv12I7E3X+pRT97pp9GBFC9YlqngZxhPeBDJtxqc\n\tS4URI8JxbCLsuOdKiPrZjHv7tsl3EplZDikvxzb+ClCIFV62pQrsHsDpjTClERHcrDCp\n\tuQISa/A5dzLF4CFmm+vb0XXZXYiRHoDBHbH4oWd2Rt74reQDtOX1cmU1kW97bLx4oguP\n\tc1Qw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to;\n\tbh=/kAcBUbrfFz2ZOEmFKUqOlVXl3TY/UqNq/VliQ1bU70=;\n\tb=HOKXpdqDJCXZJmxdHTQsorR9pj85bL8DzHEjnblRQDCuA25DI4C0qLAhL9zEw/nN3d\n\tpJGuvpEaYJwQbGLJG7MWCAfXRxhKw5Dt6DCAxlYNdmjaMGZgPIapGt0UKttxFiYJ67WW\n\t5H1WtIBIWgPF0OlRhiArYwpASDnvivocWiKksm12CthriDsVDGmo/KkkDVj4d3ldIrhx\n\toEg3rW3Cc6A0qA2t7dL/ifdHITxkBYtYsLgwKebADgFhBs5DiLLIdRccmbUYEX6YDGHo\n\t+483ZlrpELYKWL2BA+yE/zTyZ9ozaPhTbISy7vCBIHSAgkn4Q3yHckp8ffQwULUyurYi\n\tqf6w==","X-Gm-Message-State":"APjAAAX0YxgF/CjdYEDp0qRUOxHtNGg73hP8tlvS9Wafzlu4XxflhJt/\n\tmj89AXcFRMWqCF4gQ0dLYrk2XJRnFwc=","X-Google-Smtp-Source":"APXvYqzbyT/nU5pZOp0uIL/BGGZjcZpEBe7apc7QCOGgPkC4TfFGdTZorFUR3OhTAqmZsF11Ec1QXQ==","X-Received":"by 2002:a2e:9f52:: with SMTP id\n\tv18mr13001349ljk.30.1582059565786; \n\tTue, 18 Feb 2020 12:59:25 -0800 (PST)","Date":"Tue, 18 Feb 2020 21:59:23 +0100","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20200218205923.GF1016123@oden.dyn.berto.se>","References":"<20200218112752.3910410-1-jacopo@jmondi.org>\n\t<20200218112752.3910410-2-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20200218112752.3910410-2-jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH v3 1/7] libcamera: properties: Define\n\tpixel array properties","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":"Tue, 18 Feb 2020 20:59:27 -0000"}},{"id":4013,"web_url":"https://patchwork.libcamera.org/comment/4013/","msgid":"<20200309173316.cjgmgcmdsbz3u4vq@uno.localdomain>","date":"2020-03-09T17:33:16","subject":"Re: [libcamera-devel] [PATCH v3 1/7] libcamera: properties: Define\n\tpixel array properties","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Niklas,\n\nOn Tue, Feb 18, 2020 at 09:59:23PM +0100, Niklas Söderlund wrote:\n> Hi Jacopo,\n>\n> Grate work with the documentation!\n>\n> On 2020-02-18 12:27:46 +0100, Jacopo Mondi wrote:\n> > Add definition of pixel array related properties.\n> >\n> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > ---\n> >  src/libcamera/property_ids.yaml | 177 ++++++++++++++++++++++++++++++++\n> >  1 file changed, 177 insertions(+)\n> >\n> > diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml\n> > index ce627fa042ba..2ffe4d803c0f 100644\n> > --- a/src/libcamera/property_ids.yaml\n> > +++ b/src/libcamera/property_ids.yaml\n> > @@ -386,4 +386,181 @@ controls:\n> >                                |                    |\n> >                                |                    |\n> >                                +--------------------+\n> > +\n> > +  - PixelArraySize:\n> > +      type: float\n> > +      compound: true\n> > +      description: |\n> > +        The physical sizes of the pixel array (width and height), in\n> > +        millimeters.\n> > +\n> > +  - PixelArrayBounds:\n> > +      type: int32_t\n> > +      compound: true\n> > +      description: |\n> > +        The camera sensor pixel array bounding rectangle vertical and\n> > +        horizontal sizes.\n> > +\n> > +        For image sensors with a rectangular pixel array the sizes described by\n> > +        this property are the same as the PixelAreaSize property size.\n>\n> This confused me for while as PixelAreaSize is expressed in mm and the\n> PixelArrayBounds is in number of pixels, right? Reading this made me\n> think the two properties used the same scale. How about:\n>\n>   For image sensors with a rectangular pixel array the vertical and\n>   horizontal measurements described by this property are the number of\n>   pixels in each dimension on the physical sensor described in\n>   PixelAreaSize.\n>\n\nmmm, not sure. The two properties describe two different thing, one is\nthe physical size of the sensor, the other refers to the pixel array\nproperties. I would not mix the two.\n\n> > +\n> > +        For image sensors with more complex pixel array displacements (such as\n> > +        cross-shaped pixel arrays, non symmetrical pixel arrays etc) this\n> > +        property represents the bounding rectangle in which all pixel array\n> > +        dimensions are inscribed into.\n> > +\n> > +        In example, the bounding rectangle sizes for image sensor with a\n> > +        cross-shaped pixel array is described as\n> > +\n> > +\n> > +                     PixelArrayBound(0) = width\n> > +                    /-----------------/\n> > +\n> > +            (0,0)-> +----+------+----+  /\n> > +                    |    |//////|    |  |\n> > +                    +----+//////+----+  |\n> > +                    |////////////////|  | PixelArrayBound(1) = height\n> > +                    +----+//////+----+  |\n> > +                    |    |//////|    |  |\n> > +                    +----+------+----+  /\n> > +                            |\n> > +                             -> Cross-shaped pixel area\n> > +\n> > +  - PixelArrays:\n> > +      type: int32_t\n> > +      compound: true\n> > +      description: |\n> > +        The sensor pixel array rectangles, relative to the rectangle described\n> > +        by the PixelArrayBounds property.\n> > +\n> > +        This property describes an arbitrary number of (likely overlapping)\n> > +        rectangles, representing the pixel array areas the sensor is composed\n> > +        of.\n> > +\n> > +        Each rectangle is defined by its displacement from pixel (0, 0) of\n> > +        the bounding rectangle described by the PixelArrayBound property.\n> > +\n> > +        For image sensors with a rectangular pixel array, a single rectangle\n> > +        is required. For sensors with more complex pixel array displacements\n> > +        multiple rectangles shall be specified, ordered from the tallest to the\n> > +        shorter one.\n> > +\n> > +        For each rectangle, this property reports the full pixel array size,\n> > +        including non-active pixels, black level calibration pixels etc.\n> > +\n> > +        In example, a simple sensor with a rectangular pixel array is described\n> > +        as\n> > +\n> > +                     PixelArrayBound(0) = width\n> > +                    /-----------------/\n> > +                      x1          x2\n> > +            (0,0)-> +-o------------o-+  /\n> > +                 y1 o +------------+ |  |\n> > +                    | |////////////| |  |\n> > +                    | |////////////| |  | PixelArrayBound(1) = height\n> > +                    | |////////////| |  |\n> > +                 y2 o +------------+ |  |\n> > +                    +----------------+  /\n> > +\n> > +                 PixelArray = (x1, y1, (x2 - x1), (y2 - y1))\n> > +\n> > +        A more complex sensor, with a cross shaped pixel array displacement\n> > +        is described with 2 rectangles, with the vertical rectangle\n> > +        described first\n> > +\n> > +                     PixelArrayBound(0) = width\n> > +                    /-----------------/\n> > +                    x1  x2     x3  x4 W\n> > +            (0,0)-> +o---o------o---o+  /\n> > +                    |    |//////|    |  |\n> > +                 y1 o+---+------+---+|  |\n> > +                    ||///|//////|///||  | PixelArrayBound(1) = height\n> > +                 y2 o+---+------+---+|  |\n> > +                    |    |//////|    |  |\n> > +                 H  +----+------+----+  /\n> > +\n> > +\n> > +                PixelArray = ( (x2, 0, (x3 - x2), H),\n> > +                               (x1, y1, (x4 - x1), (y2 - y1))\n> > +\n> > +  - ActiveAreaSize:\n>\n> Should this be renamed ActivePixelArrays to match is connection to\n> PixelArrays?\n>\n\nIt probably should, thanks.\n\nThanks\n   j\n\n> > +      type: int32_t\n> > +      compound: true\n> > +      description: |\n> > +        The sensor active pixel area sizes, represented as rectangles\n> > +        inscribed in the ones described by the PixelArrays property.\n> > +\n> > +        One ActiveAreaSize rectangle per each rectangle described in the\n> > +        PixelArrays property is required. As a consequence, the two properties\n> > +        shall transport the same number of elements.\n> > +\n> > +        The ActiveAreaSize rectangles represent the maximum image sizes the\n> > +        sensor can produce.\n> > +\n> > +  - BayerFilterArrangement:\n> > +      type: int32_t\n> > +      description: |\n> > +        The pixel array color filter displacement.\n> > +\n> > +        This property describes the arrangement and readout sequence of the\n> > +        three RGB color components of the sensor's Bayer Color Filter Array\n> > +        (CFA).\n> > +\n> > +        Color filters are usually displaced in line-alternating fashion on the\n> > +        sensor pixel array. In example, one line might be composed of Red-Green\n> > +        while the successive is composed of Blue-Green color information.\n> > +\n> > +        The value of this property represent the arrangement of color filters\n> > +        in the top-left 2x2 pixel square.\n> > +\n> > +        In example, for a sensor with the following color filter displacement\n> > +\n> > +                 (0, 0)               (max-col)\n> > +           +---+    +--------------...---+\n> > +           |B|G|<---|B|G|B|G|B|G|B|...B|G|\n> > +           |G|R|<---|G|R|G|R|G|R|G|...G|R|\n> > +           +---+    |B|G|B|G|B|G|B|...B|G|\n> > +                    ...                  ..\n> > +                    ...                  ..\n> > +                    |G|R|G|R|G|R|G|...G|R|\n> > +                    |B|G|B|G|B|G|B|...B|G|   (max-lines)\n> > +                    +--------------...---+\n> > +\n> > +        The filer arrangement is represented by the BGGR value, which correspond\n> > +        to the pixel readout sequence in line interleaved mode.\n> > +\n> > +      enum:\n> > +        - name: BayerFilterRGGB\n> > +          value: 0\n> > +          description: |\n> > +            Color filter array displacement is Red-Green/Green-Blue\n> > +\n> > +        - name: BayerFilterGRBG\n> > +          value: 1\n> > +          description: |\n> > +            Color filter array displacement is Green-Red/Blue-Green\n> > +\n> > +        - name: BayerFilterGBRG\n> > +          value: 2\n> > +          description: |\n> > +            Color filter array displacement is Green-Blue/Red-Green\n> > +\n> > +        - name: BayerFilterBGGR\n> > +          value: 3\n> > +          description: |\n> > +            Color filter array displacement is Blue-Green/Green-Red\n> > +\n> > +        - name: BayerFilterNonStandard\n> > +          value: 4\n> > +          description: |\n> > +            The pixel array color filter does not use the standard Bayer RGB\n> > +            color model\n> > +\n> > +  - ISOSensitivityRange:\n> > +      type: int32_t\n> > +      compound: true\n> > +      description: |\n> > +        The range of supported ISO sensitivities, as documented by the\n> > +        ISO 12232:2006 standard\n> > +\n> >  ...\n> > --\n> > 2.25.0\n> >\n> > _______________________________________________\n> > libcamera-devel mailing list\n> > libcamera-devel@lists.libcamera.org\n> > https://lists.libcamera.org/listinfo/libcamera-devel\n>\n> --\n> Regards,\n> Niklas Söderlund","headers":{"Return-Path":"<jacopo@jmondi.org>","Received":["from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net\n\t[217.70.183.196])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 43FFB628BD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  9 Mar 2020 18:30:40 +0100 (CET)","from uno.localdomain (93-34-114-233.ip49.fastwebnet.it\n\t[93.34.114.233]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay4-d.mail.gandi.net (Postfix) with ESMTPSA id AED2CE0007;\n\tMon,  9 Mar 2020 17:30:39 +0000 (UTC)"],"X-Originating-IP":"93.34.114.233","Date":"Mon, 9 Mar 2020 18:33:16 +0100","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Niklas =?utf-8?q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20200309173316.cjgmgcmdsbz3u4vq@uno.localdomain>","References":"<20200218112752.3910410-1-jacopo@jmondi.org>\n\t<20200218112752.3910410-2-jacopo@jmondi.org>\n\t<20200218205923.GF1016123@oden.dyn.berto.se>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20200218205923.GF1016123@oden.dyn.berto.se>","Subject":"Re: [libcamera-devel] [PATCH v3 1/7] libcamera: properties: Define\n\tpixel array properties","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, 09 Mar 2020 17:30:40 -0000"}}]