Snap for 10754184 from ff840bdcbb9f4484d04c1f4028e2526f19882f86 to mainline-adservices-release
Change-Id: I6a1d833e55265d1fdc64a963abce2b5d8de4857a
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index b675714..6e0e9a7 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -3021,6 +3021,13 @@
<p>Only constrains auto-exposure (AE) algorithm,<wbr/> not
manual control of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a> and
<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>.<wbr/></p>
+<p>To start a CaptureSession with a target FPS range different from the
+capture request template's default value,<wbr/> the application
+is strongly recommended to call
+<a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>
+with the target fps range before creating the capture session.<wbr/> The aeTargetFpsRange is
+typically a session parameter.<wbr/> Specifying it at session creation time helps avoid
+session reconfiguration delays in cases like 60fps or high speed recording.<wbr/></p>
</td>
</tr>
@@ -4776,6 +4783,12 @@
<a href="#controls_android.control.videoStabilizationMode">android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode</a> field will return
OFF if the recording output is not stabilized,<wbr/> or if there are no output
Surface types that can be stabilized.<wbr/></p>
+<p>The application is strongly recommended to call
+<a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>
+with the desired video stabilization mode before creating the capture session.<wbr/>
+Video stabilization mode is a session parameter on many devices.<wbr/> Specifying
+it at session creation time helps avoid reconfiguration delay caused by difference
+between the default value and the first CaptureRequest.<wbr/></p>
<p>If a camera device supports both this mode and OIS
(<a href="#controls_android.lens.opticalStabilizationMode">android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode</a>),<wbr/> turning both modes on may
produce undesirable interaction,<wbr/> so it is recommended not to enable
@@ -8284,6 +8297,13 @@
<p>Only constrains auto-exposure (AE) algorithm,<wbr/> not
manual control of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a> and
<a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>.<wbr/></p>
+<p>To start a CaptureSession with a target FPS range different from the
+capture request template's default value,<wbr/> the application
+is strongly recommended to call
+<a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>
+with the target fps range before creating the capture session.<wbr/> The aeTargetFpsRange is
+typically a session parameter.<wbr/> Specifying it at session creation time helps avoid
+session reconfiguration delays in cases like 60fps or high speed recording.<wbr/></p>
</td>
</tr>
@@ -11082,6 +11102,12 @@
<a href="#controls_android.control.videoStabilizationMode">android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode</a> field will return
OFF if the recording output is not stabilized,<wbr/> or if there are no output
Surface types that can be stabilized.<wbr/></p>
+<p>The application is strongly recommended to call
+<a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>
+with the desired video stabilization mode before creating the capture session.<wbr/>
+Video stabilization mode is a session parameter on many devices.<wbr/> Specifying
+it at session creation time helps avoid reconfiguration delay caused by difference
+between the default value and the first CaptureRequest.<wbr/></p>
<p>If a camera device supports both this mode and OIS
(<a href="#controls_android.lens.opticalStabilizationMode">android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode</a>),<wbr/> turning both modes on may
produce undesirable interaction,<wbr/> so it is recommended not to enable
@@ -39487,9 +39513,8 @@
<p>This control allows Camera extension clients to configure the strength of the applied
extension effect.<wbr/> Strength equal to 0 means that the extension must not apply any
post-processing and return a regular captured frame.<wbr/> Strength equal to 100 is the
-default level of post-processing applied when the control is not supported or not set
-by the client.<wbr/> Values between 0 and 100 will have different effect depending on the
-extension type as described below:</p>
+maximum level of post-processing.<wbr/> Values between 0 and 100 will have different effect
+depending on the extension type as described below:</p>
<ul>
<li><a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionCharacteristics.html#EXTENSION_BOKEH">BOKEH</a> -
the strength is expected to control the amount of blur.<wbr/></li>
@@ -39504,7 +39529,9 @@
<a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionCharacteristics.html#getAvailableCaptureRequestKeys">CameraExtensionCharacteristics#getAvailableCaptureRequestKeys</a>.<wbr/>
The control is only defined and available to clients sending capture requests via
<a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionSession.html">CameraExtensionSession</a>.<wbr/>
-The default value is 100.<wbr/></p>
+If the client doesn't specify the extension strength value,<wbr/> then a default value will
+be set by the extension.<wbr/> Clients can retrieve the default value by checking the
+corresponding capture result.<wbr/></p>
</td>
</tr>
@@ -39647,9 +39674,8 @@
<p>This control allows Camera extension clients to configure the strength of the applied
extension effect.<wbr/> Strength equal to 0 means that the extension must not apply any
post-processing and return a regular captured frame.<wbr/> Strength equal to 100 is the
-default level of post-processing applied when the control is not supported or not set
-by the client.<wbr/> Values between 0 and 100 will have different effect depending on the
-extension type as described below:</p>
+maximum level of post-processing.<wbr/> Values between 0 and 100 will have different effect
+depending on the extension type as described below:</p>
<ul>
<li><a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionCharacteristics.html#EXTENSION_BOKEH">BOKEH</a> -
the strength is expected to control the amount of blur.<wbr/></li>
@@ -39664,7 +39690,9 @@
<a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionCharacteristics.html#getAvailableCaptureRequestKeys">CameraExtensionCharacteristics#getAvailableCaptureRequestKeys</a>.<wbr/>
The control is only defined and available to clients sending capture requests via
<a href="https://developer.android.com/reference/android/hardware/camera2/CameraExtensionSession.html">CameraExtensionSession</a>.<wbr/>
-The default value is 100.<wbr/></p>
+If the client doesn't specify the extension strength value,<wbr/> then a default value will
+be set by the extension.<wbr/> Clients can retrieve the default value by checking the
+corresponding capture result.<wbr/></p>
</td>
</tr>
diff --git a/camera/docs/metadata_definitions.xml b/camera/docs/metadata_definitions.xml
index 9ad6327..c401dc0 100644
--- a/camera/docs/metadata_definitions.xml
+++ b/camera/docs/metadata_definitions.xml
@@ -825,7 +825,16 @@
<range>Any of the entries in android.control.aeAvailableTargetFpsRanges</range>
<details>Only constrains auto-exposure (AE) algorithm, not
manual control of android.sensor.exposureTime and
- android.sensor.frameDuration.</details>
+ android.sensor.frameDuration.
+
+ To start a CaptureSession with a target FPS range different from the
+ capture request template's default value, the application
+ is strongly recommended to call
+ {@link SessionConfiguration#setSessionParameters|ACameraDevice_createCaptureSessionWithSessionParameters}
+ with the target fps range before creating the capture session. The aeTargetFpsRange is
+ typically a session parameter. Specifying it at session creation time helps avoid
+ session reconfiguration delays in cases like 60fps or high speed recording.
+ </details>
<tag id="BC" />
</entry>
<entry name="aePrecaptureTrigger" type="byte" visibility="public"
@@ -2096,6 +2105,13 @@
OFF if the recording output is not stabilized, or if there are no output
Surface types that can be stabilized.
+ The application is strongly recommended to call
+ {@link SessionConfiguration#setSessionParameters|ACameraDevice_createCaptureSessionWithSessionParameters}
+ with the desired video stabilization mode before creating the capture session.
+ Video stabilization mode is a session parameter on many devices. Specifying
+ it at session creation time helps avoid reconfiguration delay caused by difference
+ between the default value and the first CaptureRequest.
+
If a camera device supports both this mode and OIS
(android.lens.opticalStabilizationMode), turning both modes on may
produce undesirable interaction, so it is recommended not to enable
@@ -14111,9 +14127,8 @@
This control allows Camera extension clients to configure the strength of the applied
extension effect. Strength equal to 0 means that the extension must not apply any
post-processing and return a regular captured frame. Strength equal to 100 is the
- default level of post-processing applied when the control is not supported or not set
- by the client. Values between 0 and 100 will have different effect depending on the
- extension type as described below:
+ maximum level of post-processing. Values between 0 and 100 will have different effect
+ depending on the extension type as described below:
* {@link android.hardware.camera2.CameraExtensionCharacteristics#EXTENSION_BOKEH BOKEH} -
the strength is expected to control the amount of blur.
@@ -14128,7 +14143,9 @@
{@link android.hardware.camera2.CameraExtensionCharacteristics#getAvailableCaptureRequestKeys}.
The control is only defined and available to clients sending capture requests via
{@link android.hardware.camera2.CameraExtensionSession}.
- The default value is 100.
+ If the client doesn't specify the extension strength value, then a default value will
+ be set by the extension. Clients can retrieve the default value by checking the
+ corresponding capture result.
</details>
</entry>
</controls>