Camera Go Basic Requirements

This document defines the requirements to support Camera Go basic functionality.

Mandatory requirements

# Feature Camera2 API properties Requirements
1 Camera preview StreamConfigurationMap:
isOutputSupportedFor(SurfaceTexture.class)
getOutputSizes(SurfaceTexture.class)

MUST support SurfaceTexture output

MUST support resolution equal to or larger than the screen size

2 Photo capture StreamConfigurationMap#getOutputSizes MUST support JPEG MAXIMUM

MAXIMUM refers to the camera device’s maximum output resolution.

3 Photo capture CaptureRequest#JPEG_ORIENTATION MUST be supported
4 Photo capture CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL MUST be "LIMITED" or above.
5 Photo capture CameraCharacteristics#CONTROL_AE_COMPENSATION_RANGE MUST be bigger than [0, 0].
[-2, 2] is RECOMMENDED.
6 Photo capture CameraCharacteristics#CONTROL_AF_AVAILABLE_MODES MUST contain "OFF" and "AUTO"
7 Photo capture CameraDevice#isSessionConfigurationSupported(SessionConfiguration)

MUST support session with the following concurrent stream combination:
JPEG MAXIMUM
PRIVATE PREVIEW

PREVIEW refers to the best size matching the device's screen resolution, or to 1080p (1920x1080), whichever is lower.

MAXIMUM refers to the camera device’s maximum output resolution.

8 Fast Thumbnail Generation CameraDevice#isSessionConfigurationSupported(SessionConfiguration)

MUST support session with the following concurrent stream combination:
JPEG MAXIMUM
PRIVATE PREVIEW
YUV 320x240 for thumbnail generation

PREVIEW refers to the best size matching the device's screen resolution, or to 1080p (1920x1080), whichever is lower.

MAXIMUM refers to the camera device’s maximum output resolution.

9 Tap to focus CameraCharacteristics#CONTROL_MAX_REGIONS_AE MUST be >= 1
10 Tap to focus CameraCharacteristics#CONTROL_MAX_REGIONS_AF MUST be >= 1
11 Flash CameraCharacteristics#CONTROL_AE_AVAILABLE_MODES MUST contain "ON"
12 Video recording CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES MUST support at least one CamcorderProfile with 720p or 1080p video quality and frame-rate of 24fps or 30fps.
# Feature Camera2 API properties Requirements
1 Photo capture CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL SHOULD be "FULL" or above.
2 Photo capture CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE SHOULD be ON
3 Fast Photo capture CaptureRequest#CONTROL_ENABLE_ZSL RECOMMENDED for lower capture latency
4 Flash CameraCharacteristics#CONTROL_AE_AVAILABLE_MODES

SHOULD contain "ON_AUTO_FLASH" and, "ON_ALWAYS_FLASH"

MAY contain "ON_AUTO_FLASH_REDEYE"

5 Video recording CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE SHOULD support ON
6 Video recording CameraCharacteristics#CONTROL_AF_AVAILABLE_MODES SHOULD contain "CONTINUOUS_VIDEO"
7 Bokeh CameraCharacteristics#STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES SHOULD contain “SIMPLE” or “FULL”