><a href="#dynamic_android.sensor.testPatternData">android.sensor.testPatternData</a></li>
<li
><a href="#dynamic_android.sensor.testPatternMode">android.sensor.testPatternMode</a></li>
+ <li
+ ><a href="#dynamic_android.sensor.rollingShutterSkew">android.sensor.rollingShutterSkew</a></li>
</ul>
</li>
</ul> <!-- toc_section -->
<td class="entry_description">
<p>Time at start of exposure of first
-row of the image sensor,<wbr/> in nanoseconds.<wbr/></p>
+row of the image sensor active array,<wbr/> in nanoseconds.<wbr/></p>
</td>
<td class="entry_units">
<tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
<!-- end of entry -->
+
+ <tr class="entry" id="dynamic_android.sensor.rollingShutterSkew">
+ <td class="entry_name
+ " rowspan="5">
+ android.<wbr/>sensor.<wbr/>rolling<wbr/>Shutter<wbr/>Skew
+ </td>
+ <td class="entry_type">
+ <span class="entry_type_name">int64</span>
+
+ <span class="entry_type_visibility"> [public]</span>
+
+
+
+
+
+ </td> <!-- entry_type -->
+
+ <td class="entry_description">
+ <p>Duration between the start of first row exposure
+and the start of last row exposure.<wbr/></p>
+ </td>
+
+ <td class="entry_units">
+ nanoseconds
+ </td>
+
+ <td class="entry_range">
+ <p>>= 0 and <
+StreamConfigurationMap#getOutputMinFrameDuration(int,<wbr/> Size).<wbr/></p>
+ </td>
+
+ <td class="entry_tags">
+ <ul class="entry_tags">
+ <li><a href="#tag_V1">V1</a></li>
+ </ul>
+ </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 is the exposure time skew (in the unit of nanosecond) between the first and
+last row exposure start times.<wbr/> The first row and the last row are the first
+and last rows inside of the <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/></p>
+<p>For typical camera sensors that use rolling shutters,<wbr/> this is also equivalent
+to the frame readout time.<wbr/></p>
+ </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>The HAL must report <code>0</code> if the sensor is using global shutter,<wbr/> where all pixels begin
+exposure at the same time.<wbr/></p>
+ </td>
+ </tr>
+
+ <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
+ <!-- end of entry -->
+
<!-- end of kind -->
<li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
<li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
<li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
+ <li><a href="#dynamic_android.sensor.rollingShutterSkew">android.sensor.rollingShutterSkew</a> (dynamic)</li>
<li><a href="#controls_android.statistics.hotPixelMapMode">android.statistics.hotPixelMapMode</a> (controls)</li>
<li><a href="#static_android.statistics.info.availableHotPixelMapModes">android.statistics.info.availableHotPixelMapModes</a> (static)</li>
<li><a href="#dynamic_android.statistics.hotPixelMap">android.statistics.hotPixelMap</a> (dynamic)</li>
</clone>
<entry name="timestamp" type="int64" visibility="public">
<description>Time at start of exposure of first
- row of the image sensor, in nanoseconds.</description>
+ row of the image sensor active array, in nanoseconds.</description>
<units>nanoseconds</units>
<range>&gt; 0</range>
<details>The timestamps are also included in all image
</details>
</entry>
</static>
+ <dynamic>
+ <entry name="rollingShutterSkew" type="int64" visibility="public">
+ <description>Duration between the start of first row exposure
+ and the start of last row exposure.</description>
+ <units>nanoseconds</units>
+ <range> &gt;= 0 and &lt;
+ StreamConfigurationMap#getOutputMinFrameDuration(int, Size).</range>
+ <details>
+ This is the exposure time skew (in the unit of nanosecond) between the first and
+ last row exposure start times. The first row and the last row are the first
+ and last rows inside of the android.sensor.info.activeArraySize.
+
+ For typical camera sensors that use rolling shutters, this is also equivalent
+ to the frame readout time.
+ </details>
+ <hal_details>
+ The HAL must report `0` if the sensor is using global shutter, where all pixels begin
+ exposure at the same time.
+ </hal_details>
+ <tag id="V1" />
+ </entry>
+ </dynamic>
</section>
<section name="shading">
<controls>
{ "testPatternMode", TYPE_INT32 },
[ ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES - ANDROID_SENSOR_START ] =
{ "availableTestPatternModes", TYPE_INT32 },
+ [ ANDROID_SENSOR_ROLLING_SHUTTER_SKEW - ANDROID_SENSOR_START ] =
+ { "rollingShutterSkew", TYPE_INT64 },
};
static tag_info_t android_sensor_info[ANDROID_SENSOR_INFO_END -
case ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES: {
break;
}
+ case ANDROID_SENSOR_ROLLING_SHUTTER_SKEW: {
+ break;
+ }
case ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE: {
break;