[{"id":26637,"web_url":"https://patchwork.libcamera.org/comment/26637/","msgid":"<20230312155412.GW2545@pendragon.ideasonboard.com>","date":"2023-03-12T15:54:12","subject":"Re: [libcamera-devel] [PATCH 1/3] libcamera: control_ids: Introduce\n\tLensShadingEnable","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 Wed, Mar 08, 2023 at 05:40:26PM +0100, Jacopo Mondi via libcamera-devel wrote:\n> From: Jacopo Mondi <jacopo@jmondi.org>\n> \n> Introduce a control to enable and disable LSC and replace the\n> draft android control. The control is used to report the algorithm\n> current state when part of a completed Request metadata.\n\nWhat's the use case for this ? Also, the new control isn't equivalent to\nANDROID_STATISTICS_LENS_SHADING_MAP_MODE, how will we support the latter\nif you drop LensShadingMapMode ?\n\n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> ---\n>  src/android/camera_capabilities.cpp |  4 ++--\n>  src/libcamera/control_ids.yaml      | 20 ++++++--------------\n>  2 files changed, 8 insertions(+), 16 deletions(-)\n> \n> diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp\n> index 1bfeaea4b121..040ad7347773 100644\n> --- a/src/android/camera_capabilities.cpp\n> +++ b/src/android/camera_capabilities.cpp\n> @@ -1187,10 +1187,10 @@ int CameraCapabilities::initializeStaticMetadata()\n>  \t{\n>  \t\tstd::vector<uint8_t> data;\n>  \t\tdata.reserve(2);\n> -\t\tconst auto &infoMap = controlsInfo.find(&controls::draft::LensShadingMapMode);\n> +\t\tconst auto &infoMap = controlsInfo.find(&controls::LensShadingEnable);\n>  \t\tif (infoMap != controlsInfo.end()) {\n>  \t\t\tfor (const auto &value : infoMap->second.values())\n> -\t\t\t\tdata.push_back(value.get<int32_t>());\n> +\t\t\t\tdata.push_back(value.get<bool>());\n>  \t\t} else {\n>  \t\t\tdata.push_back(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF);\n>  \t\t}\n> diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\n> index adea5f90acc5..9457fb3de7b0 100644\n> --- a/src/libcamera/control_ids.yaml\n> +++ b/src/libcamera/control_ids.yaml\n> @@ -694,6 +694,12 @@ controls:\n>              Continuous AF is paused. No further state changes or lens movements\n>              will occur until the AfPauseResume control is sent.\n>  \n> +  - LensShadingEnable:\n> +      type: bool\n> +      description: |\n> +        Enable or disable the lens shading algorithm. When reported in the\n> +        Request metadata the control reflects the algorithm's current state.\n> +\n>    # ----------------------------------------------------------------------------\n>    # Draft controls section\n>  \n> @@ -829,20 +835,6 @@ controls:\n>         row and the start of exposure of the last row. Currently identical to\n>         ANDROID_SENSOR_ROLLING_SHUTTER_SKEW\n>  \n> -  - LensShadingMapMode:\n> -      type: int32_t\n> -      draft: true\n> -      description: |\n> -       Control to report if the lens shading map is available. Currently\n> -       identical to ANDROID_STATISTICS_LENS_SHADING_MAP_MODE.\n> -      enum:\n> -        - name: LensShadingMapModeOff\n> -          value: 0\n> -          description: No lens shading map mode is available.\n> -        - name: LensShadingMapModeOn\n> -          value: 1\n> -          description: The lens shading map mode is available.\n> -\n>    - SceneFlicker:\n>        type: int32_t\n>        draft: true","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 025F8BD80A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 12 Mar 2023 15:54:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 436AA62709;\n\tSun, 12 Mar 2023 16:54:13 +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 94E4162705\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 12 Mar 2023 16:54:12 +0100 (CET)","from pendragon.ideasonboard.com (85-76-21-162-nat.elisa-mobile.fi\n\t[85.76.21.162])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 93970814;\n\tSun, 12 Mar 2023 16:54:11 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1678636453;\n\tbh=gMert42+MUwR+UXTZeOU9OBRTfPUZmSzaNM0PBOnrvc=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=iiGaB4TjGOHcBeFBZk9NqQ/xo7aVdjLL6XHFVUi+/D9vjuHPG43E91nxbIDeXVWgs\n\t/LObojNsyh90Sb5Aj+cSx2VEX21/06hKSmnUV+YcsY/qk3CHIlGZX8v//ccWCbfhXE\n\tJCK1fQFJrDchv51sg+3SoffJPBfuRtSYBMyLhdeujzXnADnvvYyUUxoquZ+Ovfx0V2\n\txXhrxJdUtwGhDYQwSA4TgUUreTRaCcQjHvaYGPK7FnNGhyvFwsgc6v7xqsF995j9VC\n\tv4lj2Tih3XOOVv1YAYRMZhDvlx127jYB8fD/chGquA+eoTkIuXIM5tQIZJkcnVQYTx\n\tDN6HFbzkzn88A==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1678636452;\n\tbh=gMert42+MUwR+UXTZeOU9OBRTfPUZmSzaNM0PBOnrvc=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=ssXGWDGEmOnge7Jc8iIrfzd3KchqTAKgCFgGhx/1riHIgZmvHg7R2HO+5eMYnQ0Xx\n\tudHIosAiXYVxcBmLR6lensGL3aE9GJ0xRkPLuYXv2LTJXtPJ/64n0nYZTOo/Kk0Yax\n\tCp1izI7uYaswCB6KjrvVN468Lo2Q8v8l02PmBhhc="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"ssXGWDGE\"; dkim-atps=neutral","Date":"Sun, 12 Mar 2023 17:54:12 +0200","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Message-ID":"<20230312155412.GW2545@pendragon.ideasonboard.com>","References":"<20230308164028.235638-1-jacopo.mondi@ideasonboard.com>\n\t<20230308164028.235638-2-jacopo.mondi@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230308164028.235638-2-jacopo.mondi@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 1/3] libcamera: control_ids: Introduce\n\tLensShadingEnable","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>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":26648,"web_url":"https://patchwork.libcamera.org/comment/26648/","msgid":"<20230313083429.vnb6ycgqdkfkv65c@uno.localdomain>","date":"2023-03-13T08:34:29","subject":"Re: [libcamera-devel] [PATCH 1/3] libcamera: control_ids: Introduce\n\tLensShadingEnable","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Laurent\n\nOn Sun, Mar 12, 2023 at 05:54:12PM +0200, Laurent Pinchart via libcamera-devel wrote:\n> Hi Jacopo,\n>\n> Thank you for the patch.\n>\n> On Wed, Mar 08, 2023 at 05:40:26PM +0100, Jacopo Mondi via libcamera-devel wrote:\n> > From: Jacopo Mondi <jacopo@jmondi.org>\n> >\n> > Introduce a control to enable and disable LSC and replace the\n> > draft android control. The control is used to report the algorithm\n> > current state when part of a completed Request metadata.\n>\n> What's the use case for this ? Also, the new control isn't equivalent to\n> ANDROID_STATISTICS_LENS_SHADING_MAP_MODE, how will we support the latter\n> if you drop LensShadingMapMode ?\n>\n\nI'm not sure I understand your questions here...\n\n1) What is the use case: to enable/disable LSC at runtime\n2) Isn't it equivalent to ANDROID_STATISTICS_LENS_SHADING_MAP_MODE:\nyes, and so far we had a draft control to support it\n3) How we support Android: by translating the libcamera control to the\nAndroid control as done in this patch for the static metadata\n\n\n> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > ---\n> >  src/android/camera_capabilities.cpp |  4 ++--\n> >  src/libcamera/control_ids.yaml      | 20 ++++++--------------\n> >  2 files changed, 8 insertions(+), 16 deletions(-)\n> >\n> > diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp\n> > index 1bfeaea4b121..040ad7347773 100644\n> > --- a/src/android/camera_capabilities.cpp\n> > +++ b/src/android/camera_capabilities.cpp\n> > @@ -1187,10 +1187,10 @@ int CameraCapabilities::initializeStaticMetadata()\n> >  \t{\n> >  \t\tstd::vector<uint8_t> data;\n> >  \t\tdata.reserve(2);\n> > -\t\tconst auto &infoMap = controlsInfo.find(&controls::draft::LensShadingMapMode);\n> > +\t\tconst auto &infoMap = controlsInfo.find(&controls::LensShadingEnable);\n> >  \t\tif (infoMap != controlsInfo.end()) {\n> >  \t\t\tfor (const auto &value : infoMap->second.values())\n> > -\t\t\t\tdata.push_back(value.get<int32_t>());\n> > +\t\t\t\tdata.push_back(value.get<bool>());\n> >  \t\t} else {\n> >  \t\t\tdata.push_back(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF);\n> >  \t\t}\n> > diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\n> > index adea5f90acc5..9457fb3de7b0 100644\n> > --- a/src/libcamera/control_ids.yaml\n> > +++ b/src/libcamera/control_ids.yaml\n> > @@ -694,6 +694,12 @@ controls:\n> >              Continuous AF is paused. No further state changes or lens movements\n> >              will occur until the AfPauseResume control is sent.\n> >\n> > +  - LensShadingEnable:\n> > +      type: bool\n> > +      description: |\n> > +        Enable or disable the lens shading algorithm. When reported in the\n> > +        Request metadata the control reflects the algorithm's current state.\n> > +\n> >    # ----------------------------------------------------------------------------\n> >    # Draft controls section\n> >\n> > @@ -829,20 +835,6 @@ controls:\n> >         row and the start of exposure of the last row. Currently identical to\n> >         ANDROID_SENSOR_ROLLING_SHUTTER_SKEW\n> >\n> > -  - LensShadingMapMode:\n> > -      type: int32_t\n> > -      draft: true\n> > -      description: |\n> > -       Control to report if the lens shading map is available. Currently\n> > -       identical to ANDROID_STATISTICS_LENS_SHADING_MAP_MODE.\n> > -      enum:\n> > -        - name: LensShadingMapModeOff\n> > -          value: 0\n> > -          description: No lens shading map mode is available.\n> > -        - name: LensShadingMapModeOn\n> > -          value: 1\n> > -          description: The lens shading map mode is available.\n> > -\n> >    - SceneFlicker:\n> >        type: int32_t\n> >        draft: true\n>\n> --\n> Regards,\n>\n> Laurent Pinchart","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 290A0BD80A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 13 Mar 2023 08:34:37 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 574CA62706;\n\tMon, 13 Mar 2023 09:34:36 +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 EA502626B2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 13 Mar 2023 09:34:33 +0100 (CET)","from ideasonboard.com (host-79-33-55-183.retail.telecomitalia.it\n\t[79.33.55.183])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 445CA563;\n\tMon, 13 Mar 2023 09:34:33 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1678696476;\n\tbh=1hG5liXCpQsnn3CyaeBsbvqw0Y1tBXCYZ117pXaUOaE=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=GsFnmDoTcaqAPEQGlcQQinbZyRizPHE/2St4ZaU7MsgcMvvilMCgx3cF13lgDYaim\n\tOhBEsl+bpfUIwUJPyQ4wbSTtPqXmqPKgtsBioV1Ri7CUoTFtp1jvAsWfmdRbECzSNU\n\tqAhWYyzHkqJxqYzwD5ZcvI9IR2ZPY2mFZnHla9Xh3cCqokxcw8mgM8zmXQZx02qSIZ\n\t3voEZckeRQyVTy8nMLWqh5yL5W0jo2Uyvz4CvwQOlW2y2djVQ3lP13mEwenshG1eb2\n\t82lW6cKJcgEi4WCca/rvTOeKkqE9TBvf51IsV3YC7nWS6cIRr1EF9FSW7JdpfUqezd\n\t568YisksxtcUQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1678696473;\n\tbh=1hG5liXCpQsnn3CyaeBsbvqw0Y1tBXCYZ117pXaUOaE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Qpt3IYCWWzE8Q2jEeg8GgWQVbeJy2j91kXOqjW5/01joGuxumNzac/JCyOZdWaJHH\n\tbJgq8NE7m5ndn3zm4IST9MyhYVhk1YwPRFqE1sIGPfIvrJDiczl5cNC8odylE80wjD\n\tzGcNrmBJIRUYC69TedsvzP9pCU20bJsYyF5cIKF8="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Qpt3IYCW\"; dkim-atps=neutral","Date":"Mon, 13 Mar 2023 09:34:29 +0100","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20230313083429.vnb6ycgqdkfkv65c@uno.localdomain>","References":"<20230308164028.235638-1-jacopo.mondi@ideasonboard.com>\n\t<20230308164028.235638-2-jacopo.mondi@ideasonboard.com>\n\t<20230312155412.GW2545@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230312155412.GW2545@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 1/3] libcamera: control_ids: Introduce\n\tLensShadingEnable","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":26688,"web_url":"https://patchwork.libcamera.org/comment/26688/","msgid":"<20230321002529.GY20234@pendragon.ideasonboard.com>","date":"2023-03-21T00:25:29","subject":"Re: [libcamera-devel] [PATCH 1/3] libcamera: control_ids: Introduce\n\tLensShadingEnable","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jacopo,\n\nOn Mon, Mar 13, 2023 at 09:34:29AM +0100, Jacopo Mondi wrote:\n> On Sun, Mar 12, 2023 at 05:54:12PM +0200, Laurent Pinchart via libcamera-devel wrote:\n> > On Wed, Mar 08, 2023 at 05:40:26PM +0100, Jacopo Mondi via libcamera-devel wrote:\n> > > From: Jacopo Mondi <jacopo@jmondi.org>\n> > >\n> > > Introduce a control to enable and disable LSC and replace the\n> > > draft android control. The control is used to report the algorithm\n> > > current state when part of a completed Request metadata.\n> >\n> > What's the use case for this ? Also, the new control isn't equivalent to\n> > ANDROID_STATISTICS_LENS_SHADING_MAP_MODE, how will we support the latter\n> > if you drop LensShadingMapMode ?\n> \n> I'm not sure I understand your questions here...\n> \n> 1) What is the use case: to enable/disable LSC at runtime\n\nI meant what's the use case for enabling and disabling LSC dynamically ?\n\n> 2) Isn't it equivalent to ANDROID_STATISTICS_LENS_SHADING_MAP_MODE:\n> yes, and so far we had a draft control to support it\n\nNo, my point is that your new control is *not* equivalent to\nANDROID_STATISTICS_LENS_SHADING_MAP_MODE, which was supported through\nthe LensShadingMapMode control that you're removing.\n\n> 3) How we support Android: by translating the libcamera control to the\n> Android control as done in this patch for the static metadata\n> \n> > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > > ---\n> > >  src/android/camera_capabilities.cpp |  4 ++--\n> > >  src/libcamera/control_ids.yaml      | 20 ++++++--------------\n> > >  2 files changed, 8 insertions(+), 16 deletions(-)\n> > >\n> > > diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp\n> > > index 1bfeaea4b121..040ad7347773 100644\n> > > --- a/src/android/camera_capabilities.cpp\n> > > +++ b/src/android/camera_capabilities.cpp\n> > > @@ -1187,10 +1187,10 @@ int CameraCapabilities::initializeStaticMetadata()\n> > >  \t{\n> > >  \t\tstd::vector<uint8_t> data;\n> > >  \t\tdata.reserve(2);\n> > > -\t\tconst auto &infoMap = controlsInfo.find(&controls::draft::LensShadingMapMode);\n> > > +\t\tconst auto &infoMap = controlsInfo.find(&controls::LensShadingEnable);\n> > >  \t\tif (infoMap != controlsInfo.end()) {\n> > >  \t\t\tfor (const auto &value : infoMap->second.values())\n> > > -\t\t\t\tdata.push_back(value.get<int32_t>());\n> > > +\t\t\t\tdata.push_back(value.get<bool>());\n> > >  \t\t} else {\n> > >  \t\t\tdata.push_back(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF);\n> > >  \t\t}\n> > > diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\n> > > index adea5f90acc5..9457fb3de7b0 100644\n> > > --- a/src/libcamera/control_ids.yaml\n> > > +++ b/src/libcamera/control_ids.yaml\n> > > @@ -694,6 +694,12 @@ controls:\n> > >              Continuous AF is paused. No further state changes or lens movements\n> > >              will occur until the AfPauseResume control is sent.\n> > >\n> > > +  - LensShadingEnable:\n> > > +      type: bool\n> > > +      description: |\n> > > +        Enable or disable the lens shading algorithm. When reported in the\n> > > +        Request metadata the control reflects the algorithm's current state.\n> > > +\n> > >    # ----------------------------------------------------------------------------\n> > >    # Draft controls section\n> > >\n> > > @@ -829,20 +835,6 @@ controls:\n> > >         row and the start of exposure of the last row. Currently identical to\n> > >         ANDROID_SENSOR_ROLLING_SHUTTER_SKEW\n> > >\n> > > -  - LensShadingMapMode:\n> > > -      type: int32_t\n> > > -      draft: true\n> > > -      description: |\n> > > -       Control to report if the lens shading map is available. Currently\n> > > -       identical to ANDROID_STATISTICS_LENS_SHADING_MAP_MODE.\n> > > -      enum:\n> > > -        - name: LensShadingMapModeOff\n> > > -          value: 0\n> > > -          description: No lens shading map mode is available.\n> > > -        - name: LensShadingMapModeOn\n> > > -          value: 1\n> > > -          description: The lens shading map mode is available.\n> > > -\n> > >    - SceneFlicker:\n> > >        type: int32_t\n> > >        draft: true","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 8483AC0F2A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 21 Mar 2023 00:25:37 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B2BC9626E3;\n\tTue, 21 Mar 2023 01:25:36 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id ECE43626CA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 21 Mar 2023 01:25:23 +0100 (CET)","from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi\n\t[213.243.189.158])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 1D902496;\n\tTue, 21 Mar 2023 01:25:23 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1679358336;\n\tbh=N2IYYeoShb7imY4QtlXTq6lXvo6jbVlhILFpNpCWcbM=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=IsIL77hBYy4rc72frFyXp87E77uVUBKMzGyIcfBo+Bh5UHPVz6bzK0RUetMzlojqI\n\t//3GaFIp+fx39ikjeHvJoX2zdxoLeyTF60AJVUNm01Ea+/l/Hbte/x2FYVq+bEzy4g\n\tdtK0VITzHXnrOQcvf8iM5dDNuWpTJifSLBJy9+cl489x6Q22xEozlOwj2zrSbEeJBy\n\tcf851KfvHvNR0YOJTJPItWXBkg9z2xaw6k5OgErqZEiTUHicTX/wBk3j3mFwuZirAp\n\tv+iVbJXRuHjaUWOXSmX9RR5hlN+T2GrBioGf4S3hVRFXjhKi7SAtepFvFPcaMKa4Ls\n\tKlpiFIgDteQEQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1679358323;\n\tbh=N2IYYeoShb7imY4QtlXTq6lXvo6jbVlhILFpNpCWcbM=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Ak5bAzfos6Y9Y3CXvhlyb/z0FUJkVmQsvMBxccV1sjOycTAbvi4lzSqrj1pqAJekr\n\t68d4WblRTGdw40lwvZxi2PG4hfdAJlSve8ftv0odqKvzdKHawipiZ/FaWpfsa4DgM+\n\tbgT9FS5P0C6ge5SVZRmNeCMgoo0LWbECRgR5B6FE="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Ak5bAzfo\"; dkim-atps=neutral","Date":"Tue, 21 Mar 2023 02:25:29 +0200","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Message-ID":"<20230321002529.GY20234@pendragon.ideasonboard.com>","References":"<20230308164028.235638-1-jacopo.mondi@ideasonboard.com>\n\t<20230308164028.235638-2-jacopo.mondi@ideasonboard.com>\n\t<20230312155412.GW2545@pendragon.ideasonboard.com>\n\t<20230313083429.vnb6ycgqdkfkv65c@uno.localdomain>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230313083429.vnb6ycgqdkfkv65c@uno.localdomain>","Subject":"Re: [libcamera-devel] [PATCH 1/3] libcamera: control_ids: Introduce\n\tLensShadingEnable","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>","From":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]