diff options
| author | android-build-team Robot <android-build-team-robot@google.com> | 2019-04-02 21:23:14 +0000 |
|---|---|---|
| committer | android-build-team Robot <android-build-team-robot@google.com> | 2019-04-02 21:23:14 +0000 |
| commit | 1517310f064cae39585bd186191b2a82abd2bbb3 (patch) | |
| tree | 4daf241d6e44fcb440ea44fe7a1828f7c2f61c26 /core/java | |
| parent | fcb37a8eeb2d245391308784649c5c20710f4fd9 (diff) | |
| parent | 5b09928b2273cff78f64673e0ac8459ffe0f16bc (diff) | |
Snap for 5429421 from 5b09928b2273cff78f64673e0ac8459ffe0f16bc to pi-qpr3-b-release
Change-Id: Ic9ed396560160ed0b138366172059f24aefec12b
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/hardware/Camera.java | 35 | ||||
| -rw-r--r-- | core/java/android/hardware/camera2/CameraCharacteristics.java | 14 | ||||
| -rw-r--r-- | core/java/android/hardware/camera2/CameraDevice.java | 8 |
3 files changed, 55 insertions, 2 deletions
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java index 9350aab799a9..2f8463629fe2 100644 --- a/core/java/android/hardware/Camera.java +++ b/core/java/android/hardware/Camera.java @@ -807,7 +807,10 @@ public class Camera { * * @throws RuntimeException if starting preview fails; usually this would be * because of a hardware or other low-level error, or because release() - * has been called on this Camera instance. + * has been called on this Camera instance. The QCIF (176x144) exception + * mentioned in {@link Parameters#setPreviewSize setPreviewSize} and + * {@link Parameters#setPictureSize setPictureSize} can also cause this + * exception be thrown. */ public native final void startPreview(); @@ -2848,6 +2851,16 @@ public class Camera { * orientation should also be considered while setting picture size and * thumbnail size. * + * Exception on 176x144 (QCIF) resolution: + * Camera devices usually have a fixed capability for downscaling from + * larger resolution to smaller, and the QCIF resolution sometimes + * is not fully supported due to this limitation on devices with + * high-resolution image sensors. Therefore, trying to configure a QCIF + * preview size with any picture or video size larger than 1920x1080 + * (either width or height) might not be supported, and + * {@link #setParameters(Camera.Parameters)} might throw a + * RuntimeException if it is not. + * * @param width the width of the pictures, in pixels * @param height the height of the pictures, in pixels * @see #setDisplayOrientation(int) @@ -2893,6 +2906,16 @@ public class Camera { * preview can be different from the resolution of the recorded video * during video recording.</p> * + * <p>Exception on 176x144 (QCIF) resolution: + * Camera devices usually have a fixed capability for downscaling from + * larger resolution to smaller, and the QCIF resolution sometimes + * is not fully supported due to this limitation on devices with + * high-resolution image sensors. Therefore, trying to configure a QCIF + * video resolution with any preview or picture size larger than + * 1920x1080 (either width or height) might not be supported, and + * {@link #setParameters(Camera.Parameters)} will throw a + * RuntimeException if it is not.</p> + * * @return a list of Size object if camera has separate preview and * video output; otherwise, null is returned. * @see #getPreferredPreviewSizeForVideo() @@ -3187,6 +3210,16 @@ public class Camera { * <p>Applications need to consider the display orientation. See {@link * #setPreviewSize(int,int)} for reference.</p> * + * <p>Exception on 176x144 (QCIF) resolution: + * Camera devices usually have a fixed capability for downscaling from + * larger resolution to smaller, and the QCIF resolution sometimes + * is not fully supported due to this limitation on devices with + * high-resolution image sensors. Therefore, trying to configure a QCIF + * picture size with any preview or video size larger than 1920x1080 + * (either width or height) might not be supported, and + * {@link #setParameters(Camera.Parameters)} might throw a + * RuntimeException if it is not.</p> + * * @param width the width for pictures, in pixels * @param height the height for pictures, in pixels * @see #setPreviewSize(int,int) diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java index e33060bb9250..9bf619900e19 100644 --- a/core/java/android/hardware/camera2/CameraCharacteristics.java +++ b/core/java/android/hardware/camera2/CameraCharacteristics.java @@ -2130,6 +2130,12 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * </table> * <p>Refer to {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} for additional * mandatory stream configurations on a per-capability basis.</p> + * <p>Exception on 176x144 (QCIF) resolution: camera devices usually have a fixed capability for + * downscaling from larger resolution to smaller, and the QCIF resolution sometimes is not + * fully supported due to this limitation on devices with high-resolution image sensors. + * Therefore, trying to configure a QCIF resolution stream together with any other + * stream larger than 1920x1080 resolution (either width or height) might not be supported, + * and capture session creation will fail if it is not.</p> * <p>This key is available on all devices.</p> * * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL @@ -2325,6 +2331,12 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * ratio 4:3, and the JPEG encoder alignment requirement is 16, the maximum JPEG size will be * 3264x2448.</li> * </ul> + * <p>Exception on 176x144 (QCIF) resolution: camera devices usually have a fixed capability on + * downscaling from larger resolution to smaller ones, and the QCIF resolution can sometimes + * not be fully supported due to this limitation on devices with high-resolution image + * sensors. Therefore, trying to configure a QCIF resolution stream together with any other + * stream larger than 1920x1080 resolution (either width or height) might not be supported, + * and capture session creation will fail if it is not.</p> * <p>This key is available on all devices.</p> * * @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL @@ -3182,7 +3194,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <li><code>LEVEL_3</code> devices additionally support YUV reprocessing and RAW image capture, along * with additional output stream configurations.</li> * <li><code>EXTERNAL</code> devices are similar to <code>LIMITED</code> devices with exceptions like some sensor or - * lens information not reorted or less stable framerates.</li> + * lens information not reported or less stable framerates.</li> * </ul> * <p>See the individual level enums for full descriptions of the supported capabilities. The * {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} entry describes the device's capabilities at a diff --git a/core/java/android/hardware/camera2/CameraDevice.java b/core/java/android/hardware/camera2/CameraDevice.java index ce88697fa8db..04e9246b994e 100644 --- a/core/java/android/hardware/camera2/CameraDevice.java +++ b/core/java/android/hardware/camera2/CameraDevice.java @@ -433,6 +433,14 @@ public abstract class CameraDevice implements AutoCloseable { * target combinations with sizes outside of these guarantees, but this can only be tested for * by attempting to create a session with such targets.</p> * + * <p>Exception on 176x144 (QCIF) resolution: + * Camera devices usually have a fixed capability for downscaling from larger resolution to + * smaller, and the QCIF resolution sometimes is not fully supported due to this + * limitation on devices with high-resolution image sensors. Therefore, trying to configure a + * QCIF resolution stream together with any other stream larger than 1920x1080 resolution + * (either width or height) might not be supported, and capture session creation will fail if it + * is not.</p> + * * @param outputs The new set of Surfaces that should be made available as * targets for captured image data. * @param callback The callback to notify about the status of the new capture session. |
