Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86ea32a6 authored by Eino-Ville Talvala's avatar Eino-Ville Talvala
Browse files

Camera: Add HIGH_RESOLUTION hardware level.

For camera devices that support very high resolutions, add
a level that allows for those resolutions to operate at lower
capture rates, while ensuring that a reasonable resolution is
still available for high-rate capture.

Change-Id: I4a0d904504ac8a976bd02fba89b238048d55a268
parent 3f2631f5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13398,6 +13398,7 @@ package android.hardware.camera2 {
    field public static final int HOT_PIXEL_MODE_HIGH_QUALITY = 2; // 0x2
    field public static final int HOT_PIXEL_MODE_OFF = 0; // 0x0
    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1; // 0x1
    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_HIGH_RESOLUTION = 3; // 0x3
    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY = 2; // 0x2
    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0; // 0x0
    field public static final int LENS_FACING_BACK = 1; // 0x1
+1 −0
Original line number Diff line number Diff line
@@ -13694,6 +13694,7 @@ package android.hardware.camera2 {
    field public static final int HOT_PIXEL_MODE_HIGH_QUALITY = 2; // 0x2
    field public static final int HOT_PIXEL_MODE_OFF = 0; // 0x0
    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1; // 0x1
    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_HIGH_RESOLUTION = 3; // 0x3
    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY = 2; // 0x2
    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0; // 0x0
    field public static final int LENS_FACING_BACK = 1; // 0x1
+13 −0
Original line number Diff line number Diff line
@@ -2542,11 +2542,23 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
     * post-processing, arbitrary cropping regions, and has relaxed performance constraints.</p>
     * <p>Each higher level supports everything the lower level supports
     * in this order: FULL <code>&gt;</code> LIMITED <code>&gt;</code> LEGACY.</p>
     * <p>A HIGH_RESOLUTION device is equivalent to a FULL device, except that:</p>
     * <ul>
     * <li>At least one output resolution of 8 megapixels or higher in uncompressed YUV is
     *   supported at <code>&gt;=</code> 20 fps.</li>
     * <li>Maximum-size (sensor resolution) uncompressed YUV is supported  at <code>&gt;=</code> 10
     *   fps.</li>
     * <li>For devices that list the RAW capability and support either RAW10 or RAW12 output,
     *   maximum-resolution RAW10 or RAW12 capture will operate at least at the rate of
     *   maximum-resolution YUV capture, and at least one supported output resolution of
     *   8 megapixels or higher in RAW10 or RAW12 is supported <code>&gt;=</code> 20 fps.</li>
     * </ul>
     * <p><b>Possible values:</b>
     * <ul>
     *   <li>{@link #INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED LIMITED}</li>
     *   <li>{@link #INFO_SUPPORTED_HARDWARE_LEVEL_FULL FULL}</li>
     *   <li>{@link #INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY LEGACY}</li>
     *   <li>{@link #INFO_SUPPORTED_HARDWARE_LEVEL_HIGH_RESOLUTION HIGH_RESOLUTION}</li>
     * </ul></p>
     * <p>This key is available on all devices.</p>
     *
@@ -2564,6 +2576,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
     * @see #INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED
     * @see #INFO_SUPPORTED_HARDWARE_LEVEL_FULL
     * @see #INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
     * @see #INFO_SUPPORTED_HARDWARE_LEVEL_HIGH_RESOLUTION
     */
    @PublicKey
    public static final Key<Integer> INFO_SUPPORTED_HARDWARE_LEVEL =
+12 −0
Original line number Diff line number Diff line
@@ -545,6 +545,11 @@ public abstract class CameraMetadata<TKey> {
     * {@link CameraCharacteristics#CONTROL_AWB_LOCK_AVAILABLE android.control.awbLockAvailable} are also guaranteed
     * to be <code>true</code> so burst capture with these two locks ON
     * yields consistent image output.</p>
     * <p>On a camera device that reports the HIGH_RESOLUTION hardware
     * level, meaning the device supports very large capture sizes,
     * BURST_CAPTURE means that at least 8-megapixel images can be
     * captured at <code>&gt;=</code> 20 fps, and maximum-resolution images can be
     * captured at <code>&gt;=</code> 10 fps.</p>
     *
     * @see CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
     * @see CameraCharacteristics#CONTROL_AE_LOCK_AVAILABLE
@@ -808,6 +813,13 @@ public abstract class CameraMetadata<TKey> {
     */
    public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY = 2;

    /**
     * <p>This camera device is capable of supporting advanced imaging applications at full rate,
     * and additional high-resolution outputs at lower rates.</p>
     * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
     */
    public static final int INFO_SUPPORTED_HARDWARE_LEVEL_HIGH_RESOLUTION = 3;

    //
    // Enumeration values for CameraCharacteristics#SYNC_MAX_LATENCY
    //