diff options
author | 2024-09-11 21:02:33 +0000 | |
---|---|---|
committer | 2024-09-11 21:02:33 +0000 | |
commit | 2fc899a316b7a411783caeb7087f0b20775dbe31 (patch) | |
tree | 476bac5975e4caa3a5c910afce5138b11bd5dbb8 | |
parent | 40579761a078f1420f0eecfb2b9b4de8ab3d7262 (diff) |
Camera: Remove 'extension_10_bit' flagging
Flag: EXEMPT removal of 'extension_10_bit' flagging
Test: Sucessful build
Bug: 365555183
Change-Id: Id16e960dc5a847f208e9c8962a4888e2e01e3f7c
11 files changed, 47 insertions, 108 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 14e749344247..bf0b948130ee 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -20081,14 +20081,14 @@ package android.hardware.camera2.params { public final class ExtensionSessionConfiguration { ctor public ExtensionSessionConfiguration(int, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraExtensionSession.StateCallback); - method @FlaggedApi("com.android.internal.camera.flags.extension_10_bit") public void clearColorSpace(); - method @FlaggedApi("com.android.internal.camera.flags.extension_10_bit") @Nullable public android.graphics.ColorSpace getColorSpace(); + method public void clearColorSpace(); + method @Nullable public android.graphics.ColorSpace getColorSpace(); method @NonNull public java.util.concurrent.Executor getExecutor(); method public int getExtension(); method @NonNull public java.util.List<android.hardware.camera2.params.OutputConfiguration> getOutputConfigurations(); method @Nullable public android.hardware.camera2.params.OutputConfiguration getPostviewOutputConfiguration(); method @NonNull public android.hardware.camera2.CameraExtensionSession.StateCallback getStateCallback(); - method @FlaggedApi("com.android.internal.camera.flags.extension_10_bit") public void setColorSpace(@NonNull android.graphics.ColorSpace.Named); + method public void setColorSpace(@NonNull android.graphics.ColorSpace.Named); method public void setPostviewOutputConfiguration(@Nullable android.hardware.camera2.params.OutputConfiguration); } diff --git a/core/api/system-current.txt b/core/api/system-current.txt index fb425a99732a..d695d6e8205f 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -4972,12 +4972,12 @@ package android.hardware.camera2.extension { @FlaggedApi("com.android.internal.camera.flags.concert_mode") public final class CameraOutputSurface { ctor @FlaggedApi("com.android.internal.camera.flags.concert_mode") public CameraOutputSurface(@NonNull android.view.Surface, @NonNull android.util.Size); - method @FlaggedApi("com.android.internal.camera.flags.extension_10_bit") public int getColorSpace(); - method @FlaggedApi("com.android.internal.camera.flags.extension_10_bit") public long getDynamicRangeProfile(); + method public int getColorSpace(); + method public long getDynamicRangeProfile(); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") public int getImageFormat(); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") @NonNull public android.util.Size getSize(); method @FlaggedApi("com.android.internal.camera.flags.concert_mode") @NonNull public android.view.Surface getSurface(); - method @FlaggedApi("com.android.internal.camera.flags.extension_10_bit") public void setDynamicRangeProfile(long); + method public void setDynamicRangeProfile(long); } @FlaggedApi("com.android.internal.camera.flags.concert_mode") public class CharacteristicsMap { @@ -4987,7 +4987,7 @@ package android.hardware.camera2.extension { @FlaggedApi("com.android.internal.camera.flags.concert_mode") public class ExtensionConfiguration { ctor @FlaggedApi("com.android.internal.camera.flags.concert_mode") public ExtensionConfiguration(int, int, @NonNull java.util.List<android.hardware.camera2.extension.ExtensionOutputConfiguration>, @Nullable android.hardware.camera2.CaptureRequest); - method @FlaggedApi("com.android.internal.camera.flags.extension_10_bit") public void setColorSpace(int); + method public void setColorSpace(int); } @FlaggedApi("com.android.internal.camera.flags.concert_mode") public class ExtensionOutputConfiguration { diff --git a/core/java/android/hardware/camera2/extension/CameraOutputSurface.java b/core/java/android/hardware/camera2/extension/CameraOutputSurface.java index 001b79499b1a..32139b8e314b 100644 --- a/core/java/android/hardware/camera2/extension/CameraOutputSurface.java +++ b/core/java/android/hardware/camera2/extension/CameraOutputSurface.java @@ -107,7 +107,6 @@ public final class CameraOutputSurface { * {@link android.hardware.camera2.params.DynamicRangeProfiles.STANDARD} * unless specified by CameraOutputSurface.setDynamicRangeProfile. */ - @FlaggedApi(Flags.FLAG_EXTENSION_10_BIT) public @DynamicRangeProfiles.Profile long getDynamicRangeProfile() { return mOutputSurface.dynamicRangeProfile; } @@ -118,7 +117,6 @@ public final class CameraOutputSurface { * unless specified by CameraOutputSurface.setColorSpace. */ @SuppressLint("MethodNameUnits") - @FlaggedApi(Flags.FLAG_EXTENSION_10_BIT) public int getColorSpace() { return mOutputSurface.colorSpace; } @@ -128,7 +126,6 @@ public final class CameraOutputSurface { * will be {@link android.hardware.camera2.params.DynamicRangeProfiles.STANDARD} * unless explicitly set using this method. */ - @FlaggedApi(Flags.FLAG_EXTENSION_10_BIT) public void setDynamicRangeProfile( @DynamicRangeProfiles.Profile long dynamicRangeProfile) { mOutputSurface.dynamicRangeProfile = dynamicRangeProfile; diff --git a/core/java/android/hardware/camera2/extension/ExtensionConfiguration.java b/core/java/android/hardware/camera2/extension/ExtensionConfiguration.java index 84b7a7fc1349..32de1ce8f0d6 100644 --- a/core/java/android/hardware/camera2/extension/ExtensionConfiguration.java +++ b/core/java/android/hardware/camera2/extension/ExtensionConfiguration.java @@ -83,7 +83,6 @@ public class ExtensionConfiguration { * The default will be -1, indicating an unspecified ColorSpace, * unless explicitly set using this method. */ - @FlaggedApi(Flags.FLAG_EXTENSION_10_BIT) public void setColorSpace(int colorSpace) { mColorSpace = colorSpace; } @@ -98,11 +97,7 @@ public class ExtensionConfiguration { ret.sessionTemplateId = mSessionTemplateId; ret.sessionType = mSessionType; ret.outputConfigs = new ArrayList<>(mOutputs.size()); - if (Flags.extension10Bit()) { - ret.colorSpace = mColorSpace; - } else { - ret.colorSpace = ColorSpaceProfiles.UNSPECIFIED; - } + ret.colorSpace = mColorSpace; for (ExtensionOutputConfiguration outputConfig : mOutputs) { ret.outputConfigs.add(outputConfig.getOutputConfig()); } diff --git a/core/java/android/hardware/camera2/extension/ExtensionOutputConfiguration.java b/core/java/android/hardware/camera2/extension/ExtensionOutputConfiguration.java index 3a67d6192f5e..8a47430e7eb4 100644 --- a/core/java/android/hardware/camera2/extension/ExtensionOutputConfiguration.java +++ b/core/java/android/hardware/camera2/extension/ExtensionOutputConfiguration.java @@ -80,11 +80,7 @@ public class ExtensionOutputConfiguration { config.outputId = new OutputConfigId(); config.outputId.id = mOutputConfigId; config.surfaceGroupId = mSurfaceGroupId; - if (Flags.extension10Bit()) { - config.dynamicRangeProfile = surface.getDynamicRangeProfile(); - } else { - config.dynamicRangeProfile = DynamicRangeProfiles.STANDARD; - } + config.dynamicRangeProfile = surface.getDynamicRangeProfile(); } @Nullable CameraOutputConfig getOutputConfig() { diff --git a/core/java/android/hardware/camera2/impl/CameraAdvancedExtensionSessionImpl.java b/core/java/android/hardware/camera2/impl/CameraAdvancedExtensionSessionImpl.java index 2e1e90c78f3a..323712d817af 100644 --- a/core/java/android/hardware/camera2/impl/CameraAdvancedExtensionSessionImpl.java +++ b/core/java/android/hardware/camera2/impl/CameraAdvancedExtensionSessionImpl.java @@ -148,7 +148,7 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes for (OutputConfiguration c : config.getOutputConfigurations()) { if (c.getDynamicRangeProfile() != DynamicRangeProfiles.STANDARD) { - if (Flags.extension10Bit() && Flags.cameraExtensionsCharacteristicsGet()) { + if (Flags.cameraExtensionsCharacteristicsGet()) { DynamicRangeProfiles dynamicProfiles = extensionChars.get( config.getExtension(), CameraCharacteristics.REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES); @@ -190,9 +190,7 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes new IntArray(CameraExtensionUtils.SUPPORTED_CAPTURE_OUTPUT_FORMATS.length); supportedCaptureOutputFormats.addAll( CameraExtensionUtils.SUPPORTED_CAPTURE_OUTPUT_FORMATS); - if (Flags.extension10Bit()) { - supportedCaptureOutputFormats.add(ImageFormat.YCBCR_P010); - } + supportedCaptureOutputFormats.add(ImageFormat.YCBCR_P010); for (int format : supportedCaptureOutputFormats.toArray()) { List<Size> supportedSizes = extensionChars.getExtensionSupportedSizes( config.getExtension(), format); @@ -359,23 +357,21 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes cameraOutput.setTimestampBase(OutputConfiguration.TIMESTAMP_BASE_SENSOR); cameraOutput.setReadoutTimestampEnabled(false); cameraOutput.setPhysicalCameraId(output.physicalCameraId); - if (Flags.extension10Bit()) { - boolean validDynamicRangeProfile = false; - for (long profile = DynamicRangeProfiles.STANDARD; - profile < DynamicRangeProfiles.PUBLIC_MAX; profile <<= 1) { - if (output.dynamicRangeProfile == profile) { - validDynamicRangeProfile = true; - break; - } - } - if (validDynamicRangeProfile) { - cameraOutput.setDynamicRangeProfile(output.dynamicRangeProfile); - } else { - Log.e(TAG, "Extension configured dynamic range profile " - + output.dynamicRangeProfile - + " is not valid, using default DynamicRangeProfile.STANDARD"); + boolean validDynamicRangeProfile = false; + for (long profile = DynamicRangeProfiles.STANDARD; + profile < DynamicRangeProfiles.PUBLIC_MAX; profile <<= 1) { + if (output.dynamicRangeProfile == profile) { + validDynamicRangeProfile = true; + break; } } + if (validDynamicRangeProfile) { + cameraOutput.setDynamicRangeProfile(output.dynamicRangeProfile); + } else { + Log.e(TAG, "Extension configured dynamic range profile " + + output.dynamicRangeProfile + + " is not valid, using default DynamicRangeProfile.STANDARD"); + } outputList.add(cameraOutput); mCameraConfigMap.put(cameraOutput.getSurface(), output); } @@ -390,15 +386,13 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes SessionConfiguration sessionConfiguration = new SessionConfiguration(sessionType, outputList, new CameraExtensionUtils.HandlerExecutor(mHandler), new SessionStateHandler()); - if (Flags.extension10Bit()) { - if (sessionConfig.colorSpace >= 0 - && sessionConfig.colorSpace < ColorSpace.Named.values().length) { - sessionConfiguration.setColorSpace( - ColorSpace.Named.values()[sessionConfig.colorSpace]); - } else { - Log.e(TAG, "Extension configured color space " + sessionConfig.colorSpace - + " is not valid, using default unspecified color space"); - } + if (sessionConfig.colorSpace >= 0 + && sessionConfig.colorSpace < ColorSpace.Named.values().length) { + sessionConfiguration.setColorSpace( + ColorSpace.Named.values()[sessionConfig.colorSpace]); + } else { + Log.e(TAG, "Extension configured color space " + sessionConfig.colorSpace + + " is not valid, using default unspecified color space"); } if ((sessionConfig.sessionParameter != null) && (!sessionConfig.sessionParameter.isEmpty())) { @@ -459,16 +453,11 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes ret.size.height = surfaceSize.getHeight(); ret.imageFormat = SurfaceUtils.getSurfaceFormat(s); - if (Flags.extension10Bit()) { - ret.dynamicRangeProfile = o.getDynamicRangeProfile(); - ColorSpace colorSpace = o.getColorSpace(); - if (colorSpace != null) { - ret.colorSpace = colorSpace.getId(); - } else { - ret.colorSpace = ColorSpaceProfiles.UNSPECIFIED; - } + ret.dynamicRangeProfile = o.getDynamicRangeProfile(); + ColorSpace colorSpace = o.getColorSpace(); + if (colorSpace != null) { + ret.colorSpace = colorSpace.getId(); } else { - ret.dynamicRangeProfile = DynamicRangeProfiles.STANDARD; ret.colorSpace = ColorSpaceProfiles.UNSPECIFIED; } } else { diff --git a/core/java/android/hardware/camera2/impl/CameraExtensionJpegProcessor.java b/core/java/android/hardware/camera2/impl/CameraExtensionJpegProcessor.java index a10e2505758e..ab4ff72bb952 100644 --- a/core/java/android/hardware/camera2/impl/CameraExtensionJpegProcessor.java +++ b/core/java/android/hardware/camera2/impl/CameraExtensionJpegProcessor.java @@ -208,10 +208,6 @@ public class CameraExtensionJpegProcessor implements ICaptureProcessorImpl { } public void onOutputSurface(Surface surface, int format) throws RemoteException { - if (!Flags.extension10Bit() && format != ImageFormat.JPEG) { - Log.e(TAG, "Unsupported output format: " + format); - return; - } CameraExtensionUtils.SurfaceInfo surfaceInfo = CameraExtensionUtils.querySurface(surface); mCaptureFormat = surfaceInfo.mFormat; mOutputSurface = surface; @@ -221,10 +217,6 @@ public class CameraExtensionJpegProcessor implements ICaptureProcessorImpl { public void onPostviewOutputSurface(Surface surface) throws RemoteException { CameraExtensionUtils.SurfaceInfo postviewSurfaceInfo = CameraExtensionUtils.querySurface(surface); - if (!Flags.extension10Bit() && postviewSurfaceInfo.mFormat != ImageFormat.JPEG) { - Log.e(TAG, "Unsupported output format: " + postviewSurfaceInfo.mFormat); - return; - } mPostviewFormat = postviewSurfaceInfo.mFormat; mPostviewOutputSurface = surface; initializePostviewPipeline(); @@ -240,10 +232,6 @@ public class CameraExtensionJpegProcessor implements ICaptureProcessorImpl { } public void onImageFormatUpdate(int format) throws RemoteException { - if (!Flags.extension10Bit() && format != ImageFormat.YUV_420_888) { - Log.e(TAG, "Unsupported input format: " + format); - return; - } mFormat = format; initializePipeline(); } @@ -251,7 +239,7 @@ public class CameraExtensionJpegProcessor implements ICaptureProcessorImpl { private void initializePipeline() throws RemoteException { if ((mFormat != -1) && (mOutputSurface != null) && (mResolution != null) && (mYuvReader == null)) { - if (Flags.extension10Bit() && mCaptureFormat == ImageFormat.YUV_420_888) { + if (mCaptureFormat == ImageFormat.YUV_420_888) { // For the case when postview is JPEG and capture is YUV mProcessor.onOutputSurface(mOutputSurface, mCaptureFormat); } else { @@ -274,7 +262,7 @@ public class CameraExtensionJpegProcessor implements ICaptureProcessorImpl { private void initializePostviewPipeline() throws RemoteException { if ((mFormat != -1) && (mPostviewOutputSurface != null) && (mPostviewResolution != null) && (mPostviewYuvReader == null)) { - if (Flags.extension10Bit() && mPostviewFormat == ImageFormat.YUV_420_888) { + if (mPostviewFormat == ImageFormat.YUV_420_888) { // For the case when postview is YUV and capture is JPEG mProcessor.onPostviewOutputSurface(mPostviewOutputSurface); } else { diff --git a/core/java/android/hardware/camera2/impl/CameraExtensionSessionImpl.java b/core/java/android/hardware/camera2/impl/CameraExtensionSessionImpl.java index a4ae398782b4..ce1609dec4e6 100644 --- a/core/java/android/hardware/camera2/impl/CameraExtensionSessionImpl.java +++ b/core/java/android/hardware/camera2/impl/CameraExtensionSessionImpl.java @@ -190,9 +190,7 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { new IntArray(CameraExtensionUtils.SUPPORTED_CAPTURE_OUTPUT_FORMATS.length); supportedCaptureOutputFormats.addAll( CameraExtensionUtils.SUPPORTED_CAPTURE_OUTPUT_FORMATS); - if (Flags.extension10Bit()) { - supportedCaptureOutputFormats.add(ImageFormat.YCBCR_P010); - } + supportedCaptureOutputFormats.add(ImageFormat.YCBCR_P010); for (int format : supportedCaptureOutputFormats.toArray()) { List<Size> supportedSizes = extensionChars.getExtensionSupportedSizes( config.getExtension(), format); @@ -401,7 +399,7 @@ public final class CameraExtensionSessionImpl extends CameraExtensionSession { if (surfaceInfo.mFormat == ImageFormat.JPEG) { mImageJpegProcessor = new CameraExtensionJpegProcessor(mImageProcessor); mImageProcessor = mImageJpegProcessor; - } else if (Flags.extension10Bit() && mClientPostviewSurface != null) { + } else if (mClientPostviewSurface != null) { // Handles case when postview is JPEG and capture is YUV CameraExtensionUtils.SurfaceInfo postviewSurfaceInfo = CameraExtensionUtils.querySurface(mClientPostviewSurface); diff --git a/core/java/android/hardware/camera2/impl/CameraExtensionUtils.java b/core/java/android/hardware/camera2/impl/CameraExtensionUtils.java index 40f047732c06..f91d277d571f 100644 --- a/core/java/android/hardware/camera2/impl/CameraExtensionUtils.java +++ b/core/java/android/hardware/camera2/impl/CameraExtensionUtils.java @@ -113,32 +113,13 @@ public final class CameraExtensionUtils { SurfaceInfo surfaceInfo = querySurface(outputConfig.getSurface()); - if (Flags.extension10Bit()) { - Size postviewSize = new Size(surfaceInfo.mWidth, surfaceInfo.mHeight); - if (supportedPostviewSizes.get(surfaceInfo.mFormat) - .contains(postviewSize)) { - return outputConfig.getSurface(); - } else { - throw new IllegalArgumentException("Postview size not supported!"); - } + Size postviewSize = new Size(surfaceInfo.mWidth, surfaceInfo.mHeight); + if (supportedPostviewSizes.get(surfaceInfo.mFormat) + .contains(postviewSize)) { + return outputConfig.getSurface(); } else { - if (surfaceInfo.mFormat == captureFormat) { - if (supportedPostviewSizes.containsKey(captureFormat)) { - Size postviewSize = new Size(surfaceInfo.mWidth, surfaceInfo.mHeight); - if (supportedPostviewSizes.get(surfaceInfo.mFormat) - .contains(postviewSize)) { - return outputConfig.getSurface(); - } else { - throw new IllegalArgumentException("Postview size not supported!"); - } - } - } else { - throw new IllegalArgumentException("Postview format should be equivalent to " - + " the capture format!"); - } + throw new IllegalArgumentException("Postview size not supported!"); } - - return null; } public static Surface getBurstCaptureSurface( @@ -148,9 +129,7 @@ public final class CameraExtensionUtils { new IntArray(CameraExtensionUtils.SUPPORTED_CAPTURE_OUTPUT_FORMATS.length); supportedCaptureOutputFormats.addAll( CameraExtensionUtils.SUPPORTED_CAPTURE_OUTPUT_FORMATS); - if (Flags.extension10Bit()) { - supportedCaptureOutputFormats.add(ImageFormat.YCBCR_P010); - } + supportedCaptureOutputFormats.add(ImageFormat.YCBCR_P010); for (OutputConfiguration config : outputConfigs) { SurfaceInfo surfaceInfo = querySurface(config.getSurface()); for (int supportedFormat : supportedCaptureOutputFormats.toArray()) { diff --git a/core/java/android/hardware/camera2/params/ExtensionSessionConfiguration.java b/core/java/android/hardware/camera2/params/ExtensionSessionConfiguration.java index bf3f59fc7480..73f4ff480259 100644 --- a/core/java/android/hardware/camera2/params/ExtensionSessionConfiguration.java +++ b/core/java/android/hardware/camera2/params/ExtensionSessionConfiguration.java @@ -136,7 +136,6 @@ public final class ExtensionSessionConfiguration { * or the color space implied by the dataSpace passed into an {@link ImageReader}'s * constructor.</p> */ - @FlaggedApi(Flags.FLAG_EXTENSION_10_BIT) public void setColorSpace(@NonNull ColorSpace.Named colorSpace) { mColorSpace = colorSpace.ordinal(); for (OutputConfiguration outputConfiguration : mOutputs) { @@ -150,7 +149,6 @@ public final class ExtensionSessionConfiguration { /** * Clear the color space, such that the default color space will be used. */ - @FlaggedApi(Flags.FLAG_EXTENSION_10_BIT) public void clearColorSpace() { mColorSpace = ColorSpaceProfiles.UNSPECIFIED; for (OutputConfiguration outputConfiguration : mOutputs) { @@ -167,7 +165,6 @@ public final class ExtensionSessionConfiguration { * @return the currently set color space, or null * if not set */ - @FlaggedApi(Flags.FLAG_EXTENSION_10_BIT) @SuppressLint("MethodNameUnits") public @Nullable ColorSpace getColorSpace() { if (mColorSpace != ColorSpaceProfiles.UNSPECIFIED) { diff --git a/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java b/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java index 136738fcb343..acb74d30689c 100644 --- a/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java +++ b/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java @@ -1620,7 +1620,7 @@ public class CameraExtensionsProxyService extends Service { } ret.outputConfigs.add(entry); } - if (Flags.extension10Bit() && EFV_SUPPORTED) { + if (EFV_SUPPORTED) { ret.colorSpace = sessionConfig.getColorSpace(); } else { ret.colorSpace = ColorSpaceProfiles.UNSPECIFIED; @@ -2596,7 +2596,7 @@ public class CameraExtensionsProxyService extends Service { private static CameraOutputConfig getCameraOutputConfig(Camera2OutputConfigImpl output) { CameraOutputConfig ret = new CameraOutputConfig(); - if (Flags.extension10Bit() && EFV_SUPPORTED) { + if (EFV_SUPPORTED) { ret.dynamicRangeProfile = output.getDynamicRangeProfile(); } else { ret.dynamicRangeProfile = DynamicRangeProfiles.STANDARD; |