diff options
author | Emilian Peev <epeev@google.com> | 2022-06-06 17:25:46 -0700 |
---|---|---|
committer | Emilian Peev <epeev@google.com> | 2022-06-06 17:25:46 -0700 |
commit | 3f9efa8b7365b8e377035344bb8373436f15c373 (patch) | |
tree | c7f586426833a83034b1f4349e9d14aa22724336 | |
parent | 241289d2faacf0a3fd6bf023e594b6aaaa6e104c (diff) | |
download | ex-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
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<>(); } |