Merge "Merge 25Q1 (ab/BP1A.250305.020) to AOSP main" into main
diff --git a/camera2/extensions/advancedSample/src/java/androidx/camera/extensions/impl/advanced/BaseAdvancedExtenderImpl.java b/camera2/extensions/advancedSample/src/java/androidx/camera/extensions/impl/advanced/BaseAdvancedExtenderImpl.java
index 1b61d93..a090d7d 100644
--- a/camera2/extensions/advancedSample/src/java/androidx/camera/extensions/impl/advanced/BaseAdvancedExtenderImpl.java
+++ b/camera2/extensions/advancedSample/src/java/androidx/camera/extensions/impl/advanced/BaseAdvancedExtenderImpl.java
@@ -127,7 +127,7 @@
@Override
public Map<Integer, List<Size>> getSupportedCaptureOutputResolutions(String cameraId) {
return filterOutputResolutions(Arrays.asList(ImageFormat.JPEG, ImageFormat.YUV_420_888,
- ImageFormat.JPEG_R, ImageFormat.YCBCR_P010));
+ ImageFormat.DEPTH_JPEG, ImageFormat.JPEG_R, ImageFormat.YCBCR_P010));
}
@Override
@@ -223,8 +223,9 @@
// Image Capture
if (mCaptureOutputSurfaceConfig.getSurface() != null) {
- // For this sample, JPEG_R or YCBCR_P010 will not be processed
- if (isJpegR(mCaptureOutputSurfaceConfig)) {
+ // For this sample, DEPTH_JPEG, JPEG_R or YCBCR_P010 will not be processed
+ if (isJpegR(mCaptureOutputSurfaceConfig) ||
+ isDepthJpeg(mCaptureOutputSurfaceConfig)) {
Camera2OutputConfigImplBuilder captureOutputConfigBuilder;
captureOutputConfigBuilder =
@@ -353,6 +354,14 @@
(surfaceConfig.getImageFormat() == ImageFormat.JPEG_R);
}
+ protected boolean isDepthJpeg(OutputSurfaceImpl surfaceConfig) {
+ // The surface configuration format for DepthJpeg can be specified in either format.
+ // Camera2 uses HAL_PIXEL_FORMAT_BLOB and CameraX uses ImageFormat.DEPTH_JPEG.
+ return ((surfaceConfig.getImageFormat() == JpegEncoder.HAL_PIXEL_FORMAT_BLOB) &&
+ (surfaceConfig.getDataspace() == DataSpace.DATASPACE_DYNAMIC_DEPTH)) ||
+ (surfaceConfig.getImageFormat() == ImageFormat.DEPTH_JPEG);
+ }
+
protected boolean isJpeg(OutputSurfaceImpl surfaceConfig) {
return (JpegEncoder.imageFormatToPublic(surfaceConfig.getImageFormat()) ==
ImageFormat.JPEG) || (surfaceConfig.getImageFormat() == ImageFormat.JPEG);
diff --git a/camera2/extensions/advancedSample/src/java/androidx/camera/extensions/impl/advanced/NightAdvancedExtenderImpl.java b/camera2/extensions/advancedSample/src/java/androidx/camera/extensions/impl/advanced/NightAdvancedExtenderImpl.java
index 86ea363..f3a27eb 100644
--- a/camera2/extensions/advancedSample/src/java/androidx/camera/extensions/impl/advanced/NightAdvancedExtenderImpl.java
+++ b/camera2/extensions/advancedSample/src/java/androidx/camera/extensions/impl/advanced/NightAdvancedExtenderImpl.java
@@ -131,8 +131,9 @@
// Image Capture
if (mCaptureOutputSurfaceConfig.getSurface() != null) {
- // For this sample, JPEG_R or YCBCR_P010 will not be processed
- if (isJpegR(mCaptureOutputSurfaceConfig)) {
+ // For this sample, DEPTH_JPEG, JPEG_R or YCBCR_P010 will not be processed
+ if (isJpegR(mCaptureOutputSurfaceConfig) ||
+ isDepthJpeg(mCaptureOutputSurfaceConfig)) {
Camera2OutputConfigImplBuilder captureOutputConfigBuilder;
captureOutputConfigBuilder =