[{"id":13828,"web_url":"https://patchwork.libcamera.org/comment/13828/","msgid":"<fa833cfa-053c-63c0-7fc8-112f64fb6fb1@ideasonboard.com>","date":"2020-11-23T09:21:23","subject":"Re: [libcamera-devel] [PATCH] libcamera: control_ids: Keep draft\n\tcontrols last","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Jacopo,\n\nOn 23/11/2020 09:03, Jacopo Mondi wrote:\n> Let's try not to mix draft controls and regular controls.\n> \n> Keep draft controls at the end of the control_ids.yaml file and\n> add a comment to make clear where the draft controls section begins.\n> \n\nI won't directly object to this if you are concerned about the existing\nordering - but it is not required to keep draft controls together.\n\nChanging a control from Draft to non-draft will not change it's\nunderlying control id value/enum value - but moving them around the file\nwill.\n\n\nOf course, we're likely to hit re-ordering anyway, as we find ourselves\nrefactoring draft controls ...\n\n\nPerhaps that's a good reason to keep draft controls at the end anyway.\nThat way we won't affect the ID of any non-draft controls...\n\nAcked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> ---\n>  src/libcamera/control_ids.yaml | 28 ++++++++++++++++------------\n>  1 file changed, 16 insertions(+), 12 deletions(-)\n> \n> diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\n> index c8874fa91965..a883e27e22e9 100644\n> --- a/src/libcamera/control_ids.yaml\n> +++ b/src/libcamera/control_ids.yaml\n> @@ -273,6 +273,22 @@ controls:\n>  \n>        size: [3x3]\n>  \n> +  - ScalerCrop:\n> +      type: Rectangle\n> +      description: |\n> +        Sets the image portion that will be scaled to form the whole of\n> +        the final output image. The (x,y) location of this rectangle is\n> +        relative to the PixelArrayActiveAreas that is being used. The units\n> +        remain native sensor pixels, even if the sensor is being used in\n> +        a binning or skipping mode.\n> +\n> +        This control is only present when the pipeline supports scaling. Its\n> +        maximum valid value is given by the properties::ScalerCropMaximum\n> +        property, and the two can be used to implement digital zoom.\n> +\n> +  # ----------------------------------------------------------------------------\n> +  # Draft controls section\n> +\n>    - AePrecaptureTrigger:\n>        type: int32_t\n>        draft: true\n> @@ -518,16 +534,4 @@ controls:\n>          detection, additional format conversions etc) count as an additional\n>          pipeline stage.\n>  \n> -  - ScalerCrop:\n> -      type: Rectangle\n> -      description: |\n> -        Sets the image portion that will be scaled to form the whole of\n> -        the final output image. The (x,y) location of this rectangle is\n> -        relative to the PixelArrayActiveAreas that is being used. The units\n> -        remain native sensor pixels, even if the sensor is being used in\n> -        a binning or skipping mode.\n> -\n> -        This control is only present when the pipeline supports scaling. Its\n> -        maximum valid value is given by the properties::ScalerCropMaximum\n> -        property, and the two can be used to implement digital zoom.\n>  ...\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id A5FADBE08A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 23 Nov 2020 09:21:27 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3902C63328;\n\tMon, 23 Nov 2020 10:21:27 +0100 (CET)","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 CB4A4615A0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 23 Nov 2020 10:21:25 +0100 (CET)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 459032A4;\n\tMon, 23 Nov 2020 10:21:25 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"YtNUHxbj\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1606123285;\n\tbh=XsbUKlKQP2VcVAZpLL3ny5hWH2m7epfwfXjmYagqAbY=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=YtNUHxbjrlHNkttYge/HaCadLrmU7TEy6Jmzd2/r9CHOVhSE2IENe6f1RKNPGs6fl\n\taRdV652td1O+Fl9FWGcVoGn0FNNw4vcuTOEfN07fcBKoQ+kqtXHXU4BLcWaXlYnBQ8\n\toU6gCoFEPrpq4To7g68a/4CMw2VhpEkCD5Y85xl8=","To":"Jacopo Mondi <jacopo@jmondi.org>, libcamera-devel@lists.libcamera.org","References":"<20201123090329.9486-1-jacopo@jmondi.org>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<fa833cfa-053c-63c0-7fc8-112f64fb6fb1@ideasonboard.com>","Date":"Mon, 23 Nov 2020 09:21:23 +0000","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.10.0","MIME-Version":"1.0","In-Reply-To":"<20201123090329.9486-1-jacopo@jmondi.org>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH] libcamera: control_ids: Keep draft\n\tcontrols last","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>","Reply-To":"kieran.bingham@ideasonboard.com","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13829,"web_url":"https://patchwork.libcamera.org/comment/13829/","msgid":"<20201123092950.uig4k5plrtobz356@uno.localdomain>","date":"2020-11-23T09:29:50","subject":"Re: [libcamera-devel] [PATCH] libcamera: control_ids: Keep draft\n\tcontrols last","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Kieran,\n\nOn Mon, Nov 23, 2020 at 09:21:23AM +0000, Kieran Bingham wrote:\n> Hi Jacopo,\n>\n> On 23/11/2020 09:03, Jacopo Mondi wrote:\n> > Let's try not to mix draft controls and regular controls.\n> >\n> > Keep draft controls at the end of the control_ids.yaml file and\n> > add a comment to make clear where the draft controls section begins.\n> >\n>\n> I won't directly object to this if you are concerned about the existing\n> ordering - but it is not required to keep draft controls together.\n>\n> Changing a control from Draft to non-draft will not change it's\n> underlying control id value/enum value - but moving them around the file\n> will.\n\nWell, that's not entirely true. Changing a control from draft to\nnon-draft might imply changing its values, we might even decide we\nwant to express with two or more controls what is now expressed with a\nsingle one, or maybe merge two draft controls in a single one. Who\nknows :)\n\n>\n>\n> Of course, we're likely to hit re-ordering anyway, as we find ourselves\n> refactoring draft controls ...\n>\n>\n> Perhaps that's a good reason to keep draft controls at the end anyway.\n> That way we won't affect the ID of any non-draft controls...\n\nYou know, I sent this out mostly for frivolous reasons (\"all draft\ncontrols shall go at the end of the file!\"), but your point of having\n'stable' controls first, with a non-changing ID has much more value,\neven if we're not looking for ABI stability at this point.\n\n>\n> Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>\n\nThanks\n  j\n\n>\n> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > ---\n> >  src/libcamera/control_ids.yaml | 28 ++++++++++++++++------------\n> >  1 file changed, 16 insertions(+), 12 deletions(-)\n> >\n> > diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\n> > index c8874fa91965..a883e27e22e9 100644\n> > --- a/src/libcamera/control_ids.yaml\n> > +++ b/src/libcamera/control_ids.yaml\n> > @@ -273,6 +273,22 @@ controls:\n> >\n> >        size: [3x3]\n> >\n> > +  - ScalerCrop:\n> > +      type: Rectangle\n> > +      description: |\n> > +        Sets the image portion that will be scaled to form the whole of\n> > +        the final output image. The (x,y) location of this rectangle is\n> > +        relative to the PixelArrayActiveAreas that is being used. The units\n> > +        remain native sensor pixels, even if the sensor is being used in\n> > +        a binning or skipping mode.\n> > +\n> > +        This control is only present when the pipeline supports scaling. Its\n> > +        maximum valid value is given by the properties::ScalerCropMaximum\n> > +        property, and the two can be used to implement digital zoom.\n> > +\n> > +  # ----------------------------------------------------------------------------\n> > +  # Draft controls section\n> > +\n> >    - AePrecaptureTrigger:\n> >        type: int32_t\n> >        draft: true\n> > @@ -518,16 +534,4 @@ controls:\n> >          detection, additional format conversions etc) count as an additional\n> >          pipeline stage.\n> >\n> > -  - ScalerCrop:\n> > -      type: Rectangle\n> > -      description: |\n> > -        Sets the image portion that will be scaled to form the whole of\n> > -        the final output image. The (x,y) location of this rectangle is\n> > -        relative to the PixelArrayActiveAreas that is being used. The units\n> > -        remain native sensor pixels, even if the sensor is being used in\n> > -        a binning or skipping mode.\n> > -\n> > -        This control is only present when the pipeline supports scaling. Its\n> > -        maximum valid value is given by the properties::ScalerCropMaximum\n> > -        property, and the two can be used to implement digital zoom.\n> >  ...\n> >\n>\n> --\n> Regards\n> --\n> Kieran","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id AF69FBE176\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 23 Nov 2020 09:29:48 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 51436632E2;\n\tMon, 23 Nov 2020 10:29:48 +0100 (CET)","from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net\n\t[217.70.183.197])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B6957615A0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 23 Nov 2020 10:29:46 +0100 (CET)","from uno.localdomain (2-224-242-101.ip172.fastwebnet.it\n\t[2.224.242.101]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 3B4F51C0241;\n\tMon, 23 Nov 2020 09:29:46 +0000 (UTC)"],"X-Originating-IP":"2.224.242.101","Date":"Mon, 23 Nov 2020 10:29:50 +0100","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20201123092950.uig4k5plrtobz356@uno.localdomain>","References":"<20201123090329.9486-1-jacopo@jmondi.org>\n\t<fa833cfa-053c-63c0-7fc8-112f64fb6fb1@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<fa833cfa-053c-63c0-7fc8-112f64fb6fb1@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] libcamera: control_ids: Keep draft\n\tcontrols last","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13830,"web_url":"https://patchwork.libcamera.org/comment/13830/","msgid":"<f74d6eaf-c257-184b-5a8e-b775b746c7ab@ideasonboard.com>","date":"2020-11-23T09:33:27","subject":"Re: [libcamera-devel] [PATCH] libcamera: control_ids: Keep draft\n\tcontrols last","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"On 23/11/2020 09:29, Jacopo Mondi wrote:\n> Hi Kieran,\n> \n> On Mon, Nov 23, 2020 at 09:21:23AM +0000, Kieran Bingham wrote:\n>> Hi Jacopo,\n>>\n>> On 23/11/2020 09:03, Jacopo Mondi wrote:\n>>> Let's try not to mix draft controls and regular controls.\n>>>\n>>> Keep draft controls at the end of the control_ids.yaml file and\n>>> add a comment to make clear where the draft controls section begins.\n>>>\n>>\n>> I won't directly object to this if you are concerned about the existing\n>> ordering - but it is not required to keep draft controls together.\n>>\n>> Changing a control from Draft to non-draft will not change it's\n>> underlying control id value/enum value - but moving them around the file\n>> will.\n> \n> Well, that's not entirely true. Changing a control from draft to\n> non-draft might imply changing its values, we might even decide we\n> want to express with two or more controls what is now expressed with a\n> single one, or maybe merge two draft controls in a single one. Who\n> knows :)\n\n\nI was referring only to the underlying ID values. ;-)\n\n\n\n>> Of course, we're likely to hit re-ordering anyway, as we find ourselves\n>> refactoring draft controls ...\n>>\n>>\n>> Perhaps that's a good reason to keep draft controls at the end anyway.\n>> That way we won't affect the ID of any non-draft controls...\n> \n> You know, I sent this out mostly for frivolous reasons (\"all draft\n> controls shall go at the end of the file!\"), but your point of having\n> 'stable' controls first, with a non-changing ID has much more value,\n> even if we're not looking for ABI stability at this point.\n\nI agree here.\n\nMixing unstable controls with stable ones, will cause instability to\n'stable' ids.\n\nNo need for that ;-) And also - no need for any actual sort order in\nthis file.\n\nWe can sort the documentation as a post-processing step in gen-controls\nif we want the doxygen to be alphabetical, and keep the ID's as a\ncontinuous - consecutive enum.\n\n\nSo yes, lets keep drafts at the bottom.\n\n--\nKieran\n\n\n>> Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>>\n> \n> Thanks\n>   j\n> \n>>\n>>> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n>>> ---\n>>>  src/libcamera/control_ids.yaml | 28 ++++++++++++++++------------\n>>>  1 file changed, 16 insertions(+), 12 deletions(-)\n>>>\n>>> diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\n>>> index c8874fa91965..a883e27e22e9 100644\n>>> --- a/src/libcamera/control_ids.yaml\n>>> +++ b/src/libcamera/control_ids.yaml\n>>> @@ -273,6 +273,22 @@ controls:\n>>>\n>>>        size: [3x3]\n>>>\n>>> +  - ScalerCrop:\n>>> +      type: Rectangle\n>>> +      description: |\n>>> +        Sets the image portion that will be scaled to form the whole of\n>>> +        the final output image. The (x,y) location of this rectangle is\n>>> +        relative to the PixelArrayActiveAreas that is being used. The units\n>>> +        remain native sensor pixels, even if the sensor is being used in\n>>> +        a binning or skipping mode.\n>>> +\n>>> +        This control is only present when the pipeline supports scaling. Its\n>>> +        maximum valid value is given by the properties::ScalerCropMaximum\n>>> +        property, and the two can be used to implement digital zoom.\n>>> +\n>>> +  # ----------------------------------------------------------------------------\n>>> +  # Draft controls section\n>>> +\n>>>    - AePrecaptureTrigger:\n>>>        type: int32_t\n>>>        draft: true\n>>> @@ -518,16 +534,4 @@ controls:\n>>>          detection, additional format conversions etc) count as an additional\n>>>          pipeline stage.\n>>>\n>>> -  - ScalerCrop:\n>>> -      type: Rectangle\n>>> -      description: |\n>>> -        Sets the image portion that will be scaled to form the whole of\n>>> -        the final output image. The (x,y) location of this rectangle is\n>>> -        relative to the PixelArrayActiveAreas that is being used. The units\n>>> -        remain native sensor pixels, even if the sensor is being used in\n>>> -        a binning or skipping mode.\n>>> -\n>>> -        This control is only present when the pipeline supports scaling. Its\n>>> -        maximum valid value is given by the properties::ScalerCropMaximum\n>>> -        property, and the two can be used to implement digital zoom.\n>>>  ...\n>>>\n>>\n>> --\n>> Regards\n>> --\n>> Kieran","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 6FC7BBE08A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 23 Nov 2020 09:33:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0502363328;\n\tMon, 23 Nov 2020 10:33:31 +0100 (CET)","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 AC471615A0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 23 Nov 2020 10:33:29 +0100 (CET)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 1CA2B2A4;\n\tMon, 23 Nov 2020 10:33:29 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"NqEJuR6j\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1606124009;\n\tbh=7XkImdy7vZwl+wdi+dVFRvZEFsQEz2/SQ6tchbkmAr0=;\n\th=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=NqEJuR6jBDlFhhGA7a2gxLF2+vFHIj5kcRXVjtTIDRtJiL987mb9NeH8xteQcNzBW\n\tF+6CYJOkIKAXwdeFYE9risxrfKlWFmn3yDtTCwgQRTLy55dKt2D0S87456d73sKdvj\n\tdD7POa34TV/SFCPqTs/AWeCS8u30XK8ZrnPFod7Q=","To":"Jacopo Mondi <jacopo@jmondi.org>","References":"<20201123090329.9486-1-jacopo@jmondi.org>\n\t<fa833cfa-053c-63c0-7fc8-112f64fb6fb1@ideasonboard.com>\n\t<20201123092950.uig4k5plrtobz356@uno.localdomain>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<f74d6eaf-c257-184b-5a8e-b775b746c7ab@ideasonboard.com>","Date":"Mon, 23 Nov 2020 09:33:27 +0000","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.10.0","MIME-Version":"1.0","In-Reply-To":"<20201123092950.uig4k5plrtobz356@uno.localdomain>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH] libcamera: control_ids: Keep draft\n\tcontrols last","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>","Reply-To":"kieran.bingham@ideasonboard.com","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13951,"web_url":"https://patchwork.libcamera.org/comment/13951/","msgid":"<20201127142645.GA3323880@oden.dyn.berto.se>","date":"2020-11-27T14:26:45","subject":"Re: [libcamera-devel] [PATCH] libcamera: control_ids: Keep draft\n\tcontrols last","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Jacopo,\n\nThanks for your work.\n\nOn 2020-11-23 10:03:29 +0100, Jacopo Mondi wrote:\n> Let's try not to mix draft controls and regular controls.\n> \n> Keep draft controls at the end of the control_ids.yaml file and\n> add a comment to make clear where the draft controls section begins.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n\n> ---\n>  src/libcamera/control_ids.yaml | 28 ++++++++++++++++------------\n>  1 file changed, 16 insertions(+), 12 deletions(-)\n> \n> diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\n> index c8874fa91965..a883e27e22e9 100644\n> --- a/src/libcamera/control_ids.yaml\n> +++ b/src/libcamera/control_ids.yaml\n> @@ -273,6 +273,22 @@ controls:\n>  \n>        size: [3x3]\n>  \n> +  - ScalerCrop:\n> +      type: Rectangle\n> +      description: |\n> +        Sets the image portion that will be scaled to form the whole of\n> +        the final output image. The (x,y) location of this rectangle is\n> +        relative to the PixelArrayActiveAreas that is being used. The units\n> +        remain native sensor pixels, even if the sensor is being used in\n> +        a binning or skipping mode.\n> +\n> +        This control is only present when the pipeline supports scaling. Its\n> +        maximum valid value is given by the properties::ScalerCropMaximum\n> +        property, and the two can be used to implement digital zoom.\n> +\n> +  # ----------------------------------------------------------------------------\n> +  # Draft controls section\n> +\n>    - AePrecaptureTrigger:\n>        type: int32_t\n>        draft: true\n> @@ -518,16 +534,4 @@ controls:\n>          detection, additional format conversions etc) count as an additional\n>          pipeline stage.\n>  \n> -  - ScalerCrop:\n> -      type: Rectangle\n> -      description: |\n> -        Sets the image portion that will be scaled to form the whole of\n> -        the final output image. The (x,y) location of this rectangle is\n> -        relative to the PixelArrayActiveAreas that is being used. The units\n> -        remain native sensor pixels, even if the sensor is being used in\n> -        a binning or skipping mode.\n> -\n> -        This control is only present when the pipeline supports scaling. Its\n> -        maximum valid value is given by the properties::ScalerCropMaximum\n> -        property, and the two can be used to implement digital zoom.\n>  ...\n> -- \n> 2.29.1\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 69763BE177\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 27 Nov 2020 14:26:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F2803632EE;\n\tFri, 27 Nov 2020 15:26:49 +0100 (CET)","from mail-lf1-x144.google.com (mail-lf1-x144.google.com\n\t[IPv6:2a00:1450:4864:20::144])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 42911630BB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 27 Nov 2020 15:26:48 +0100 (CET)","by mail-lf1-x144.google.com with SMTP id j205so7284164lfj.6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 27 Nov 2020 06:26:48 -0800 (PST)","from localhost (h-209-203.A463.priv.bahnhof.se. [155.4.209.203])\n\tby smtp.gmail.com with ESMTPSA id\n\tv20sm707476lfd.267.2020.11.27.06.26.46\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 27 Nov 2020 06:26:46 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=ragnatech-se.20150623.gappssmtp.com\n\theader.i=@ragnatech-se.20150623.gappssmtp.com\n\theader.b=\"Lo5fDz16\"; dkim-atps=neutral","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=RJmiqkAi1KqDBTzwF1n9wO1rEf1fVpFH0rXjYimGaqE=;\n\tb=Lo5fDz16UkvALYSp83Hku1VIMKEE6/y+Wf0GJJcmuwHxRpU+0miigC/UAfc1Sthwle\n\tCz28LLkAyqcTZ86+qyr5eXqEuCv+J/dadQmg3eqAazOfxacxZfWfGom3NpXN45z0W1tt\n\trBCAdUWPZz7yZbHiCK9kJgqjFCEQNtSWTUyMr64J+j/u/uS1FUKNovKBHQEUAFKyQx6p\n\td2SN+m4alI/MYUBJ5+unXRd+Txo3jPgburSOODH/eBpz2ReZA6MXRxauZSFF8p4RRRtj\n\tpQRu+pCrDhj/te+UIaN7bHOmLd4euXLAtFg+b7N3hZsWLgnDDrsT+lcWG+LSrky1KS1U\n\tj3vw==","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=RJmiqkAi1KqDBTzwF1n9wO1rEf1fVpFH0rXjYimGaqE=;\n\tb=jDZS78NCBTdc9H/ixVr9LnQKtiheVN7+1sw6ZaYiHZvt5C2gNKNEpprbtJW2+odOVy\n\tevnm/wuELk5GhqqTfws4WEqCeuRJ9mV8BacEwhiN65uC2meMIaCbUrEyNuSlpSavfrbU\n\tcP9MuKKGpYSzy29DEUBwfXUPDlmmcaqxETdFUNZ6uqHhPWUsahXm2CE3Qm/PeD/XbII5\n\twTvk8Q80L7BkNS4wAMWYn7xU65V/AdNfNizTckLqnEGzGNvdfzkdgGKjHURPdHeACTl6\n\t6LN3f/eeJ2EOt/x3Q9GY59yOMCW6Kyonsxv6u9gxWrq0S6+yS0WVTlnlzxqEKElLCqSB\n\ttkJg==","X-Gm-Message-State":"AOAM532D7uIu+UzYag4D/9Qtn1XVp/8iZ7moQVIakhM+PesXri9I7JjU\n\tyhq66PthH9v08ZqV8UYdwReRrA==","X-Google-Smtp-Source":"ABdhPJzSzEZKSH2f1G/d8ftD6LBeD2VoLyu/APlo+FUOjRXIPHAoee4sxmuzO9dcXe5IEvHUBeCV4A==","X-Received":"by 2002:a19:c301:: with SMTP id t1mr3326929lff.105.1606487207638;\n\tFri, 27 Nov 2020 06:26:47 -0800 (PST)","Date":"Fri, 27 Nov 2020 15:26:45 +0100","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<20201127142645.GA3323880@oden.dyn.berto.se>","References":"<20201123090329.9486-1-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201123090329.9486-1-jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH] libcamera: control_ids: Keep draft\n\tcontrols last","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"iso-8859-1\"","Content-Transfer-Encoding":"quoted-printable","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13993,"web_url":"https://patchwork.libcamera.org/comment/13993/","msgid":"<20201201020644.GG4315@pendragon.ideasonboard.com>","date":"2020-12-01T02:06:44","subject":"Re: [libcamera-devel] [PATCH] libcamera: control_ids: Keep draft\n\tcontrols last","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jacopo,\n\nThank you for the patch.\n\nOn Mon, Nov 23, 2020 at 10:03:29AM +0100, Jacopo Mondi wrote:\n> Let's try not to mix draft controls and regular controls.\n> \n> Keep draft controls at the end of the control_ids.yaml file and\n> add a comment to make clear where the draft controls section begins.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/libcamera/control_ids.yaml | 28 ++++++++++++++++------------\n>  1 file changed, 16 insertions(+), 12 deletions(-)\n> \n> diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\n> index c8874fa91965..a883e27e22e9 100644\n> --- a/src/libcamera/control_ids.yaml\n> +++ b/src/libcamera/control_ids.yaml\n> @@ -273,6 +273,22 @@ controls:\n>  \n>        size: [3x3]\n>  \n> +  - ScalerCrop:\n> +      type: Rectangle\n> +      description: |\n> +        Sets the image portion that will be scaled to form the whole of\n> +        the final output image. The (x,y) location of this rectangle is\n> +        relative to the PixelArrayActiveAreas that is being used. The units\n> +        remain native sensor pixels, even if the sensor is being used in\n> +        a binning or skipping mode.\n> +\n> +        This control is only present when the pipeline supports scaling. Its\n> +        maximum valid value is given by the properties::ScalerCropMaximum\n> +        property, and the two can be used to implement digital zoom.\n> +\n> +  # ----------------------------------------------------------------------------\n> +  # Draft controls section\n> +\n>    - AePrecaptureTrigger:\n>        type: int32_t\n>        draft: true\n> @@ -518,16 +534,4 @@ controls:\n>          detection, additional format conversions etc) count as an additional\n>          pipeline stage.\n>  \n> -  - ScalerCrop:\n> -      type: Rectangle\n> -      description: |\n> -        Sets the image portion that will be scaled to form the whole of\n> -        the final output image. The (x,y) location of this rectangle is\n> -        relative to the PixelArrayActiveAreas that is being used. The units\n> -        remain native sensor pixels, even if the sensor is being used in\n> -        a binning or skipping mode.\n> -\n> -        This control is only present when the pipeline supports scaling. Its\n> -        maximum valid value is given by the properties::ScalerCropMaximum\n> -        property, and the two can be used to implement digital zoom.\n>  ...","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 1DC14BE176\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  1 Dec 2020 02:06:55 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A641B634A1;\n\tTue,  1 Dec 2020 03:06:54 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2F75760329\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  1 Dec 2020 03:06:53 +0100 (CET)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9E2A63E;\n\tTue,  1 Dec 2020 03:06:52 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"nVcqsbcg\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1606788412;\n\tbh=bOrOZ0vdQN9TNjYWNRrYvPRBNX7fA/g0C3e/X8rZ/sU=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=nVcqsbcg3HlxddX5x9V8qwuqIzvYxaiEJMcCSyCfWQke6Yu1eEqy3tt5VW8L8QAAp\n\tkVODnB4jzQ1dNxZDmNS1mfbryRigozuVqxCz3n31SqnbqklgSoDQ4t/os7R5EunhWh\n\tBcgzQ65Nbj6+Kqe9ovhejbA6qLEoDcnXm3umIhjw=","Date":"Tue, 1 Dec 2020 04:06:44 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<20201201020644.GG4315@pendragon.ideasonboard.com>","References":"<20201123090329.9486-1-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201123090329.9486-1-jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH] libcamera: control_ids: Keep draft\n\tcontrols last","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]