<li
><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
<li
+ ><a href="#static_android.control.maxRegionsAe">android.control.maxRegionsAe</a></li>
+ <li
+ ><a href="#static_android.control.maxRegionsAwb">android.control.maxRegionsAwb</a></li>
+ <li
+ ><a href="#static_android.control.maxRegionsAf">android.control.maxRegionsAf</a></li>
+ <li
><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
</ul>
</li>
<li
><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
<li
+ ><a href="#static_android.request.maxNumOutputRaw">android.request.maxNumOutputRaw</a></li>
+ <li
+ ><a href="#static_android.request.maxNumOutputProc">android.request.maxNumOutputProc</a></li>
+ <li
+ ><a href="#static_android.request.maxNumOutputProcStalling">android.request.maxNumOutputProcStalling</a></li>
+ <li
class="toc_deprecated"
><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
<li
<span class="entry_type_array">
2
</span>
- <span class="entry_type_visibility"> [public]</span>
+ <span class="entry_type_visibility"> [public as rangeInt]</span>
<span class="entry_type_array">
2 x n
</span>
- <span class="entry_type_visibility"> [public]</span>
+ <span class="entry_type_visibility"> [public as rangeInt]</span>
<span class="entry_type_array">
2
</span>
- <span class="entry_type_visibility"> [public]</span>
+ <span class="entry_type_visibility"> [public as rangeInt]</span>
<span class="entry_type_array">
3
</span>
- <span class="entry_type_visibility"> [public]</span>
+ <span class="entry_type_visibility"> [hidden]</span>
<!-- end of entry -->
+ <tr class="entry" id="static_android.control.maxRegionsAe">
+ <td class="entry_name
+ " rowspan="3">
+ android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Ae
+ </td>
+ <td class="entry_type">
+ <span class="entry_type_name">int32</span>
+
+ <span class="entry_type_visibility"> [public]</span>
+
+ <span class="entry_type_synthetic">[synthetic] </span>
+
+
+
+
+ </td> <!-- entry_type -->
+
+ <td class="entry_description">
+ <p>List of the maximum number of regions that can be used for metering in
+auto-exposure (AE);
+this corresponds to the the maximum number of elements in
+<a href="#controls_android.control.aeRegions">android.<wbr/>control.<wbr/>ae<wbr/>Regions</a>.<wbr/></p>
+ </td>
+
+ <td class="entry_units">
+ </td>
+
+ <td class="entry_range">
+ <p>Value will be >= 0.<wbr/> For FULL-capability devices,<wbr/> this
+value will be >= 1.<wbr/></p>
+ </td>
+
+ <td class="entry_tags">
+ </td>
+
+ </tr>
+
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">HAL Implementation Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>This entry is private to the framework.<wbr/> Fill in
+maxRegions to have this entry be automatically populated.<wbr/></p>
+ </td>
+ </tr>
+
+ <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
+ <!-- end of entry -->
+
+
+ <tr class="entry" id="static_android.control.maxRegionsAwb">
+ <td class="entry_name
+ " rowspan="3">
+ android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Awb
+ </td>
+ <td class="entry_type">
+ <span class="entry_type_name">int32</span>
+
+ <span class="entry_type_visibility"> [public]</span>
+
+ <span class="entry_type_synthetic">[synthetic] </span>
+
+
+
+
+ </td> <!-- entry_type -->
+
+ <td class="entry_description">
+ <p>List of the maximum number of regions that can be used for metering in
+auto-white balance (AWB);
+this corresponds to the the maximum number of elements in
+<a href="#controls_android.control.awbRegions">android.<wbr/>control.<wbr/>awb<wbr/>Regions</a>.<wbr/></p>
+ </td>
+
+ <td class="entry_units">
+ </td>
+
+ <td class="entry_range">
+ <p>Value will be >= 0.<wbr/></p>
+ </td>
+
+ <td class="entry_tags">
+ </td>
+
+ </tr>
+
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">HAL Implementation Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>This entry is private to the framework.<wbr/> Fill in
+maxRegions to have this entry be automatically populated.<wbr/></p>
+ </td>
+ </tr>
+
+ <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
+ <!-- end of entry -->
+
+
+ <tr class="entry" id="static_android.control.maxRegionsAf">
+ <td class="entry_name
+ " rowspan="3">
+ android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Af
+ </td>
+ <td class="entry_type">
+ <span class="entry_type_name">int32</span>
+
+ <span class="entry_type_visibility"> [public]</span>
+
+ <span class="entry_type_synthetic">[synthetic] </span>
+
+
+
+
+ </td> <!-- entry_type -->
+
+ <td class="entry_description">
+ <p>List of the maximum number of regions that can be used for metering in
+auto-focus (AF);
+this corresponds to the the maximum number of elements in
+<a href="#controls_android.control.afRegions">android.<wbr/>control.<wbr/>af<wbr/>Regions</a>.<wbr/></p>
+ </td>
+
+ <td class="entry_units">
+ </td>
+
+ <td class="entry_range">
+ <p>Value will be >= 0.<wbr/> For FULL-capability devices,<wbr/> this
+value will be >= 1.<wbr/></p>
+ </td>
+
+ <td class="entry_tags">
+ </td>
+
+ </tr>
+
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">HAL Implementation Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>This entry is private to the framework.<wbr/> Fill in
+maxRegions to have this entry be automatically populated.<wbr/></p>
+ </td>
+ </tr>
+
+ <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
+ <!-- end of entry -->
+
+
<tr class="entry" id="static_android.control.sceneModeOverrides">
<td class="entry_name
" rowspan="5">
<span class="entry_type_array">
2
</span>
- <span class="entry_type_visibility"> [public]</span>
+ <span class="entry_type_visibility"> [public as rangeInt]</span>
<span class="entry_type_array">
2
</span>
- <span class="entry_type_visibility"> [public]</span>
+ <span class="entry_type_visibility"> [public as rangeFloat]</span>
<span class="entry_type_array">
3
</span>
- <span class="entry_type_visibility"> [public]</span>
+ <span class="entry_type_visibility"> [hidden]</span>
number is 3,<wbr/> and max JPEG stream number is 2,<wbr/> then this tuple should be <code>(1,<wbr/> 3,<wbr/> 2)</code>.<wbr/></p>
<p>This lists the upper bound of the number of output streams supported by
the camera device.<wbr/> Using more streams simultaneously may require more hardware and
-CPU resources that will consume more power.<wbr/> The image format for a output stream can
+CPU resources that will consume more power.<wbr/> The image format for an output stream can
be any supported format provided by <a href="#static_android.scaler.availableStreamConfigurations">android.<wbr/>scaler.<wbr/>available<wbr/>Stream<wbr/>Configurations</a>.<wbr/>
The formats defined in <a href="#static_android.scaler.availableStreamConfigurations">android.<wbr/>scaler.<wbr/>available<wbr/>Stream<wbr/>Configurations</a> can be catergorized
into the 3 stream types as below:</p>
<!-- end of entry -->
+ <tr class="entry" id="static_android.request.maxNumOutputRaw">
+ <td class="entry_name
+ " rowspan="3">
+ android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Raw
+ </td>
+ <td class="entry_type">
+ <span class="entry_type_name">int32</span>
+
+ <span class="entry_type_visibility"> [public]</span>
+
+ <span class="entry_type_synthetic">[synthetic] </span>
+
+
+
+
+ </td> <!-- entry_type -->
+
+ <td class="entry_description">
+ <p>The maximum numbers of different types of output streams
+that can be configured and used simultaneously by a camera device
+for any <code>RAW</code> formats.<wbr/></p>
+ </td>
+
+ <td class="entry_units">
+ </td>
+
+ <td class="entry_range">
+ <p>>= 0</p>
+ </td>
+
+ <td class="entry_tags">
+ </td>
+
+ </tr>
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>This value contains the max number of output simultaneous
+streams from the raw sensor.<wbr/></p>
+<p>This lists the upper bound of the number of output streams supported by
+the camera device.<wbr/> Using more streams simultaneously may require more hardware and
+CPU resources that will consume more power.<wbr/> The image format for this kind of an output stream can
+be any <code>RAW</code> and supported format provided by <a href="#static_android.scaler.streamConfigurationMap">android.<wbr/>scaler.<wbr/>stream<wbr/>Configuration<wbr/>Map</a>.<wbr/></p>
+<p>In particular,<wbr/> a <code>RAW</code> format is typically one of:</p>
+<ul>
+<li>ImageFormat#RAW_<wbr/>SENSOR</li>
+<li>Opaque <code>RAW</code></li>
+</ul>
+ </td>
+ </tr>
+
+
+ <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
+ <!-- end of entry -->
+
+
+ <tr class="entry" id="static_android.request.maxNumOutputProc">
+ <td class="entry_name
+ " rowspan="3">
+ android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Proc
+ </td>
+ <td class="entry_type">
+ <span class="entry_type_name">int32</span>
+
+ <span class="entry_type_visibility"> [public]</span>
+
+ <span class="entry_type_synthetic">[synthetic] </span>
+
+
+
+
+ </td> <!-- entry_type -->
+
+ <td class="entry_description">
+ <p>The maximum numbers of different types of output streams
+that can be configured and used simultaneously by a camera device
+for any processed (but not-stalling) formats.<wbr/></p>
+ </td>
+
+ <td class="entry_units">
+ </td>
+
+ <td class="entry_range">
+ <p>>= 3
+for FULL mode devices (<code><a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a> == FULL</code>);
+>= 2 for LIMITED mode devices (<code><a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a> == LIMITED</code>).<wbr/></p>
+ </td>
+
+ <td class="entry_tags">
+ </td>
+
+ </tr>
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>This value contains the max number of output simultaneous
+streams for any processed (but not-stalling) formats.<wbr/></p>
+<p>This lists the upper bound of the number of output streams supported by
+the camera device.<wbr/> Using more streams simultaneously may require more hardware and
+CPU resources that will consume more power.<wbr/> The image format for this kind of an output stream can
+be any non-<code>RAW</code> and supported format provided by <a href="#static_android.scaler.streamConfigurationMap">android.<wbr/>scaler.<wbr/>stream<wbr/>Configuration<wbr/>Map</a>.<wbr/></p>
+<p>Processed (but not-stalling) is defined as any non-RAW format without a stall duration.<wbr/>
+Typically:</p>
+<ul>
+<li>Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</li>
+<li>ImageFormat#NV21</li>
+<li>ImageFormat#YV12</li>
+<li>Implementation-defined formats,<wbr/> i.<wbr/>e.<wbr/> StreamConfiguration#isOutputSupportedFor(Class)</li>
+</ul>
+<p>For full guarantees,<wbr/> query StreamConfigurationMap#getOutputStallDuration with
+a processed format -- it will return 0 for a non-stalling stream.<wbr/></p>
+ </td>
+ </tr>
+
+
+ <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
+ <!-- end of entry -->
+
+
+ <tr class="entry" id="static_android.request.maxNumOutputProcStalling">
+ <td class="entry_name
+ " rowspan="3">
+ android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Proc<wbr/>Stalling
+ </td>
+ <td class="entry_type">
+ <span class="entry_type_name">int32</span>
+
+ <span class="entry_type_visibility"> [public]</span>
+
+ <span class="entry_type_synthetic">[synthetic] </span>
+
+
+
+
+ </td> <!-- entry_type -->
+
+ <td class="entry_description">
+ <p>The maximum numbers of different types of output streams
+that can be configured and used simultaneously by a camera device
+for any processed (and stalling) formats.<wbr/></p>
+ </td>
+
+ <td class="entry_units">
+ </td>
+
+ <td class="entry_range">
+ <p>>= 1</p>
+ </td>
+
+ <td class="entry_tags">
+ </td>
+
+ </tr>
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>This value contains the max number of output simultaneous
+streams for any processed (but not-stalling) formats.<wbr/></p>
+<p>This lists the upper bound of the number of output streams supported by
+the camera device.<wbr/> Using more streams simultaneously may require more hardware and
+CPU resources that will consume more power.<wbr/> The image format for this kind of an output stream can
+be any non-<code>RAW</code> and supported format provided by <a href="#static_android.scaler.streamConfigurationMap">android.<wbr/>scaler.<wbr/>stream<wbr/>Configuration<wbr/>Map</a>.<wbr/></p>
+<p>A processed and stalling format is defined as any non-RAW format with a stallDurations > 0.<wbr/>
+Typically only the <code>JPEG</code> format (ImageFormat#JPEG)</p>
+<p>For full guarantees,<wbr/> query StreamConfigurationMap#getOutputStallDuration with
+a processed format -- it will return a non-0 value for a stalling stream.<wbr/></p>
+ </td>
+ </tr>
+
+
+ <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
+ <!-- end of entry -->
+
+
<tr class="entry" id="static_android.request.maxNumReprocessStreams">
<td class="entry_name
entry_name_deprecated
<typedef name="meteringRectangle">
<language name="java">android.hardware.camera2.params.MeteringRectangle</language>
</typedef>
+ <typedef name="rangeFloat">
+ <language name="java">android.util.Range<Float></language>
+ </typedef>
+ <typedef name="rangeInt">
+ <language name="java">android.util.Range<Integer></language>
+ </typedef>
</types>
<namespace name="android">
<tag id="BC" />
</entry>
<entry name="aeTargetFpsRange" type="int32" visibility="public"
- container="array">
+ container="array" typedef="rangeInt">
<array>
<size>2</size>
</array>
</entry>
<entry name="aeAvailableTargetFpsRanges" type="int32" visibility="public"
type_notes="list of pairs of frame rates"
- container="array">
+ container="array" typedef="rangeInt">
<array>
<size>2</size>
<size>n</size>
AE algorithm/hardware</description>
</entry>
<entry name="aeCompensationRange" type="int32" visibility="public"
- container="array">
+ container="array" typedef="rangeInt">
<array>
<size>2</size>
</array>
</details>
<tag id="BC" />
</entry>
- <entry name="maxRegions" type="int32" visibility="public" container="array">
+ <entry name="maxRegions" type="int32" visibility="hidden" container="array">
<array>
<size>3</size>
</array>
`(AE, AWB, AF)`.</range>
<tag id="BC" />
</entry>
+ <entry name="maxRegionsAe" type="int32" visibility="public" synthetic="true">
+ <description>
+ List of the maximum number of regions that can be used for metering in
+ auto-exposure (AE);
+ this corresponds to the the maximum number of elements in
+ android.control.aeRegions.
+ </description>
+ <range>
+ Value will be &gt;= 0. For FULL-capability devices, this
+ value will be &gt;= 1.
+ </range>
+ <hal_details>This entry is private to the framework. Fill in
+ maxRegions to have this entry be automatically populated.
+ </hal_details>
+ </entry>
+ <entry name="maxRegionsAwb" type="int32" visibility="public" synthetic="true">
+ <description>
+ List of the maximum number of regions that can be used for metering in
+ auto-white balance (AWB);
+ this corresponds to the the maximum number of elements in
+ android.control.awbRegions.
+ </description>
+ <range>
+ Value will be &gt;= 0.
+ </range>
+ <hal_details>This entry is private to the framework. Fill in
+ maxRegions to have this entry be automatically populated.
+ </hal_details>
+ </entry>
+ <entry name="maxRegionsAf" type="int32" visibility="public" synthetic="true">
+ <description>
+ List of the maximum number of regions that can be used for metering in
+ auto-focus (AF);
+ this corresponds to the the maximum number of elements in
+ android.control.afRegions.
+ </description>
+ <range>
+ Value will be &gt;= 0. For FULL-capability devices, this
+ value will be &gt;= 1.
+ </range>
+ <hal_details>This entry is private to the framework. Fill in
+ maxRegions to have this entry be automatically populated.
+ </hal_details>
+ </entry>
<entry name="sceneModeOverrides" type="byte" visibility="system"
container="array">
<array>
</clone>
<entry name="focusRange" type="float" visibility="public"
type_notes="Range of scene distances that are in focus"
- container="array">
+ container="array" typedef="rangeFloat">
<array>
<size>2</size>
</array>
</entry>
</controls>
<static>
- <entry name="maxNumOutputStreams" type="int32" visibility="public"
+ <entry name="maxNumOutputStreams" type="int32" visibility="hidden"
container="array">
<array>
<size>3</size>
This lists the upper bound of the number of output streams supported by
the camera device. Using more streams simultaneously may require more hardware and
- CPU resources that will consume more power. The image format for a output stream can
+ CPU resources that will consume more power. The image format for an output stream can
be any supported format provided by android.scaler.availableStreamConfigurations.
The formats defined in android.scaler.availableStreamConfigurations can be catergorized
into the 3 stream types as below:
</details>
<tag id="BC" />
</entry>
+ <entry name="maxNumOutputRaw" type="int32" visibility="public" synthetic="true">
+ <description>The maximum numbers of different types of output streams
+ that can be configured and used simultaneously by a camera device
+ for any `RAW` formats.
+ </description>
+ <range>
+ &gt;= 0
+ </range>
+ <details>
+ This value contains the max number of output simultaneous
+ streams from the raw sensor.
+
+ This lists the upper bound of the number of output streams supported by
+ the camera device. Using more streams simultaneously may require more hardware and
+ CPU resources that will consume more power. The image format for this kind of an output stream can
+ be any `RAW` and supported format provided by android.scaler.streamConfigurationMap.
+
+ In particular, a `RAW` format is typically one of:
+
+ * ImageFormat#RAW_SENSOR
+ * Opaque `RAW`
+ </details>
+ </entry>
+ <entry name="maxNumOutputProc" type="int32" visibility="public" synthetic="true">
+ <description>The maximum numbers of different types of output streams
+ that can be configured and used simultaneously by a camera device
+ for any processed (but not-stalling) formats.
+ </description>
+ <range>
+ &gt;= 3
+ for FULL mode devices (`android.info.supportedHardwareLevel == FULL`);
+ &gt;= 2 for LIMITED mode devices (`android.info.supportedHardwareLevel == LIMITED`).
+ </range>
+ <details>
+ This value contains the max number of output simultaneous
+ streams for any processed (but not-stalling) formats.
+
+ This lists the upper bound of the number of output streams supported by
+ the camera device. Using more streams simultaneously may require more hardware and
+ CPU resources that will consume more power. The image format for this kind of an output stream can
+ be any non-`RAW` and supported format provided by android.scaler.streamConfigurationMap.
+
+ Processed (but not-stalling) is defined as any non-RAW format without a stall duration.
+ Typically:
+
+ * ImageFormat#YUV_420_888
+ * ImageFormat#NV21
+ * ImageFormat#YV12
+ * Implementation-defined formats, i.e. StreamConfiguration#isOutputSupportedFor(Class)
+
+ For full guarantees, query StreamConfigurationMap#getOutputStallDuration with
+ a processed format -- it will return 0 for a non-stalling stream.
+ </details>
+ </entry>
+ <entry name="maxNumOutputProcStalling" type="int32" visibility="public" synthetic="true">
+ <description>The maximum numbers of different types of output streams
+ that can be configured and used simultaneously by a camera device
+ for any processed (and stalling) formats.
+ </description>
+ <range>
+ &gt;= 1
+ </range>
+ <details>
+ This value contains the max number of output simultaneous
+ streams for any processed (but not-stalling) formats.
+
+ This lists the upper bound of the number of output streams supported by
+ the camera device. Using more streams simultaneously may require more hardware and
+ CPU resources that will consume more power. The image format for this kind of an output stream can
+ be any non-`RAW` and supported format provided by android.scaler.streamConfigurationMap.
+
+ A processed and stalling format is defined as any non-RAW format with a stallDurations &gt; 0.
+ Typically only the `JPEG` format (ImageFormat#JPEG)
+
+ For full guarantees, query StreamConfigurationMap#getOutputStallDuration with
+ a processed format -- it will return a non-0 value for a stalling stream.
+ </details>
+ </entry>
<entry name="maxNumReprocessStreams" type="int32" visibility="system"
deprecated="true" container="array">
<array>