camera_metadata: Add android.request.partialResultCount
Change-Id: Ie21010767ad1e58b3a46e977e7f9ee7f1951bad2
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index e78b7e0..178edc6 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -424,6 +424,7 @@
<li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
<li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
<li><a href="#static_android.request.pipelineMaxDepth">android.request.pipelineMaxDepth</a></li>
+ <li><a href="#static_android.request.partialResultCount">android.request.partialResultCount</a></li>
</ul>
</li>
<li>
@@ -9176,6 +9177,56 @@
<tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
<!-- end of entry -->
+
+ <tr class="entry" id="static_android.request.partialResultCount">
+ <td class="entry_name" rowspan="3">
+ android.<wbr/>request.<wbr/>partial<wbr/>Result<wbr/>Count
+ </td>
+ <td class="entry_type">
+ <span class="entry_type_name">int32</span>
+
+ <span class="entry_type_visibility"> [public]</span>
+
+
+ </td> <!-- entry_type -->
+
+ <td class="entry_description">
+ <p>Optional.<wbr/> Defaults to 1.<wbr/> Defines how many sub-components
+a result will be composed of.<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>In order to combat the pipeline latency,<wbr/> partial results
+may be delivered to the application layer from the camera device as
+soon as they are available.<wbr/></p>
+<p>A value of 1 means that partial results are not supported.<wbr/></p>
+<p>A typical use case for this might be: after requesting an AF lock the
+new AF state might be available 50% of the way through the pipeline.<wbr/>
+The camera device could then immediately dispatch this state via a
+partial result to the framework/<wbr/>application layer,<wbr/> and the rest of
+the metadata via later partial results.<wbr/></p>
+ </td>
+ </tr>
+
+
+ <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
+ <!-- end of entry -->
+
<!-- end of kind -->
diff --git a/camera/docs/metadata_properties.xml b/camera/docs/metadata_properties.xml
index 4148517..292e13c 100644
--- a/camera/docs/metadata_properties.xml
+++ b/camera/docs/metadata_properties.xml
@@ -2498,6 +2498,24 @@
This value should be 4 or less.
</hal_details>
</entry>
+ <entry name="partialResultCount" type="int32" visibility="public">
+ <description>Optional. Defaults to 1. Defines how many sub-components
+ a result will be composed of.
+ </description>
+ <range>&gt;= 1</range>
+ <details>In order to combat the pipeline latency, partial results
+ may be delivered to the application layer from the camera device as
+ soon as they are available.
+
+ A value of 1 means that partial results are not supported.
+
+ A typical use case for this might be: after requesting an AF lock the
+ new AF state might be available 50% of the way through the pipeline.
+ The camera device could then immediately dispatch this state via a
+ partial result to the framework/application layer, and the rest of
+ the metadata via later partial results.
+ </details>
+ </entry>
</static>
</section>
<section name="scaler">
diff --git a/camera/include/system/camera_metadata_tags.h b/camera/include/system/camera_metadata_tags.h
index 92d2b67..75c6466 100644
--- a/camera/include/system/camera_metadata_tags.h
+++ b/camera/include/system/camera_metadata_tags.h
@@ -250,6 +250,7 @@
ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS, // int32[] | system
ANDROID_REQUEST_PIPELINE_DEPTH, // byte | public
ANDROID_REQUEST_PIPELINE_MAX_DEPTH, // byte | public
+ ANDROID_REQUEST_PARTIAL_RESULT_COUNT, // int32 | public
ANDROID_REQUEST_END,
ANDROID_SCALER_CROP_REGION = // int32[] | public
diff --git a/camera/src/camera_metadata_tag_info.c b/camera/src/camera_metadata_tag_info.c
index f8ae6d6..d797697 100644
--- a/camera/src/camera_metadata_tag_info.c
+++ b/camera/src/camera_metadata_tag_info.c
@@ -373,6 +373,8 @@
{ "pipelineDepth", TYPE_BYTE },
[ ANDROID_REQUEST_PIPELINE_MAX_DEPTH - ANDROID_REQUEST_START ] =
{ "pipelineMaxDepth", TYPE_BYTE },
+ [ ANDROID_REQUEST_PARTIAL_RESULT_COUNT - ANDROID_REQUEST_START ] =
+ { "partialResultCount", TYPE_INT32 },
};
static tag_info_t android_scaler[ANDROID_SCALER_END -
@@ -1531,6 +1533,9 @@
case ANDROID_REQUEST_PIPELINE_MAX_DEPTH: {
break;
}
+ case ANDROID_REQUEST_PARTIAL_RESULT_COUNT: {
+ break;
+ }
case ANDROID_SCALER_CROP_REGION: {
break;