OSDN Git Service

camera_metadata: Add MANUAL capture intent
authorZhijun He <zhijunhe@google.com>
Wed, 9 Apr 2014 17:55:50 +0000 (10:55 -0700)
committerZhijun He <zhijunhe@google.com>
Wed, 9 Apr 2014 20:43:52 +0000 (13:43 -0700)
Change-Id: I6a3ba818cc7d13e0fcf0d90a16c53884b6cc20ab

camera/docs/docs.html
camera/docs/metadata_properties.xml
camera/include/system/camera_metadata_tags.h
camera/src/camera_metadata_tag_info.c

index 9d6bfdc..32d1fe5 100644 (file)
@@ -2181,6 +2181,12 @@ application will stream full-resolution images and
 reprocess one or several later for a final
 capture</p></span>
                   </li>
+                  <li>
+                    <span class="entry_type_enum_name">MANUAL</span>
+                    <span class="entry_type_enum_notes"><p>This request is for manual capture use case where
+the applications want to directly control the capture parameters
+(e.<wbr/>g.<wbr/> <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/> <a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> etc.<wbr/>).<wbr/></p></span>
+                  </li>
                 </ul>
 
             </td> <!-- entry_type -->
@@ -2196,7 +2202,7 @@ strategy.<wbr/></p>
             </td>
 
             <td class="entry_range">
-              <p>All must be supported</p>
+              <p>All must be supported except for ZERO_<wbr/>SHUTTER_<wbr/>LAG and MANUAL.<wbr/></p>
             </td>
 
             <td class="entry_tags">
@@ -2211,8 +2217,11 @@ strategy.<wbr/></p>
           </tr>
           <tr class="entry_cont">
             <td class="entry_details" colspan="5">
-              <p>This control is only effective if <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code>
-and any 3A routine is active.<wbr/></p>
+              <p>This control (except for MANUAL) is only effective if
+<code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code> and any 3A routine is active.<wbr/></p>
+<p>ZERO_<wbr/>SHUTTER_<wbr/>LAG must be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a>
+contains ZSL.<wbr/> MANUAL must be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a>
+contains MANUAL_<wbr/>SENSOR.<wbr/></p>
             </td>
           </tr>
 
index ffb2705..9fdc8bc 100644 (file)
@@ -800,14 +800,23 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
             application will stream full-resolution images and
             reprocess one or several later for a final
             capture</notes></value>
+            <value>MANUAL
+            <notes>This request is for manual capture use case where
+            the applications want to directly control the capture parameters
+            (e.g. android.sensor.exposureTime, android.sensor.sensitivity etc.).
+            </notes></value>
           </enum>
           <description>Information to the camera device 3A (auto-exposure,
           auto-focus, auto-white balance) routines about the purpose
           of this capture, to help the camera device to decide optimal 3A
           strategy.</description>
-          <range>All must be supported</range>
-          <details>This control is only effective if `android.control.mode != OFF`
-          and any 3A routine is active.</details>
+          <range>All must be supported except for ZERO_SHUTTER_LAG and MANUAL.</range>
+          <details>This control (except for MANUAL) is only effective if
+          `android.control.mode != OFF` and any 3A routine is active.
+
+          ZERO_SHUTTER_LAG must be supported if android.request.availableCapabilities
+          contains ZSL. MANUAL must be supported if android.request.availableCapabilities
+          contains MANUAL_SENSOR.</details>
           <tag id="BC" />
         </entry>
         <entry name="effectMode" type="byte" visibility="public" enum="true">
index a3932c9..b01ba06 100644 (file)
@@ -449,6 +449,7 @@ typedef enum camera_metadata_enum_android_control_capture_intent {
     ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD,
     ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT,
     ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG,
+    ANDROID_CONTROL_CAPTURE_INTENT_MANUAL,
 } camera_metadata_enum_android_control_capture_intent_t;
 
 // ANDROID_CONTROL_EFFECT_MODE
index 66e3e90..4624498 100644 (file)
@@ -872,6 +872,10 @@ int camera_metadata_enum_snprint(uint32_t tag,
                     msg = "ZERO_SHUTTER_LAG";
                     ret = 0;
                     break;
+                case ANDROID_CONTROL_CAPTURE_INTENT_MANUAL:
+                    msg = "MANUAL";
+                    ret = 0;
+                    break;
                 default:
                     msg = "error: enum value out of range";
             }