Loading core/java/android/hardware/camera2/CameraCharacteristics.java +145 −145 Original line number Diff line number Diff line Loading @@ -2609,31 +2609,31 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <table> * <thead> * <tr> * <th align="left">Input Format</th> * <th align="left">Output Format</th> * <th align="left">Capability</th> * <th style="text-align: left;">Input Format</th> * <th style="text-align: left;">Output Format</th> * <th style="text-align: left;">Capability</th> * </tr> * </thead> * <tbody> * <tr> * <td align="left">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td align="left">{@link android.graphics.ImageFormat#JPEG }</td> * <td align="left">PRIVATE_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#JPEG }</td> * <td style="text-align: left;">PRIVATE_REPROCESSING</td> * </tr> * <tr> * <td align="left">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td align="left">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="left">PRIVATE_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: left;">PRIVATE_REPROCESSING</td> * </tr> * <tr> * <td align="left">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="left">{@link android.graphics.ImageFormat#JPEG }</td> * <td align="left">YUV_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#JPEG }</td> * <td style="text-align: left;">YUV_REPROCESSING</td> * </tr> * <tr> * <td align="left">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="left">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="left">YUV_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: left;">YUV_REPROCESSING</td> * </tr> * </tbody> * </table> Loading @@ -2650,26 +2650,26 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <table> * <thead> * <tr> * <th align="left">Input Format</th> * <th align="left">Output Format</th> * <th align="left">Capability</th> * <th style="text-align: left;">Input Format</th> * <th style="text-align: left;">Output Format</th> * <th style="text-align: left;">Capability</th> * </tr> * </thead> * <tbody> * <tr> * <td align="left">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td align="left">{@link android.graphics.ImageFormat#Y8 }</td> * <td align="left">PRIVATE_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#Y8 }</td> * <td style="text-align: left;">PRIVATE_REPROCESSING</td> * </tr> * <tr> * <td align="left">{@link android.graphics.ImageFormat#Y8 }</td> * <td align="left">{@link android.graphics.ImageFormat#JPEG }</td> * <td align="left">YUV_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#Y8 }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#JPEG }</td> * <td style="text-align: left;">YUV_REPROCESSING</td> * </tr> * <tr> * <td align="left">{@link android.graphics.ImageFormat#Y8 }</td> * <td align="left">{@link android.graphics.ImageFormat#Y8 }</td> * <td align="left">YUV_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#Y8 }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#Y8 }</td> * <td style="text-align: left;">YUV_REPROCESSING</td> * </tr> * </tbody> * </table> Loading Loading @@ -2705,60 +2705,60 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <table> * <thead> * <tr> * <th align="center">Format</th> * <th align="center">Size</th> * <th align="center">Hardware Level</th> * <th align="center">Notes</th> * <th style="text-align: center;">Format</th> * <th style="text-align: center;">Size</th> * <th style="text-align: center;">Hardware Level</th> * <th style="text-align: center;">Notes</th> * </tr> * </thead> * <tbody> * <tr> * <td align="center">JPEG</td> * <td align="center">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">JPEG</td> * <td align="center">1920x1080 (1080p)</td> * <td align="center">Any</td> * <td align="center">if 1080p <= activeArraySize</td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">1920x1080 (1080p)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 1080p <= activeArraySize</td> * </tr> * <tr> * <td align="center">JPEG</td> * <td align="center">1280x720 (720)</td> * <td align="center">Any</td> * <td align="center">if 720p <= activeArraySize</td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">1280x720 (720)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 720p <= activeArraySize</td> * </tr> * <tr> * <td align="center">JPEG</td> * <td align="center">640x480 (480p)</td> * <td align="center">Any</td> * <td align="center">if 480p <= activeArraySize</td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">640x480 (480p)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 480p <= activeArraySize</td> * </tr> * <tr> * <td align="center">JPEG</td> * <td align="center">320x240 (240p)</td> * <td align="center">Any</td> * <td align="center">if 240p <= activeArraySize</td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">320x240 (240p)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 240p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">all output sizes available for JPEG</td> * <td align="center">FULL</td> * <td align="center"></td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">all output sizes available for JPEG</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">all output sizes available for JPEG, up to the maximum video size</td> * <td align="center">LIMITED</td> * <td align="center"></td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">all output sizes available for JPEG, up to the maximum video size</td> * <td style="text-align: center;">LIMITED</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">IMPLEMENTATION_DEFINED</td> * <td align="center">same as YUV_420_888</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">IMPLEMENTATION_DEFINED</td> * <td style="text-align: center;">same as YUV_420_888</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * </tbody> * </table> Loading @@ -2773,66 +2773,66 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <table> * <thead> * <tr> * <th align="center">Format</th> * <th align="center">Size</th> * <th align="center">Hardware Level</th> * <th align="center">Notes</th> * <th style="text-align: center;">Format</th> * <th style="text-align: center;">Size</th> * <th style="text-align: center;">Hardware Level</th> * <th style="text-align: center;">Notes</th> * </tr> * </thead> * <tbody> * <tr> * <td align="center">JPEG</td> * <td align="center">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">JPEG</td> * <td align="center">1920x1080 (1080p)</td> * <td align="center">Any</td> * <td align="center">if 1080p <= activeArraySize</td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">1920x1080 (1080p)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 1080p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td align="center">FULL</td> * <td align="center"></td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">1920x1080 (1080p)</td> * <td align="center">FULL</td> * <td align="center">if 1080p <= activeArraySize</td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">1920x1080 (1080p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 1080p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">1280x720 (720)</td> * <td align="center">FULL</td> * <td align="center">if 720p <= activeArraySize</td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">1280x720 (720)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 720p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">640x480 (480p)</td> * <td align="center">FULL</td> * <td align="center">if 480p <= activeArraySize</td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">640x480 (480p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 480p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">320x240 (240p)</td> * <td align="center">FULL</td> * <td align="center">if 240p <= activeArraySize</td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">320x240 (240p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 240p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">all output sizes available for FULL hardware level, up to the maximum video size</td> * <td align="center">LIMITED</td> * <td align="center"></td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">all output sizes available for FULL hardware level, up to the maximum video size</td> * <td style="text-align: center;">LIMITED</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">IMPLEMENTATION_DEFINED</td> * <td align="center">same as YUV_420_888</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">IMPLEMENTATION_DEFINED</td> * <td style="text-align: center;">same as YUV_420_888</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * </tbody> * </table> Loading Loading @@ -2987,66 +2987,66 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <table> * <thead> * <tr> * <th align="center">Format</th> * <th align="center">Size</th> * <th align="center">Hardware Level</th> * <th align="center">Notes</th> * <th style="text-align: center;">Format</th> * <th style="text-align: center;">Size</th> * <th style="text-align: center;">Hardware Level</th> * <th style="text-align: center;">Notes</th> * </tr> * </thead> * <tbody> * <tr> * <td align="center">{@link android.graphics.ImageFormat#JPEG }</td> * <td align="center">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} (*1)</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#JPEG }</td> * <td style="text-align: center;">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} (*1)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#JPEG }</td> * <td align="center">1920x1080 (1080p)</td> * <td align="center">Any</td> * <td align="center">if 1080p <= activeArraySize</td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#JPEG }</td> * <td style="text-align: center;">1920x1080 (1080p)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 1080p <= activeArraySize</td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td align="center">FULL</td> * <td align="center"></td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">1920x1080 (1080p)</td> * <td align="center">FULL</td> * <td align="center">if 1080p <= activeArraySize</td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">1920x1080 (1080p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 1080p <= activeArraySize</td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">1280x720 (720)</td> * <td align="center">FULL</td> * <td align="center">if 720p <= activeArraySize</td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">1280x720 (720)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 720p <= activeArraySize</td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">640x480 (480p)</td> * <td align="center">FULL</td> * <td align="center">if 480p <= activeArraySize</td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">640x480 (480p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 480p <= activeArraySize</td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">320x240 (240p)</td> * <td align="center">FULL</td> * <td align="center">if 240p <= activeArraySize</td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">320x240 (240p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 240p <= activeArraySize</td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">all output sizes available for FULL hardware level, up to the maximum video size</td> * <td align="center">LIMITED</td> * <td align="center"></td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">all output sizes available for FULL hardware level, up to the maximum video size</td> * <td style="text-align: center;">LIMITED</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td align="center">same as YUV_420_888</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td style="text-align: center;">same as YUV_420_888</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * </tbody> * </table> Loading Loading @@ -3492,8 +3492,8 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri /** * <p>An array of mandatory stream combinations which are applicable when device lists * {@code PREVIEW_STABILIZATION} in {@link CameraCharacteristics#CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES android.control.availableVideoStabilizationModes}. * This is an app-readable conversion of the preview stabilization mandatory stream combination * {@link android.hardware.camera2.CameraDevice#createCaptureSession tables}.</p> * This is an app-readable conversion of the preview stabilization mandatory stream * combination {@link android.hardware.camera2.CameraDevice#createCaptureSession tables}.</p> * <p>The array of * {@link android.hardware.camera2.params.MandatoryStreamCombination combinations} is * generated according to the documented Loading core/java/android/hardware/camera2/CameraMetadata.java +18 −17 Original line number Diff line number Diff line Loading @@ -1000,24 +1000,25 @@ public abstract class CameraMetadata<TKey> { * camera's crop region is set to maximum size, the FOV of the physical streams for the * ultrawide lens will be the same as the logical stream, by making the crop region * smaller than its active array size to compensate for the smaller focal length.</p> * <p>There are two ways for the application to capture RAW images from a logical camera * with RAW capability:</p> * <p>For a logical camera, typically the underlying physical cameras have different RAW * capabilities (such as resolution or CFA pattern). There are two ways for the * application to capture RAW images from the logical camera:</p> * <ul> * <li>Because the underlying physical cameras may have different RAW capabilities (such * as resolution or CFA pattern), to maintain backward compatibility, when a RAW stream * is configured, the camera device makes sure the default active physical camera remains * active and does not switch to other physical cameras. (One exception is that, if the * logical camera consists of identical image sensors and advertises multiple focalLength * due to different lenses, the camera device may generate RAW images from different * physical cameras based on the focalLength being set by the application.) This * backward-compatible approach usually results in loss of optical zoom, to telephoto * lens or to ultrawide lens.</li> * <li>Alternatively, to take advantage of the full zoomRatio range of the logical camera, * the application should use {@link android.hardware.camera2.MultiResolutionImageReader } * to capture RAW images from the currently active physical camera. Because different * physical camera may have different RAW characteristics, the application needs to use * the characteristics and result metadata of the active physical camera for the * relevant RAW metadata.</li> * <li>If the logical camera has RAW capability, the application can create and use RAW * streams in the same way as before. In case a RAW stream is configured, to maintain * backward compatibility, the camera device makes sure the default active physical * camera remains active and does not switch to other physical cameras. (One exception * is that, if the logical camera consists of identical image sensors and advertises * multiple focalLength due to different lenses, the camera device may generate RAW * images from different physical cameras based on the focalLength being set by the * application.) This backward-compatible approach usually results in loss of optical * zoom, to telephoto lens or to ultrawide lens.</li> * <li>Alternatively, if supported by the device, * {@link android.hardware.camera2.MultiResolutionImageReader } * can be used to capture RAW images from one of the underlying physical cameras ( * depending on current zoom level). Because different physical cameras may have * different RAW characteristics, the application needs to use the characteristics * and result metadata of the active physical camera for the relevant RAW metadata.</li> * </ul> * <p>The capture request and result metadata tags required for backward compatible camera * functionalities will be solely based on the logical camera capability. On the other Loading core/java/android/hardware/camera2/CaptureResult.java +380 −380 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
core/java/android/hardware/camera2/CameraCharacteristics.java +145 −145 Original line number Diff line number Diff line Loading @@ -2609,31 +2609,31 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <table> * <thead> * <tr> * <th align="left">Input Format</th> * <th align="left">Output Format</th> * <th align="left">Capability</th> * <th style="text-align: left;">Input Format</th> * <th style="text-align: left;">Output Format</th> * <th style="text-align: left;">Capability</th> * </tr> * </thead> * <tbody> * <tr> * <td align="left">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td align="left">{@link android.graphics.ImageFormat#JPEG }</td> * <td align="left">PRIVATE_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#JPEG }</td> * <td style="text-align: left;">PRIVATE_REPROCESSING</td> * </tr> * <tr> * <td align="left">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td align="left">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="left">PRIVATE_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: left;">PRIVATE_REPROCESSING</td> * </tr> * <tr> * <td align="left">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="left">{@link android.graphics.ImageFormat#JPEG }</td> * <td align="left">YUV_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#JPEG }</td> * <td style="text-align: left;">YUV_REPROCESSING</td> * </tr> * <tr> * <td align="left">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="left">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="left">YUV_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: left;">YUV_REPROCESSING</td> * </tr> * </tbody> * </table> Loading @@ -2650,26 +2650,26 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <table> * <thead> * <tr> * <th align="left">Input Format</th> * <th align="left">Output Format</th> * <th align="left">Capability</th> * <th style="text-align: left;">Input Format</th> * <th style="text-align: left;">Output Format</th> * <th style="text-align: left;">Capability</th> * </tr> * </thead> * <tbody> * <tr> * <td align="left">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td align="left">{@link android.graphics.ImageFormat#Y8 }</td> * <td align="left">PRIVATE_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#Y8 }</td> * <td style="text-align: left;">PRIVATE_REPROCESSING</td> * </tr> * <tr> * <td align="left">{@link android.graphics.ImageFormat#Y8 }</td> * <td align="left">{@link android.graphics.ImageFormat#JPEG }</td> * <td align="left">YUV_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#Y8 }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#JPEG }</td> * <td style="text-align: left;">YUV_REPROCESSING</td> * </tr> * <tr> * <td align="left">{@link android.graphics.ImageFormat#Y8 }</td> * <td align="left">{@link android.graphics.ImageFormat#Y8 }</td> * <td align="left">YUV_REPROCESSING</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#Y8 }</td> * <td style="text-align: left;">{@link android.graphics.ImageFormat#Y8 }</td> * <td style="text-align: left;">YUV_REPROCESSING</td> * </tr> * </tbody> * </table> Loading Loading @@ -2705,60 +2705,60 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <table> * <thead> * <tr> * <th align="center">Format</th> * <th align="center">Size</th> * <th align="center">Hardware Level</th> * <th align="center">Notes</th> * <th style="text-align: center;">Format</th> * <th style="text-align: center;">Size</th> * <th style="text-align: center;">Hardware Level</th> * <th style="text-align: center;">Notes</th> * </tr> * </thead> * <tbody> * <tr> * <td align="center">JPEG</td> * <td align="center">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">JPEG</td> * <td align="center">1920x1080 (1080p)</td> * <td align="center">Any</td> * <td align="center">if 1080p <= activeArraySize</td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">1920x1080 (1080p)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 1080p <= activeArraySize</td> * </tr> * <tr> * <td align="center">JPEG</td> * <td align="center">1280x720 (720)</td> * <td align="center">Any</td> * <td align="center">if 720p <= activeArraySize</td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">1280x720 (720)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 720p <= activeArraySize</td> * </tr> * <tr> * <td align="center">JPEG</td> * <td align="center">640x480 (480p)</td> * <td align="center">Any</td> * <td align="center">if 480p <= activeArraySize</td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">640x480 (480p)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 480p <= activeArraySize</td> * </tr> * <tr> * <td align="center">JPEG</td> * <td align="center">320x240 (240p)</td> * <td align="center">Any</td> * <td align="center">if 240p <= activeArraySize</td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">320x240 (240p)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 240p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">all output sizes available for JPEG</td> * <td align="center">FULL</td> * <td align="center"></td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">all output sizes available for JPEG</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">all output sizes available for JPEG, up to the maximum video size</td> * <td align="center">LIMITED</td> * <td align="center"></td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">all output sizes available for JPEG, up to the maximum video size</td> * <td style="text-align: center;">LIMITED</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">IMPLEMENTATION_DEFINED</td> * <td align="center">same as YUV_420_888</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">IMPLEMENTATION_DEFINED</td> * <td style="text-align: center;">same as YUV_420_888</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * </tbody> * </table> Loading @@ -2773,66 +2773,66 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <table> * <thead> * <tr> * <th align="center">Format</th> * <th align="center">Size</th> * <th align="center">Hardware Level</th> * <th align="center">Notes</th> * <th style="text-align: center;">Format</th> * <th style="text-align: center;">Size</th> * <th style="text-align: center;">Hardware Level</th> * <th style="text-align: center;">Notes</th> * </tr> * </thead> * <tbody> * <tr> * <td align="center">JPEG</td> * <td align="center">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">JPEG</td> * <td align="center">1920x1080 (1080p)</td> * <td align="center">Any</td> * <td align="center">if 1080p <= activeArraySize</td> * <td style="text-align: center;">JPEG</td> * <td style="text-align: center;">1920x1080 (1080p)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 1080p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td align="center">FULL</td> * <td align="center"></td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">1920x1080 (1080p)</td> * <td align="center">FULL</td> * <td align="center">if 1080p <= activeArraySize</td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">1920x1080 (1080p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 1080p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">1280x720 (720)</td> * <td align="center">FULL</td> * <td align="center">if 720p <= activeArraySize</td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">1280x720 (720)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 720p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">640x480 (480p)</td> * <td align="center">FULL</td> * <td align="center">if 480p <= activeArraySize</td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">640x480 (480p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 480p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">320x240 (240p)</td> * <td align="center">FULL</td> * <td align="center">if 240p <= activeArraySize</td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">320x240 (240p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 240p <= activeArraySize</td> * </tr> * <tr> * <td align="center">YUV_420_888</td> * <td align="center">all output sizes available for FULL hardware level, up to the maximum video size</td> * <td align="center">LIMITED</td> * <td align="center"></td> * <td style="text-align: center;">YUV_420_888</td> * <td style="text-align: center;">all output sizes available for FULL hardware level, up to the maximum video size</td> * <td style="text-align: center;">LIMITED</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">IMPLEMENTATION_DEFINED</td> * <td align="center">same as YUV_420_888</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">IMPLEMENTATION_DEFINED</td> * <td style="text-align: center;">same as YUV_420_888</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * </tbody> * </table> Loading Loading @@ -2987,66 +2987,66 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * <table> * <thead> * <tr> * <th align="center">Format</th> * <th align="center">Size</th> * <th align="center">Hardware Level</th> * <th align="center">Notes</th> * <th style="text-align: center;">Format</th> * <th style="text-align: center;">Size</th> * <th style="text-align: center;">Hardware Level</th> * <th style="text-align: center;">Notes</th> * </tr> * </thead> * <tbody> * <tr> * <td align="center">{@link android.graphics.ImageFormat#JPEG }</td> * <td align="center">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} (*1)</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#JPEG }</td> * <td style="text-align: center;">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} (*1)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#JPEG }</td> * <td align="center">1920x1080 (1080p)</td> * <td align="center">Any</td> * <td align="center">if 1080p <= activeArraySize</td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#JPEG }</td> * <td style="text-align: center;">1920x1080 (1080p)</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;">if 1080p <= activeArraySize</td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td align="center">FULL</td> * <td align="center"></td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">{@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">1920x1080 (1080p)</td> * <td align="center">FULL</td> * <td align="center">if 1080p <= activeArraySize</td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">1920x1080 (1080p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 1080p <= activeArraySize</td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">1280x720 (720)</td> * <td align="center">FULL</td> * <td align="center">if 720p <= activeArraySize</td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">1280x720 (720)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 720p <= activeArraySize</td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">640x480 (480p)</td> * <td align="center">FULL</td> * <td align="center">if 480p <= activeArraySize</td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">640x480 (480p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 480p <= activeArraySize</td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">320x240 (240p)</td> * <td align="center">FULL</td> * <td align="center">if 240p <= activeArraySize</td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">320x240 (240p)</td> * <td style="text-align: center;">FULL</td> * <td style="text-align: center;">if 240p <= activeArraySize</td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td align="center">all output sizes available for FULL hardware level, up to the maximum video size</td> * <td align="center">LIMITED</td> * <td align="center"></td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#YUV_420_888 }</td> * <td style="text-align: center;">all output sizes available for FULL hardware level, up to the maximum video size</td> * <td style="text-align: center;">LIMITED</td> * <td style="text-align: center;"></td> * </tr> * <tr> * <td align="center">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td align="center">same as YUV_420_888</td> * <td align="center">Any</td> * <td align="center"></td> * <td style="text-align: center;">{@link android.graphics.ImageFormat#PRIVATE }</td> * <td style="text-align: center;">same as YUV_420_888</td> * <td style="text-align: center;">Any</td> * <td style="text-align: center;"></td> * </tr> * </tbody> * </table> Loading Loading @@ -3492,8 +3492,8 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri /** * <p>An array of mandatory stream combinations which are applicable when device lists * {@code PREVIEW_STABILIZATION} in {@link CameraCharacteristics#CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES android.control.availableVideoStabilizationModes}. * This is an app-readable conversion of the preview stabilization mandatory stream combination * {@link android.hardware.camera2.CameraDevice#createCaptureSession tables}.</p> * This is an app-readable conversion of the preview stabilization mandatory stream * combination {@link android.hardware.camera2.CameraDevice#createCaptureSession tables}.</p> * <p>The array of * {@link android.hardware.camera2.params.MandatoryStreamCombination combinations} is * generated according to the documented Loading
core/java/android/hardware/camera2/CameraMetadata.java +18 −17 Original line number Diff line number Diff line Loading @@ -1000,24 +1000,25 @@ public abstract class CameraMetadata<TKey> { * camera's crop region is set to maximum size, the FOV of the physical streams for the * ultrawide lens will be the same as the logical stream, by making the crop region * smaller than its active array size to compensate for the smaller focal length.</p> * <p>There are two ways for the application to capture RAW images from a logical camera * with RAW capability:</p> * <p>For a logical camera, typically the underlying physical cameras have different RAW * capabilities (such as resolution or CFA pattern). There are two ways for the * application to capture RAW images from the logical camera:</p> * <ul> * <li>Because the underlying physical cameras may have different RAW capabilities (such * as resolution or CFA pattern), to maintain backward compatibility, when a RAW stream * is configured, the camera device makes sure the default active physical camera remains * active and does not switch to other physical cameras. (One exception is that, if the * logical camera consists of identical image sensors and advertises multiple focalLength * due to different lenses, the camera device may generate RAW images from different * physical cameras based on the focalLength being set by the application.) This * backward-compatible approach usually results in loss of optical zoom, to telephoto * lens or to ultrawide lens.</li> * <li>Alternatively, to take advantage of the full zoomRatio range of the logical camera, * the application should use {@link android.hardware.camera2.MultiResolutionImageReader } * to capture RAW images from the currently active physical camera. Because different * physical camera may have different RAW characteristics, the application needs to use * the characteristics and result metadata of the active physical camera for the * relevant RAW metadata.</li> * <li>If the logical camera has RAW capability, the application can create and use RAW * streams in the same way as before. In case a RAW stream is configured, to maintain * backward compatibility, the camera device makes sure the default active physical * camera remains active and does not switch to other physical cameras. (One exception * is that, if the logical camera consists of identical image sensors and advertises * multiple focalLength due to different lenses, the camera device may generate RAW * images from different physical cameras based on the focalLength being set by the * application.) This backward-compatible approach usually results in loss of optical * zoom, to telephoto lens or to ultrawide lens.</li> * <li>Alternatively, if supported by the device, * {@link android.hardware.camera2.MultiResolutionImageReader } * can be used to capture RAW images from one of the underlying physical cameras ( * depending on current zoom level). Because different physical cameras may have * different RAW characteristics, the application needs to use the characteristics * and result metadata of the active physical camera for the relevant RAW metadata.</li> * </ul> * <p>The capture request and result metadata tags required for backward compatible camera * functionalities will be solely based on the logical camera capability. On the other Loading
core/java/android/hardware/camera2/CaptureResult.java +380 −380 File changed.Preview size limit exceeded, changes collapsed. Show changes