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

Commit 062c22ba authored by Shuzhen Wang's avatar Shuzhen Wang
Browse files

Camera: Relax BURST_CAPTURE FPS requirements

Allow resolutions larger than 24 megapixels to have fps lower than
10fps.

Test: Build
Bug: 129693371
Change-Id: Ie0403d80bf4c441e268d266eb30dacc2ea8184b9
parent 39d59de1
Loading
Loading
Loading
Loading
+8 −7
Original line number Original line Diff line number Diff line
@@ -609,16 +609,17 @@ public abstract class CameraMetadata<TKey> {


    /**
    /**
     * <p>The camera device supports capturing high-resolution images at &gt;= 20 frames per
     * <p>The camera device supports capturing high-resolution images at &gt;= 20 frames per
     * second, in at least the uncompressed YUV format, when post-processing settings are set
     * second, in at least the uncompressed YUV format, when post-processing settings are
     * to FAST. Additionally, maximum-resolution images can be captured at &gt;= 10 frames
     * set to FAST. Additionally, all image resolutions less than 24 megapixels can be
     * per second.  Here, 'high resolution' means at least 8 megapixels, or the maximum
     * captured at &gt;= 10 frames per second. Here, 'high resolution' means at least 8
     * resolution of the device, whichever is smaller.</p>
     * megapixels, or the maximum resolution of the device, whichever is smaller.</p>
     * <p>More specifically, this means that a size matching the camera device's active array
     * <p>More specifically, this means that a size matching the camera device's active array
     * size is listed as a supported size for the {@link android.graphics.ImageFormat#YUV_420_888 } format in either {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes } or {@link android.hardware.camera2.params.StreamConfigurationMap#getHighResolutionOutputSizes },
     * size is listed as a supported size for the {@link android.graphics.ImageFormat#YUV_420_888 } format in either {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes } or {@link android.hardware.camera2.params.StreamConfigurationMap#getHighResolutionOutputSizes },
     * with a minimum frame duration for that format and size of either &lt;= 1/20 s, or
     * with a minimum frame duration for that format and size of either &lt;= 1/20 s, or
     * &lt;= 1/10 s, respectively; and the {@link CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES android.control.aeAvailableTargetFpsRanges} entry
     * &lt;= 1/10 s if the image size is less than 24 megapixels, respectively; and
     * lists at least one FPS range where the minimum FPS is &gt;= 1 / minimumFrameDuration
     * the {@link CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES android.control.aeAvailableTargetFpsRanges} entry lists at least one FPS range
     * for the maximum-size YUV_420_888 format.  If that maximum size is listed in {@link android.hardware.camera2.params.StreamConfigurationMap#getHighResolutionOutputSizes },
     * where the minimum FPS is &gt;= 1 / minimumFrameDuration for the maximum-size
     * YUV_420_888 format.  If that maximum size is listed in {@link android.hardware.camera2.params.StreamConfigurationMap#getHighResolutionOutputSizes },
     * then the list of resolutions for YUV_420_888 from {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes } contains at
     * then the list of resolutions for YUV_420_888 from {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes } contains at
     * least one resolution &gt;= 8 megapixels, with a minimum frame duration of &lt;= 1/20
     * least one resolution &gt;= 8 megapixels, with a minimum frame duration of &lt;= 1/20
     * s.</p>
     * s.</p>
+4 −2
Original line number Original line Diff line number Diff line
@@ -838,8 +838,10 @@ public final class StreamConfigurationMap {
     * {@link android.hardware.camera2.CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE BURST_CAPTURE}
     * {@link android.hardware.camera2.CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE BURST_CAPTURE}
     * capability.  This does not include the stall duration, so for example, a JPEG or RAW16 output
     * capability.  This does not include the stall duration, so for example, a JPEG or RAW16 output
     * resolution with a large stall duration but a minimum frame duration that's above 20 fps will
     * resolution with a large stall duration but a minimum frame duration that's above 20 fps will
     * still be listed in the regular {@link #getOutputSizes} list. All the sizes on this list are
     * still be listed in the regular {@link #getOutputSizes} list. All the sizes on this list that
     * still guaranteed to operate at a rate of at least 10 fps, not including stall duration.</p>
     * are less than 24 megapixels are still guaranteed to operate at a rate of at least 10 fps,
     * not including stall duration. Sizes on this list that are at least 24 megapixels are allowed
     * to operate at less than 10 fps.</p>
     *
     *
     * <p>For a device that does not support the BURST_CAPTURE capability, this list will be
     * <p>For a device that does not support the BURST_CAPTURE capability, this list will be
     * {@code null}, since resolutions in the {@link #getOutputSizes} list are already not
     * {@code null}, since resolutions in the {@link #getOutputSizes} list are already not