Loading core/api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -20714,6 +20714,8 @@ package android.hardware.camera2.params { method @NonNull public static java.util.List<android.hardware.camera2.params.OutputConfiguration> createInstancesForMultiResolutionOutput(@NonNull java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>, int); method public int describeContents(); method public void enableSurfaceSharing(); method @FlaggedApi("com.android.internal.camera.flags.output_configuration_getter") public int getConfiguredFormat(); method @FlaggedApi("com.android.internal.camera.flags.output_configuration_getter") @NonNull public android.util.Size getConfiguredSize(); method public long getDynamicRangeProfile(); method public int getMaxSharedSurfaceCount(); method public int getMirrorMode(); core/java/android/hardware/camera2/params/OutputConfiguration.java +27 −35 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.annotation.TestApi; import android.graphics.ColorSpace; import android.graphics.ImageFormat; import android.graphics.ImageFormat.Format; import android.hardware.DataSpace.NamedDataSpace; import android.hardware.HardwareBuffer; import android.hardware.HardwareBuffer.Usage; import android.hardware.camera2.CameraCaptureSession; Loading Loading @@ -588,6 +587,8 @@ public final class OutputConfiguration implements Parcelable { mConfiguredFormat = SurfaceUtils.getSurfaceFormat(surface); mConfiguredDataspace = SurfaceUtils.getSurfaceDataspace(surface); mConfiguredGenerationId = surface.getGenerationId(); mPublicFormat = StreamConfigurationMap.internalFormatAndDataspaceToImageFormat( mConfiguredFormat, mConfiguredDataspace); mIsDeferredConfig = false; mIsShared = false; mPhysicalCameraId = null; Loading Loading @@ -834,6 +835,7 @@ public final class OutputConfiguration implements Parcelable { mMirrorModeForSurfaces = new IntArray(); mRotation = ROTATION_0; mConfiguredSize = surfaceSize; mPublicFormat = ImageFormat.PRIVATE; mConfiguredFormat = StreamConfigurationMap.imageFormatToInternal(ImageFormat.PRIVATE); mConfiguredDataspace = StreamConfigurationMap.imageFormatToDataspace(ImageFormat.PRIVATE); mConfiguredGenerationId = 0; Loading Loading @@ -963,6 +965,7 @@ public final class OutputConfiguration implements Parcelable { mConfiguredSize = surfaceSize; mConfiguredFormat = StreamConfigurationMap.imageFormatToInternal(format); mConfiguredDataspace = StreamConfigurationMap.imageFormatToDataspace(format); mPublicFormat = format; mConfiguredGenerationId = 0; mIsDeferredConfig = false; mIsShared = false; Loading Loading @@ -1567,6 +1570,7 @@ public final class OutputConfiguration implements Parcelable { this.mSurfaceType = other.mSurfaceType; this.mConfiguredDataspace = other.mConfiguredDataspace; this.mConfiguredFormat = other.mConfiguredFormat; this.mPublicFormat = other.mPublicFormat; this.mConfiguredSize = other.mConfiguredSize; this.mConfiguredGenerationId = other.mConfiguredGenerationId; this.mIsDeferredConfig = other.mIsDeferredConfig; Loading Loading @@ -1641,6 +1645,8 @@ public final class OutputConfiguration implements Parcelable { } mConfiguredGenerationId = 0; } mPublicFormat = StreamConfigurationMap.internalFormatAndDataspaceToImageFormat( mConfiguredFormat, mConfiguredDataspace); mPhysicalCameraId = physicalCameraId; mIsMultiResolution = isMultiResolutionOutput; mSensorPixelModesUsed = convertIntArrayToIntegerList(sensorPixelModesUsed); Loading Loading @@ -1716,28 +1722,40 @@ public final class OutputConfiguration implements Parcelable { * Get the configured size associated with this {@link OutputConfiguration}. * * @return The configured size associated with this {@link OutputConfiguration}. * * @hide */ public Size getConfiguredSize() { @FlaggedApi(Flags.FLAG_OUTPUT_CONFIGURATION_GETTER) public @NonNull Size getConfiguredSize() { return mConfiguredSize; } /** * Get the configured format associated with this {@link OutputConfiguration}. * * <p>This function handles all ImageFormats and output targets supported by * the camera APIs, and isn't designed for all possible OS supported formats and * surfaces. For example, an ImageReader can be created using any combinations of * HardwareBuffer format and dataspace. If the combination is not supported * by the camera APIs, this function returns ImageFormat.UNKNOWN.</p> * * @return {@link android.graphics.ImageFormat#Format} associated with this * {@link OutputConfiguration}. * * @hide */ @FlaggedApi(Flags.FLAG_OUTPUT_CONFIGURATION_GETTER) public @Format int getConfiguredFormat() { return mConfiguredFormat; // The public facing configured format is the combination of internal // mConfiguredFormat and mConfiguredDataSpace. return mPublicFormat; } /** * Get the usage flag associated with this {@link OutputConfiguration}. * * <p>Return the application specified usage flag if the OutputConfiguration is created * with an Image format.</p> * * <p>If the OutputConfiguration is created using an output surface, or using a class, * this function returns 0.</p> * * @return {@link HardwareBuffer#Usage} associated with this {@link OutputConfiguration}. * * @hide Loading @@ -1746,23 +1764,6 @@ public final class OutputConfiguration implements Parcelable { return mUsage; } /** * Get the surface type associated with this {@link OutputConfiguration}. * * @return The surface type associated with this {@link OutputConfiguration}. * * @see #SURFACE_TYPE_SURFACE_VIEW * @see #SURFACE_TYPE_SURFACE_TEXTURE * @see #SURFACE_TYPE_MEDIA_RECORDER * @see #SURFACE_TYPE_MEDIA_CODEC * @see #SURFACE_TYPE_IMAGE_READER * @see #SURFACE_TYPE_UNKNOWN * @hide */ public int getSurfaceType() { return mSurfaceType; } /** * Get the sensor pixel modes associated with this {@link OutputConfiguration}. * Loading @@ -1785,17 +1786,6 @@ public final class OutputConfiguration implements Parcelable { return mIsShared; } /** * Get the dataspace associated with this {@link OutputConfiguration}. * * @return {@link Dataspace#NamedDataSpace} for this {@link OutputConfiguration}. * * @hide */ public @NamedDataSpace int getConfiguredDataspace() { return mConfiguredDataspace; } /** * Get the flag indicating if this {@link OutputConfiguration} is for a multi-resolution output * with a MultiResolutionImageReader. Loading Loading @@ -2019,6 +2009,8 @@ public final class OutputConfiguration implements Parcelable { private final Size mConfiguredSize; private final int mConfiguredFormat; private final int mConfiguredDataspace; // The public facing format, a combination of mConfiguredFormat and mConfiguredDataspace private final int mPublicFormat; // Surface generation ID to distinguish changes to Surface native internals private final int mConfiguredGenerationId; // Flag indicating if this config has deferred surface. Loading core/java/android/hardware/camera2/params/StreamConfigurationMap.java +104 −2 Original line number Diff line number Diff line Loading @@ -1620,6 +1620,98 @@ public final class StreamConfigurationMap { } } /** * Convert an internal format and an internal dataspace from {@code graphics.h} * to a public format defined in {@code ImageFormat}. * * <p>In particular below conversion is done:</p> * * HAL_DATASPACE_DEPTH ==> * HAL_PIXEL_FORMAT_BLOB ==> ImageFormat.DEPTH_POINT_CLOUD * HAL_PIXEL_FORMAT_Y16 ==> ImageFormat.DEPTH16 * HAL_PIXEL_FORMAT_RAW16 ==> ImageFormat.RAW_DEPTH * HAL_PIXEL_FORMAT_RAW10 ==> ImageFormat.RAW_DEPTH10 * * HAL_PIXEL_FORMAT_BLOB ==> * HAL_DATASPACE_DYNAMIC_DEPTH ==> ImageFormat.DEPTH_JPEG * HAL_DATASPACE_HEIF ==> ImageFormat.HEIC * HAL_DATASPACE_JPEG_R ==> ImageFormat.JPEG_R * DATASPACE_HEIF_ULTRAHDR ==> ImageFormat.HEIC_ULTRAHDR * HAL_DATASPACE_V0_JFIF ==> ImageFormat.JPEG * * HAL_PIXEL_FORMAT_RGBA_8888 ===> PixelFormat.RGBA_8888 * HAL_PIXEL_FORMAT_RGBX_8888 ===> PixelFormat.RGBX_8888 * HAL_PIXEL_FORMAT_RGB_888 ===> PixelFormat.RGB_888 * HAL_PIXEL_FORMAT_RGB_565 ==> PixelFormat.RGB_565 * HAL_PIXEL_FORMAT_YCBCR_422_SP ==> ImageFormat.NV16 * HAL_PIXEL_FORMAT_YCRCB_420_SP ===> ImageFormat.NV21 * HAL_PIXEL_FORMAT_YCBCR_422_I ===> ImageFormat.YUY2 * HAL_PIXEL_FORMAT_RAW16 ==> ImageFormat.RAW_SENSOR * HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED ==> ImageFormat.PRIVATE * HAL_PIXEL_FORMAT_YCBCR_420_888 ==> ImageFormat.YUV_420_888 * HAL_PIXEL_FORMAT_RAW_OPAQUE ==> ImageFormat.RAW_PRIVATE * HAL_PIXEL_FORMAT_RAW10 ==> ImageFormat.RAW10 * HAL_PIXEL_FORMAT_RAW12 ==> ImageFormat.RAW12 * HAL_PIXEL_FORMAT_YCBCR_P010 ==> ImageFormat.YCBCR_P010 * HAL_PIXEL_FORMAT_YCBCR_P210 ==> ImageFormat.YCBCR_P210 * HAL_PIXEL_FORMAT_Y8 ===> ImageFormat.Y8 * HAL_PIXEL_FORMAT_Y16 ===> ImageFormat.Y16 * HAL_PIXEL_FORMAT_FORMAT_YV12 ==> ImageFormat.YV12 * * @hide */ static int internalFormatAndDataspaceToImageFormat(int internalFormat, int dataSpace) { // Convert all depth formats if (dataSpace == HAL_DATASPACE_DEPTH) { return depthFormatToPublic(internalFormat); } // Convert all blob formats if (internalFormat == HAL_PIXEL_FORMAT_BLOB) { if (Flags.cameraHeifGainmap()) { if (dataSpace == DataSpace.DATASPACE_HEIF_ULTRAHDR) { return ImageFormat.HEIC_ULTRAHDR; } } switch (dataSpace) { case HAL_DATASPACE_DYNAMIC_DEPTH: return ImageFormat.DEPTH_JPEG; case HAL_DATASPACE_HEIF: return ImageFormat.HEIC; case HAL_DATASPACE_JPEG_R: return ImageFormat.JPEG_R; case HAL_DATASPACE_V0_JFIF: default: return ImageFormat.JPEG; } } // Remaining recognized formats that are equal between public and internal. switch (internalFormat) { case HAL_PIXEL_FORMAT_RGBA_8888: case HAL_PIXEL_FORMAT_RGBX_8888: case HAL_PIXEL_FORMAT_RGB_888: case HAL_PIXEL_FORMAT_RGB_565: case HAL_PIXEL_FORMAT_YCBCR_422_SP: case HAL_PIXEL_FORMAT_YCRCB_420_SP: case HAL_PIXEL_FORMAT_RAW16: case HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED: case HAL_PIXEL_FORMAT_YCBCR_420_888: case HAL_PIXEL_FORMAT_RAW_OPAQUE: case HAL_PIXEL_FORMAT_RAW10: case HAL_PIXEL_FORMAT_RAW12: case HAL_PIXEL_FORMAT_YCBCR_P010: case HAL_PIXEL_FORMAT_YCBCR_P210: case HAL_PIXEL_FORMAT_Y8: case HAL_PIXEL_FORMAT_Y16: case HAL_PIXEL_FORMAT_YV12: return internalFormat; default: return ImageFormat.UNKNOWN; } } /** * Convert image formats from public to internal formats (in-place). * Loading Loading @@ -2130,16 +2222,26 @@ public final class StreamConfigurationMap { } // from system/core/include/system/graphics.h private static final int HAL_PIXEL_FORMAT_RGBA_8888 = 0x01; private static final int HAL_PIXEL_FORMAT_RGBX_8888 = 0x02; private static final int HAL_PIXEL_FORMAT_RGB_888 = 0x03; private static final int HAL_PIXEL_FORMAT_RGB_565 = 0x04; private static final int HAL_PIXEL_FORMAT_YCBCR_422_SP = 0x10; private static final int HAL_PIXEL_FORMAT_YCRCB_420_SP = 0x11; private static final int HAL_PIXEL_FORMAT_YCBCR_422_I = 0x14; private static final int HAL_PIXEL_FORMAT_RAW16 = 0x20; /** @hide */ public static final int HAL_PIXEL_FORMAT_BLOB = 0x21; private static final int HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED = 0x22; private static final int HAL_PIXEL_FORMAT_YCbCr_420_888 = 0x23; private static final int HAL_PIXEL_FORMAT_YCBCR_420_888 = 0x23; private static final int HAL_PIXEL_FORMAT_RAW_OPAQUE = 0x24; private static final int HAL_PIXEL_FORMAT_RAW10 = 0x25; private static final int HAL_PIXEL_FORMAT_RAW12 = 0x26; private static final int HAL_PIXEL_FORMAT_YCBCR_P010 = 0x36; private static final int HAL_PIXEL_FORMAT_YCBCR_P210 = 0x3c; private static final int HAL_PIXEL_FORMAT_Y8 = 0x20203859; private static final int HAL_PIXEL_FORMAT_Y16 = 0x20363159; private static final int HAL_PIXEL_FORMAT_YV12 = 0x32315659; private static final int HAL_DATASPACE_STANDARD_SHIFT = 16; private static final int HAL_DATASPACE_TRANSFER_SHIFT = 22; Loading Loading
core/api/current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -20714,6 +20714,8 @@ package android.hardware.camera2.params { method @NonNull public static java.util.List<android.hardware.camera2.params.OutputConfiguration> createInstancesForMultiResolutionOutput(@NonNull java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>, int); method public int describeContents(); method public void enableSurfaceSharing(); method @FlaggedApi("com.android.internal.camera.flags.output_configuration_getter") public int getConfiguredFormat(); method @FlaggedApi("com.android.internal.camera.flags.output_configuration_getter") @NonNull public android.util.Size getConfiguredSize(); method public long getDynamicRangeProfile(); method public int getMaxSharedSurfaceCount(); method public int getMirrorMode();
core/java/android/hardware/camera2/params/OutputConfiguration.java +27 −35 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.annotation.TestApi; import android.graphics.ColorSpace; import android.graphics.ImageFormat; import android.graphics.ImageFormat.Format; import android.hardware.DataSpace.NamedDataSpace; import android.hardware.HardwareBuffer; import android.hardware.HardwareBuffer.Usage; import android.hardware.camera2.CameraCaptureSession; Loading Loading @@ -588,6 +587,8 @@ public final class OutputConfiguration implements Parcelable { mConfiguredFormat = SurfaceUtils.getSurfaceFormat(surface); mConfiguredDataspace = SurfaceUtils.getSurfaceDataspace(surface); mConfiguredGenerationId = surface.getGenerationId(); mPublicFormat = StreamConfigurationMap.internalFormatAndDataspaceToImageFormat( mConfiguredFormat, mConfiguredDataspace); mIsDeferredConfig = false; mIsShared = false; mPhysicalCameraId = null; Loading Loading @@ -834,6 +835,7 @@ public final class OutputConfiguration implements Parcelable { mMirrorModeForSurfaces = new IntArray(); mRotation = ROTATION_0; mConfiguredSize = surfaceSize; mPublicFormat = ImageFormat.PRIVATE; mConfiguredFormat = StreamConfigurationMap.imageFormatToInternal(ImageFormat.PRIVATE); mConfiguredDataspace = StreamConfigurationMap.imageFormatToDataspace(ImageFormat.PRIVATE); mConfiguredGenerationId = 0; Loading Loading @@ -963,6 +965,7 @@ public final class OutputConfiguration implements Parcelable { mConfiguredSize = surfaceSize; mConfiguredFormat = StreamConfigurationMap.imageFormatToInternal(format); mConfiguredDataspace = StreamConfigurationMap.imageFormatToDataspace(format); mPublicFormat = format; mConfiguredGenerationId = 0; mIsDeferredConfig = false; mIsShared = false; Loading Loading @@ -1567,6 +1570,7 @@ public final class OutputConfiguration implements Parcelable { this.mSurfaceType = other.mSurfaceType; this.mConfiguredDataspace = other.mConfiguredDataspace; this.mConfiguredFormat = other.mConfiguredFormat; this.mPublicFormat = other.mPublicFormat; this.mConfiguredSize = other.mConfiguredSize; this.mConfiguredGenerationId = other.mConfiguredGenerationId; this.mIsDeferredConfig = other.mIsDeferredConfig; Loading Loading @@ -1641,6 +1645,8 @@ public final class OutputConfiguration implements Parcelable { } mConfiguredGenerationId = 0; } mPublicFormat = StreamConfigurationMap.internalFormatAndDataspaceToImageFormat( mConfiguredFormat, mConfiguredDataspace); mPhysicalCameraId = physicalCameraId; mIsMultiResolution = isMultiResolutionOutput; mSensorPixelModesUsed = convertIntArrayToIntegerList(sensorPixelModesUsed); Loading Loading @@ -1716,28 +1722,40 @@ public final class OutputConfiguration implements Parcelable { * Get the configured size associated with this {@link OutputConfiguration}. * * @return The configured size associated with this {@link OutputConfiguration}. * * @hide */ public Size getConfiguredSize() { @FlaggedApi(Flags.FLAG_OUTPUT_CONFIGURATION_GETTER) public @NonNull Size getConfiguredSize() { return mConfiguredSize; } /** * Get the configured format associated with this {@link OutputConfiguration}. * * <p>This function handles all ImageFormats and output targets supported by * the camera APIs, and isn't designed for all possible OS supported formats and * surfaces. For example, an ImageReader can be created using any combinations of * HardwareBuffer format and dataspace. If the combination is not supported * by the camera APIs, this function returns ImageFormat.UNKNOWN.</p> * * @return {@link android.graphics.ImageFormat#Format} associated with this * {@link OutputConfiguration}. * * @hide */ @FlaggedApi(Flags.FLAG_OUTPUT_CONFIGURATION_GETTER) public @Format int getConfiguredFormat() { return mConfiguredFormat; // The public facing configured format is the combination of internal // mConfiguredFormat and mConfiguredDataSpace. return mPublicFormat; } /** * Get the usage flag associated with this {@link OutputConfiguration}. * * <p>Return the application specified usage flag if the OutputConfiguration is created * with an Image format.</p> * * <p>If the OutputConfiguration is created using an output surface, or using a class, * this function returns 0.</p> * * @return {@link HardwareBuffer#Usage} associated with this {@link OutputConfiguration}. * * @hide Loading @@ -1746,23 +1764,6 @@ public final class OutputConfiguration implements Parcelable { return mUsage; } /** * Get the surface type associated with this {@link OutputConfiguration}. * * @return The surface type associated with this {@link OutputConfiguration}. * * @see #SURFACE_TYPE_SURFACE_VIEW * @see #SURFACE_TYPE_SURFACE_TEXTURE * @see #SURFACE_TYPE_MEDIA_RECORDER * @see #SURFACE_TYPE_MEDIA_CODEC * @see #SURFACE_TYPE_IMAGE_READER * @see #SURFACE_TYPE_UNKNOWN * @hide */ public int getSurfaceType() { return mSurfaceType; } /** * Get the sensor pixel modes associated with this {@link OutputConfiguration}. * Loading @@ -1785,17 +1786,6 @@ public final class OutputConfiguration implements Parcelable { return mIsShared; } /** * Get the dataspace associated with this {@link OutputConfiguration}. * * @return {@link Dataspace#NamedDataSpace} for this {@link OutputConfiguration}. * * @hide */ public @NamedDataSpace int getConfiguredDataspace() { return mConfiguredDataspace; } /** * Get the flag indicating if this {@link OutputConfiguration} is for a multi-resolution output * with a MultiResolutionImageReader. Loading Loading @@ -2019,6 +2009,8 @@ public final class OutputConfiguration implements Parcelable { private final Size mConfiguredSize; private final int mConfiguredFormat; private final int mConfiguredDataspace; // The public facing format, a combination of mConfiguredFormat and mConfiguredDataspace private final int mPublicFormat; // Surface generation ID to distinguish changes to Surface native internals private final int mConfiguredGenerationId; // Flag indicating if this config has deferred surface. Loading
core/java/android/hardware/camera2/params/StreamConfigurationMap.java +104 −2 Original line number Diff line number Diff line Loading @@ -1620,6 +1620,98 @@ public final class StreamConfigurationMap { } } /** * Convert an internal format and an internal dataspace from {@code graphics.h} * to a public format defined in {@code ImageFormat}. * * <p>In particular below conversion is done:</p> * * HAL_DATASPACE_DEPTH ==> * HAL_PIXEL_FORMAT_BLOB ==> ImageFormat.DEPTH_POINT_CLOUD * HAL_PIXEL_FORMAT_Y16 ==> ImageFormat.DEPTH16 * HAL_PIXEL_FORMAT_RAW16 ==> ImageFormat.RAW_DEPTH * HAL_PIXEL_FORMAT_RAW10 ==> ImageFormat.RAW_DEPTH10 * * HAL_PIXEL_FORMAT_BLOB ==> * HAL_DATASPACE_DYNAMIC_DEPTH ==> ImageFormat.DEPTH_JPEG * HAL_DATASPACE_HEIF ==> ImageFormat.HEIC * HAL_DATASPACE_JPEG_R ==> ImageFormat.JPEG_R * DATASPACE_HEIF_ULTRAHDR ==> ImageFormat.HEIC_ULTRAHDR * HAL_DATASPACE_V0_JFIF ==> ImageFormat.JPEG * * HAL_PIXEL_FORMAT_RGBA_8888 ===> PixelFormat.RGBA_8888 * HAL_PIXEL_FORMAT_RGBX_8888 ===> PixelFormat.RGBX_8888 * HAL_PIXEL_FORMAT_RGB_888 ===> PixelFormat.RGB_888 * HAL_PIXEL_FORMAT_RGB_565 ==> PixelFormat.RGB_565 * HAL_PIXEL_FORMAT_YCBCR_422_SP ==> ImageFormat.NV16 * HAL_PIXEL_FORMAT_YCRCB_420_SP ===> ImageFormat.NV21 * HAL_PIXEL_FORMAT_YCBCR_422_I ===> ImageFormat.YUY2 * HAL_PIXEL_FORMAT_RAW16 ==> ImageFormat.RAW_SENSOR * HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED ==> ImageFormat.PRIVATE * HAL_PIXEL_FORMAT_YCBCR_420_888 ==> ImageFormat.YUV_420_888 * HAL_PIXEL_FORMAT_RAW_OPAQUE ==> ImageFormat.RAW_PRIVATE * HAL_PIXEL_FORMAT_RAW10 ==> ImageFormat.RAW10 * HAL_PIXEL_FORMAT_RAW12 ==> ImageFormat.RAW12 * HAL_PIXEL_FORMAT_YCBCR_P010 ==> ImageFormat.YCBCR_P010 * HAL_PIXEL_FORMAT_YCBCR_P210 ==> ImageFormat.YCBCR_P210 * HAL_PIXEL_FORMAT_Y8 ===> ImageFormat.Y8 * HAL_PIXEL_FORMAT_Y16 ===> ImageFormat.Y16 * HAL_PIXEL_FORMAT_FORMAT_YV12 ==> ImageFormat.YV12 * * @hide */ static int internalFormatAndDataspaceToImageFormat(int internalFormat, int dataSpace) { // Convert all depth formats if (dataSpace == HAL_DATASPACE_DEPTH) { return depthFormatToPublic(internalFormat); } // Convert all blob formats if (internalFormat == HAL_PIXEL_FORMAT_BLOB) { if (Flags.cameraHeifGainmap()) { if (dataSpace == DataSpace.DATASPACE_HEIF_ULTRAHDR) { return ImageFormat.HEIC_ULTRAHDR; } } switch (dataSpace) { case HAL_DATASPACE_DYNAMIC_DEPTH: return ImageFormat.DEPTH_JPEG; case HAL_DATASPACE_HEIF: return ImageFormat.HEIC; case HAL_DATASPACE_JPEG_R: return ImageFormat.JPEG_R; case HAL_DATASPACE_V0_JFIF: default: return ImageFormat.JPEG; } } // Remaining recognized formats that are equal between public and internal. switch (internalFormat) { case HAL_PIXEL_FORMAT_RGBA_8888: case HAL_PIXEL_FORMAT_RGBX_8888: case HAL_PIXEL_FORMAT_RGB_888: case HAL_PIXEL_FORMAT_RGB_565: case HAL_PIXEL_FORMAT_YCBCR_422_SP: case HAL_PIXEL_FORMAT_YCRCB_420_SP: case HAL_PIXEL_FORMAT_RAW16: case HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED: case HAL_PIXEL_FORMAT_YCBCR_420_888: case HAL_PIXEL_FORMAT_RAW_OPAQUE: case HAL_PIXEL_FORMAT_RAW10: case HAL_PIXEL_FORMAT_RAW12: case HAL_PIXEL_FORMAT_YCBCR_P010: case HAL_PIXEL_FORMAT_YCBCR_P210: case HAL_PIXEL_FORMAT_Y8: case HAL_PIXEL_FORMAT_Y16: case HAL_PIXEL_FORMAT_YV12: return internalFormat; default: return ImageFormat.UNKNOWN; } } /** * Convert image formats from public to internal formats (in-place). * Loading Loading @@ -2130,16 +2222,26 @@ public final class StreamConfigurationMap { } // from system/core/include/system/graphics.h private static final int HAL_PIXEL_FORMAT_RGBA_8888 = 0x01; private static final int HAL_PIXEL_FORMAT_RGBX_8888 = 0x02; private static final int HAL_PIXEL_FORMAT_RGB_888 = 0x03; private static final int HAL_PIXEL_FORMAT_RGB_565 = 0x04; private static final int HAL_PIXEL_FORMAT_YCBCR_422_SP = 0x10; private static final int HAL_PIXEL_FORMAT_YCRCB_420_SP = 0x11; private static final int HAL_PIXEL_FORMAT_YCBCR_422_I = 0x14; private static final int HAL_PIXEL_FORMAT_RAW16 = 0x20; /** @hide */ public static final int HAL_PIXEL_FORMAT_BLOB = 0x21; private static final int HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED = 0x22; private static final int HAL_PIXEL_FORMAT_YCbCr_420_888 = 0x23; private static final int HAL_PIXEL_FORMAT_YCBCR_420_888 = 0x23; private static final int HAL_PIXEL_FORMAT_RAW_OPAQUE = 0x24; private static final int HAL_PIXEL_FORMAT_RAW10 = 0x25; private static final int HAL_PIXEL_FORMAT_RAW12 = 0x26; private static final int HAL_PIXEL_FORMAT_YCBCR_P010 = 0x36; private static final int HAL_PIXEL_FORMAT_YCBCR_P210 = 0x3c; private static final int HAL_PIXEL_FORMAT_Y8 = 0x20203859; private static final int HAL_PIXEL_FORMAT_Y16 = 0x20363159; private static final int HAL_PIXEL_FORMAT_YV12 = 0x32315659; private static final int HAL_DATASPACE_STANDARD_SHIFT = 16; private static final int HAL_DATASPACE_TRANSFER_SHIFT = 22; Loading