For devices running Android 13 or higher, the camera framework provides support for video stabilization on the preview stream and other non-RAW streams in camera capture sessions. This feature lets third-party apps provide a what you see is what you get (WYSIWYG) experience when comparing between the camera preview and the recording.
Implementation
To provide third-party apps with this feature, device manufacturers must advertise support for the following keys and implement preview stabilization algorithms in the camera HAL:
To modify the default settings for this feature, assign a default value in the
capture request template when creating a capture request using
createCaptureRequest
.
For a reference implementation of this feature, see the code for
EmulatedCamera
in Cuttlefish at
hardware/google/camera/devices/EmulatedCamera/hwl/EmulatedSensor.cpp
.
For more details on video stabilization modes, see
CONTROL_VIDEO_STABILIZATION_MODE
.
Validation
To test your implementation of this feature, use the following CTS and ITS tests:
CTS:
ITS (tests field of view and stabilization quality):