am 26dfd03d: am 384a04d9: Merge "Camera: Add ZERO_SHUTTER_LAG modes to noise...
am 26dfd03d: am 384a04d9: Merge "Camera: Add ZERO_SHUTTER_LAG modes to noise reduction and edge enhancement" into mnc-dev
* commit '26dfd03d':
Camera: Add ZERO_SHUTTER_LAG modes to noise reduction and edge enhancement
* <p>Noise reduction is applied at different levels for different output streams,
* based on resolution. Streams at maximum recording resolution (see {@link android.hardware.camera2.CameraDevice#createCaptureSession }) or below have noise
* reduction applied, while higher-resolution streams have MINIMAL (if supported) or no
* noise reduction applied (if MINIMAL is not supported.) The degree of noise reduction
* for low-resolution streams is tuned so that frame rate is not impacted, and the quality
* is equal to or better than FAST (since it is only applied to lower-resolution outputs,
* quality may improve from FAST).</p>
* <p>This mode is intended to be used by applications operating in a zero-shutter-lag mode
* with YUV or PRIVATE reprocessing, where the application continuously captures
* high-resolution intermediate buffers into a circular buffer, from which a final image is
* produced via reprocessing when a user takes a picture. For such a use case, the
* high-resolution buffers must not have noise reduction applied to maximize efficiency of
* preview and to avoid over-applying noise filtering when reprocessing, while
* low-resolution buffers (used for recording or preview, generally) need noise reduction
* applied for reasonable preview quality.</p>
* <p>This mode is guaranteed to be supported by devices that support either the
* YUV_REPROCESSING or PRIVATE_REPROCESSING capabilities
* ({@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} lists either of those capabilities).</p>