[{"id":24350,"web_url":"https://patchwork.libcamera.org/comment/24350/","msgid":"<20220803140838.GH311202@pyrite.rasen.tech>","date":"2022-08-03T14:08:38","subject":"Re: [libcamera-devel] [PATCH 3/9] fixup: s/Disabled/Manual for\n\tExposure and Gain modes","submitter":{"id":97,"url":"https://patchwork.libcamera.org/api/people/97/","name":"Nicolas Dufresne via libcamera-devel","email":"libcamera-devel@lists.libcamera.org"},"content":"On Fri, Jul 01, 2022 at 05:46:55PM +0200, Jacopo Mondi wrote:\n> The ExposureTimeMode and AnalogueGainMode controls define the following\n> statues:\n> - Auto\n> - Disabled\n> \n> The AE algorithm modes should either be\n> \n> - Active vs Disabled:\n> to highlight that the algorithm is active or not\n> \n> - Auto vs Manual:\n> to highlight where the exposure time and analogue gain values\n> are computed from\n> \n> Use the latter form and change AnalogueGainModeDisabled and\n> ExposureTimeModeDisabled in AnalogueGainModeManual and\n> ExposureTimeModeManual respectively.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n\nAcked-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> ---\n>  src/libcamera/control_ids.yaml | 54 +++++++++++++++++-----------------\n>  1 file changed, 27 insertions(+), 27 deletions(-)\n> \n> diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\n> index 59770e63aead..bb5eeb1507a9 100644\n> --- a/src/libcamera/control_ids.yaml\n> +++ b/src/libcamera/control_ids.yaml\n> @@ -14,7 +14,7 @@ controls:\n>          result.\n>  \n>          The state is still reported even if ExposureTimeMode or\n> -        AnalogueGainMode is set to Disabled.\n> +        AnalogueGainMode is set to Manual.\n>  \n>          \\sa AnalogueGain\n>          \\sa AnalogueGainMode\n> @@ -28,7 +28,7 @@ controls:\n>              The AE algorithm is inactive.\n>  \n>              This state should be returned if both AnalogueGainMode and\n> -            ExposureTimeMode are set to disabled (or one, if the camera only\n> +            ExposureTimeMode are set to manual (or one, if the camera only\n>              supports one of the two controls).\n>          - name: AeStateSearching\n>            value: 1\n> @@ -117,7 +117,7 @@ controls:\n>          and the sensor's analogue gain. The exposure modes are platform\n>          specific, and not all exposure modes may be supported.\n>  \n> -        When one of AnalogueGainMode or ExposureTimeMode is set to Disabled,\n> +        When one of AnalogueGainMode or ExposureTimeMode is set to Manual,\n>          the fixed values will override any choices made by AeExposureMode.\n>  \n>          \\sa AnalogueGainMode\n> @@ -157,7 +157,7 @@ controls:\n>          Exposure time (shutter speed) for the frame applied in the sensor\n>          device. This value is specified in micro-seconds.\n>  \n> -        This control will only take effect if ExposureTimeMode is Disabled. If\n> +        This control will only take effect if ExposureTimeMode is Manual. If\n>          this control is set when ExposureTimeMode is Auto, the value will be\n>          ignored and will not be retained.\n>  \n> @@ -174,30 +174,30 @@ controls:\n>        description: |\n>          Controls the source of the exposure time that is applied to the image\n>          sensor. When set to Auto, the AE algorithm computes the exposure time\n> -        and configures the image sensor accordingly. When set to Disabled,\n> +        and configures the image sensor accordingly. When set to Manual,\n>          exposure time specified in ExposureTime is applied to the image sensor.\n>          If ExposureTime is not set, then the value last computed by the AE\n>          algorithm when the mode was Auto will be used.\n>  \n> -        If ExposureTime is not set and the mode is ExposureTimeModeDisabled and\n> -        AE was never Auto (either because the camera started in Disabled mode,\n> +        If ExposureTime is not set and the mode is ExposureTimeModeManual and\n> +        AE was never Auto (either because the camera started in Manual mode,\n>          or Auto is not supported by the camera), the camera should use a\n>          best-effort default value.\n>  \n>          When ExposureTimeMode is set Auto, the value set in ExposureTime is\n>          ignored and is not retained. This means that if ExposureTimeMode is set\n> -        to Disabled and ExposureTime is not also set, the exposure time that\n> +        to Manual and ExposureTime is not also set, the exposure time that\n>          was last computed by the AE algorithm while the mode was Auto will be\n>          applied to the sensor.\n>  \n> -        If ExposureTimeModeDisabled is supported, the ExposureTime control must\n> +        If ExposureTimeModeManual is supported, the ExposureTime control must\n>          also be supported.\n>  \n>          The set of ExposureTimeMode modes that are supported by the camera must\n>          have an intersection with the supported set of AnalogueGainMode modes.\n>  \n>          As it takes a few frames to apply the exposure time, there is a period of\n> -        time between submitting a request with ExposureTimeMode set to Disabled\n> +        time between submitting a request with ExposureTimeMode set to Manual\n>          and the exposure time component of the AE actually being disabled,\n>          during which the AE algorithm can still update the exposure time. If an\n>          application is switching from automatic and manual control and wishes\n> @@ -206,10 +206,10 @@ controls:\n>  \n>          1. Start with ExposureTimeMode set to Auto\n>  \n> -        2. Set ExposureTimeMode to Disabled\n> +        2. Set ExposureTimeMode to Manual\n>  \n>          3. Wait for the first request to be output that has ExposureTimeMode\n> -        set to Disabled\n> +        set to Manual\n>  \n>          4. Copy the value reported in ExposureTime into a new request, and\n>          submit it\n> @@ -224,18 +224,18 @@ controls:\n>              The exposure time will be calculated automatically and set by the\n>              AE algorithm. If ExposureTime is set while this mode is active, it\n>              will be ignored, and it will also not be retained.\n> -        - name: ExposureTimeModeDisabled\n> +        - name: ExposureTimeModeManual\n>            value: 1\n>            description: |\n>              The exposure time will not be updated by the AE algorithm. It will\n>              come from the last calculated value when the mode was Auto, or from\n>              the value specified in ExposureTime.\n>  \n> -            When transitioning from Auto to Disabled mode, the last computed\n> +            When transitioning from Auto to Manual mode, the last computed\n>              exposure value is used until a new value is specified through the\n>              ExposureTime control. If an ExposureTime value is specified in the\n>              same request where the ExposureTimeMode is changed from Auto to\n> -            Disabled, the provided ExposureTime is applied.\n> +            Manual, the provided ExposureTime is applied.\n>  \n>    - AnalogueGain:\n>        type: float\n> @@ -244,7 +244,7 @@ controls:\n>          The value of the control specifies the gain multiplier applied to all\n>          colour channels. This value cannot be lower than 1.0.\n>  \n> -        This control will only take effect if AnalogueGainMode is Disabled. If\n> +        This control will only take effect if AnalogueGainMode is Manual. If\n>          this control is set when AnalogueGainMode is Auto, the value will be\n>          ignored and will not be retained.\n>  \n> @@ -261,30 +261,30 @@ controls:\n>        description: |\n>          Controls the source of the analogue gain that is applied to the image\n>          sensor. When set to Auto, the AE algorithm computes the analogue gain\n> -        and configures the image sensor accordingly. When set to Disabled,\n> +        and configures the image sensor accordingly. When set to Manual,\n>          analogue gain specified in AnalogueGain is applied to the image sensor.\n>          If AnalogueGain is not set, then the value last computed by the AE\n>          algorithm when the mode was Auto will be used.\n>  \n> -        If AnalogueGain is not set and the mode is AnalogueGainModeDisabled and\n> -        AE was never Auto (either because the camera started in Disabled mode,\n> +        If AnalogueGain is not set and the mode is AnalogueGainModeManual and\n> +        AE was never Auto (either because the camera started in Manual mode,\n>          or Auto is not supported by the camera), the camera should use a\n>          best-effort default value.\n>  \n>          When AnalogueGainMode is set Auto, the value set in AnalogueGain is\n>          ignored and is not retained. This means that if AnalogueGainMode is set\n> -        to Disabled and AnalogueGain is not also set, the analogue gain that\n> +        to Manual and AnalogueGain is not also set, the analogue gain that\n>          was last computed by the AE algorithm while the mode was Auto will be\n>          applied to the sensor.\n>  \n> -        If AnalogueGainModeDisabled is supported, the AnalogueGain control must\n> +        If AnalogueGainModeManual is supported, the AnalogueGain control must\n>          also be supported.\n>  \n>          The set of AnalogueGainMode modes that are supported by the camera must\n>          have an intersection with the supported set of ExposureTimeMode modes.\n>  \n>          As it takes a few frames to apply the analogue gain, there is a period of\n> -        time between submitting a request with AnalogueGainMode set to Disabled\n> +        time between submitting a request with AnalogueGainMode set to Manual\n>          and the analogue gain component of the AE actually being disabled,\n>          during which the AE algorithm can still update the analogue gain. If an\n>          application is switching from automatic and manual control and wishes\n> @@ -293,10 +293,10 @@ controls:\n>  \n>          1. Start with AnalogueGainMode set to Auto\n>  \n> -        2. Set AnalogueGainMode to Disabled\n> +        2. Set AnalogueGainMode to Manual\n>  \n>          3. Wait for the first request to be output that has AnalogueGainMode\n> -        set to Disabled\n> +        set to Manual\n>  \n>          4. Copy the value reported in AnalogueGain into a new request, and\n>          submit it\n> @@ -311,17 +311,17 @@ controls:\n>              The analogue gain will be calculated automatically and set by the\n>              AE algorithm. If AnalogueGain is set while this mode is active, it\n>              will be ignored, and it will also not be retained.\n> -        - name: AnalogueGainModeDisabled\n> +        - name: AnalogueGainModeManual\n>            value: 1\n>            description: |\n>              The analogue gain will not be updated by the AE algorithm. It will\n>              come from the last calculated value when the mode was Auto, or from\n>              the value specified in AnalogueGain.\n>  \n> -            When transitioning from Auto to Disabled mode the last computed\n> +            When transitioning from Auto to Manual mode the last computed\n>              gain value is used until a new value is specified through the\n>              AnalogueGain control. If an AnalogueGain value is specified in the\n> -            same request where the AnalogueGainMode is set to Disabled, the\n> +            same request where the AnalogueGainMode is set to Manual, the\n>              provided AnalogueGain is applied.\n>  \n>    - Brightness:\n> -- \n> 2.36.1\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 B46B6BE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  3 Aug 2022 14:08:46 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3D59963310;\n\tWed,  3 Aug 2022 16:08:46 +0200 (CEST)","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 C7A9A603E6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  3 Aug 2022 16:08:44 +0200 (CEST)","from pyrite.rasen.tech (h175-177-042-159.catv02.itscom.jp\n\t[175.177.42.159])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7B83A8B;\n\tWed,  3 Aug 2022 16:08:43 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1659535726;\n\tbh=i0EnVnWHj7gn9JSgLLi1F1AK2EyXVo6/LkKiCYXCSPo=;\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=aIU+Dfpzkh80VOy5RwVkA4pS/KK47u9asQ/tkfH/fkqR7s02B0IoFU/Exrb6pPk2d\n\tythvpgOQk0jzGDo2Ry2U6OgXa0ZgtMqCJLxBpPM3kpKWuAjQj0PdMzZUkZtnQDsJbQ\n\tAAC11O8T3eRQq1ZAx2XTTVxBgenAIy7BEkx63/sgRaarZ2zpMLQJSspUpGz4Gpz2Qv\n\t5bGEBksI/HQujkmKtzGu2RpnMeBpvlPXCuVhfAKp3YQ/B4mOZn026tTc215KxyFpN9\n\tjcsEmSBpBfBVD+GtUA/JJCh+Av/E9SWZwaC+NC2UpuYFWk+VidwIDQWFNMTY120Idg\n\tVq6vQzpdGWueQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1659535724;\n\tbh=i0EnVnWHj7gn9JSgLLi1F1AK2EyXVo6/LkKiCYXCSPo=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=PPgTvdtsXp0atIDHVlkaHh/ZOph//t/vOCqZyiLzZTkpbzSpp1vSDvwsTDcqaSj0L\n\t9NsxVm+2mRqn7Emny0M7nGIYIvz2PG1afVYUutNPeBkrnp+iQzRAow9zzP1X+l25Ke\n\thrTLHgXwq7c1XkVwCmAkNqV3jaliR7iRTavDXi2I="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"PPgTvdts\"; dkim-atps=neutral","Date":"Wed, 3 Aug 2022 23:08:38 +0900","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<20220803140838.GH311202@pyrite.rasen.tech>","References":"<20220518134728.777709-2-paul.elder@ideasonboard.com>\n\t<20220701154701.354052-1-jacopo@jmondi.org>\n\t<20220701154701.354052-3-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20220701154701.354052-3-jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH 3/9] fixup: s/Disabled/Manual for\n\tExposure and Gain modes","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":"Paul Elder via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"paul.elder@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>"}}]