summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmilian Peev <epeev@google.com>2022-06-06 17:25:46 -0700
committerEmilian Peev <epeev@google.com>2022-06-06 17:25:46 -0700
commit3f9efa8b7365b8e377035344bb8373436f15c373 (patch)
treec7f586426833a83034b1f4349e9d14aa22724336
parent241289d2faacf0a3fd6bf023e594b6aaaa6e104c (diff)
downloadex-3f9efa8b7365b8e377035344bb8373436f15c373.tar.gz
Camera: Add support for latency query interfaceandroid13-dev
The version of the sample library was recently bumped from 1.1 to 1.3. All extension libraries are required to support the latency query interface starting with version 1.2. Bug: 235142830 Test: atest -c -d cts/tests/camera/src/android/hardware/camera2/cts/CameraExtensionCharacteristicsTest.java atest -c -d cts/tests/camera/src/android/hardware/camera2/cts/CameraExtensionSessionTest.java Change-Id: Id8fc5ea4386ff79af96c4b62942d8a256e8bcf9f
-rwxr-xr-xcamera2/extensions/sample/src/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java6
-rwxr-xr-xcamera2/extensions/sample/src/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java6
-rw-r--r--camera2/extensions/sample/src/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java6
-rw-r--r--camera2/extensions/sample/src/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java6
-rw-r--r--camera2/extensions/sample/src/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java17
-rwxr-xr-xcamera2/extensions/sample/src/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java6
6 files changed, 47 insertions, 0 deletions
diff --git a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java
index 8844461e..5f6cb2ba 100755
--- a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java
+++ b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/AutoImageCaptureExtenderImpl.java
@@ -25,6 +25,7 @@ import android.media.ImageWriter;
import android.os.Build;
import android.util.Log;
import android.util.Pair;
+import android.util.Range;
import android.util.Size;
import android.view.Surface;
@@ -243,6 +244,11 @@ public final class AutoImageCaptureExtenderImpl implements ImageCaptureExtenderI
}
@Override
+ public Range<Long> getEstimatedCaptureLatencyRange(Size captureOutputSize) {
+ return null;
+ }
+
+ @Override
public List<CaptureRequest.Key> getAvailableCaptureRequestKeys() {
return new ArrayList<>();
}
diff --git a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java
index 21a3646a..5c9b2d39 100755
--- a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java
+++ b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/BeautyImageCaptureExtenderImpl.java
@@ -27,6 +27,7 @@ import android.media.ImageWriter;
import android.os.Build;
import android.util.Log;
import android.util.Pair;
+import android.util.Range;
import android.util.Size;
import android.view.Surface;
@@ -266,6 +267,11 @@ public final class BeautyImageCaptureExtenderImpl implements ImageCaptureExtende
}
@Override
+ public Range<Long> getEstimatedCaptureLatencyRange(Size captureOutputSize) {
+ return null;
+ }
+
+ @Override
public List<CaptureRequest.Key> getAvailableCaptureRequestKeys() {
return new ArrayList<>();
}
diff --git a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java
index 51a86540..5c3882b8 100644
--- a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java
+++ b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/BokehImageCaptureExtenderImpl.java
@@ -25,6 +25,7 @@ import android.media.ImageWriter;
import android.os.Build;
import android.util.Log;
import android.util.Pair;
+import android.util.Range;
import android.util.Size;
import android.view.Surface;
@@ -320,6 +321,11 @@ public final class BokehImageCaptureExtenderImpl implements ImageCaptureExtender
}
@Override
+ public Range<Long> getEstimatedCaptureLatencyRange(Size captureOutputSize) {
+ return null;
+ }
+
+ @Override
public List<CaptureRequest.Key> getAvailableCaptureRequestKeys() {
final CaptureRequest.Key [] CAPTURE_REQUEST_SET = {CaptureRequest.CONTROL_AE_MODE,
CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER, CaptureRequest.CONTROL_AE_LOCK,
diff --git a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java
index 5f745e96..57b7fe65 100644
--- a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java
+++ b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/HdrImageCaptureExtenderImpl.java
@@ -26,6 +26,7 @@ import android.media.ImageWriter;
import android.os.Build;
import android.util.Log;
import android.util.Pair;
+import android.util.Range;
import android.util.Size;
import android.view.Surface;
@@ -331,6 +332,11 @@ public final class HdrImageCaptureExtenderImpl implements ImageCaptureExtenderIm
}
@Override
+ public Range<Long> getEstimatedCaptureLatencyRange(Size captureOutputSize) {
+ return null;
+ }
+
+ @Override
public List<CaptureRequest.Key> getAvailableCaptureRequestKeys() {
final CaptureRequest.Key [] CAPTURE_REQUEST_SET = {CaptureRequest.CONTROL_ZOOM_RATIO,
CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_REGIONS,
diff --git a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java
index 5b144179..c27a5dbb 100644
--- a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java
+++ b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/ImageCaptureExtenderImpl.java
@@ -21,6 +21,7 @@ import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.CaptureResult;
import android.util.Pair;
+import android.util.Range;
import android.util.Size;
import java.util.List;
@@ -90,6 +91,22 @@ public interface ImageCaptureExtenderImpl extends ExtenderStateListener {
List<Pair<Integer, Size[]>> getSupportedResolutions();
/**
+ * Returns the estimated capture latency range in milliseconds for the target capture
+ * resolution.
+ *
+ * <p>This includes the time spent processing the multi-frame capture request along with any
+ * additional time for encoding of the processed buffer in the framework if necessary.</p>
+ *
+ * @param captureOutputSize size of the capture output surface. If it is null or not in the
+ * supported output sizes, maximum capture output size is used for
+ * the estimation.
+ * @return the range of estimated minimal and maximal capture latency in milliseconds, or
+ * null if no capture latency info can be provided.
+ * @since 1.2
+ */
+ Range<Long> getEstimatedCaptureLatencyRange(Size captureOutputSize);
+
+ /**
* Return a list of orthogonal capture request keys.
*
* <p>Any keys included in the list will be configurable by clients of the extension and will
diff --git a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java
index f27f48e4..f0821ed7 100755
--- a/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java
+++ b/camera2/extensions/sample/src/java/androidx/camera/extensions/impl/NightImageCaptureExtenderImpl.java
@@ -25,6 +25,7 @@ import android.media.ImageWriter;
import android.os.Build;
import android.util.Log;
import android.util.Pair;
+import android.util.Range;
import android.util.Size;
import android.view.Surface;
@@ -243,6 +244,11 @@ public final class NightImageCaptureExtenderImpl implements ImageCaptureExtender
}
@Override
+ public Range<Long> getEstimatedCaptureLatencyRange(Size captureOutputSize) {
+ return null;
+ }
+
+ @Override
public List<CaptureRequest.Key> getAvailableCaptureRequestKeys() {
return new ArrayList<>();
}