Merge "codecs: fix wrong bug reference" into nyc-dev
diff --git a/include/camera/ndk/NdkCameraMetadataTags.h b/include/camera/ndk/NdkCameraMetadataTags.h
index a1d3bf7..afdd269 100644
--- a/include/camera/ndk/NdkCameraMetadataTags.h
+++ b/include/camera/ndk/NdkCameraMetadataTags.h
@@ -514,478 +514,476 @@
// ACAMERA_COLOR_CORRECTION_MODE
typedef enum acamera_metadata_enum_acamera_color_correction_mode {
- ACAMERA_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX,
- ACAMERA_COLOR_CORRECTION_MODE_FAST,
- ACAMERA_COLOR_CORRECTION_MODE_HIGH_QUALITY,
+ ACAMERA_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX = 0,
+ ACAMERA_COLOR_CORRECTION_MODE_FAST = 1,
+ ACAMERA_COLOR_CORRECTION_MODE_HIGH_QUALITY = 2,
} acamera_metadata_enum_android_color_correction_mode_t;
// ACAMERA_COLOR_CORRECTION_ABERRATION_MODE
typedef enum acamera_metadata_enum_acamera_color_correction_aberration_mode {
- ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_OFF,
- ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_FAST,
- ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY,
+ ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_OFF = 0,
+ ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_FAST = 1,
+ ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY = 2,
} acamera_metadata_enum_android_color_correction_aberration_mode_t;
// ACAMERA_CONTROL_AE_ANTIBANDING_MODE
typedef enum acamera_metadata_enum_acamera_control_ae_antibanding_mode {
- ACAMERA_CONTROL_AE_ANTIBANDING_MODE_OFF,
- ACAMERA_CONTROL_AE_ANTIBANDING_MODE_50HZ,
- ACAMERA_CONTROL_AE_ANTIBANDING_MODE_60HZ,
- ACAMERA_CONTROL_AE_ANTIBANDING_MODE_AUTO,
+ ACAMERA_CONTROL_AE_ANTIBANDING_MODE_OFF = 0,
+ ACAMERA_CONTROL_AE_ANTIBANDING_MODE_50HZ = 1,
+ ACAMERA_CONTROL_AE_ANTIBANDING_MODE_60HZ = 2,
+ ACAMERA_CONTROL_AE_ANTIBANDING_MODE_AUTO = 3,
} acamera_metadata_enum_android_control_ae_antibanding_mode_t;
// ACAMERA_CONTROL_AE_LOCK
typedef enum acamera_metadata_enum_acamera_control_ae_lock {
- ACAMERA_CONTROL_AE_LOCK_OFF,
- ACAMERA_CONTROL_AE_LOCK_ON,
+ ACAMERA_CONTROL_AE_LOCK_OFF = 0,
+ ACAMERA_CONTROL_AE_LOCK_ON = 1,
} acamera_metadata_enum_android_control_ae_lock_t;
// ACAMERA_CONTROL_AE_MODE
typedef enum acamera_metadata_enum_acamera_control_ae_mode {
- ACAMERA_CONTROL_AE_MODE_OFF,
- ACAMERA_CONTROL_AE_MODE_ON,
- ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH,
- ACAMERA_CONTROL_AE_MODE_ON_ALWAYS_FLASH,
- ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE,
+ ACAMERA_CONTROL_AE_MODE_OFF = 0,
+ ACAMERA_CONTROL_AE_MODE_ON = 1,
+ ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH = 2,
+ ACAMERA_CONTROL_AE_MODE_ON_ALWAYS_FLASH = 3,
+ ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE = 4,
} acamera_metadata_enum_android_control_ae_mode_t;
// ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER
typedef enum acamera_metadata_enum_acamera_control_ae_precapture_trigger {
- ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE,
- ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_START,
- ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL,
+ ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE = 0,
+ ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_START = 1,
+ ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL = 2,
} acamera_metadata_enum_android_control_ae_precapture_trigger_t;
// ACAMERA_CONTROL_AF_MODE
typedef enum acamera_metadata_enum_acamera_control_af_mode {
- ACAMERA_CONTROL_AF_MODE_OFF,
- ACAMERA_CONTROL_AF_MODE_AUTO,
- ACAMERA_CONTROL_AF_MODE_MACRO,
- ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO,
- ACAMERA_CONTROL_AF_MODE_CONTINUOUS_PICTURE,
- ACAMERA_CONTROL_AF_MODE_EDOF,
+ ACAMERA_CONTROL_AF_MODE_OFF = 0,
+ ACAMERA_CONTROL_AF_MODE_AUTO = 1,
+ ACAMERA_CONTROL_AF_MODE_MACRO = 2,
+ ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO = 3,
+ ACAMERA_CONTROL_AF_MODE_CONTINUOUS_PICTURE = 4,
+ ACAMERA_CONTROL_AF_MODE_EDOF = 5,
} acamera_metadata_enum_android_control_af_mode_t;
// ACAMERA_CONTROL_AF_TRIGGER
typedef enum acamera_metadata_enum_acamera_control_af_trigger {
- ACAMERA_CONTROL_AF_TRIGGER_IDLE,
- ACAMERA_CONTROL_AF_TRIGGER_START,
- ACAMERA_CONTROL_AF_TRIGGER_CANCEL,
+ ACAMERA_CONTROL_AF_TRIGGER_IDLE = 0,
+ ACAMERA_CONTROL_AF_TRIGGER_START = 1,
+ ACAMERA_CONTROL_AF_TRIGGER_CANCEL = 2,
} acamera_metadata_enum_android_control_af_trigger_t;
// ACAMERA_CONTROL_AWB_LOCK
typedef enum acamera_metadata_enum_acamera_control_awb_lock {
- ACAMERA_CONTROL_AWB_LOCK_OFF,
- ACAMERA_CONTROL_AWB_LOCK_ON,
+ ACAMERA_CONTROL_AWB_LOCK_OFF = 0,
+ ACAMERA_CONTROL_AWB_LOCK_ON = 1,
} acamera_metadata_enum_android_control_awb_lock_t;
// ACAMERA_CONTROL_AWB_MODE
typedef enum acamera_metadata_enum_acamera_control_awb_mode {
- ACAMERA_CONTROL_AWB_MODE_OFF,
- ACAMERA_CONTROL_AWB_MODE_AUTO,
- ACAMERA_CONTROL_AWB_MODE_INCANDESCENT,
- ACAMERA_CONTROL_AWB_MODE_FLUORESCENT,
- ACAMERA_CONTROL_AWB_MODE_WARM_FLUORESCENT,
- ACAMERA_CONTROL_AWB_MODE_DAYLIGHT,
- ACAMERA_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT,
- ACAMERA_CONTROL_AWB_MODE_TWILIGHT,
- ACAMERA_CONTROL_AWB_MODE_SHADE,
+ ACAMERA_CONTROL_AWB_MODE_OFF = 0,
+ ACAMERA_CONTROL_AWB_MODE_AUTO = 1,
+ ACAMERA_CONTROL_AWB_MODE_INCANDESCENT = 2,
+ ACAMERA_CONTROL_AWB_MODE_FLUORESCENT = 3,
+ ACAMERA_CONTROL_AWB_MODE_WARM_FLUORESCENT = 4,
+ ACAMERA_CONTROL_AWB_MODE_DAYLIGHT = 5,
+ ACAMERA_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT = 6,
+ ACAMERA_CONTROL_AWB_MODE_TWILIGHT = 7,
+ ACAMERA_CONTROL_AWB_MODE_SHADE = 8,
} acamera_metadata_enum_android_control_awb_mode_t;
// ACAMERA_CONTROL_CAPTURE_INTENT
typedef enum acamera_metadata_enum_acamera_control_capture_intent {
- ACAMERA_CONTROL_CAPTURE_INTENT_CUSTOM,
- ACAMERA_CONTROL_CAPTURE_INTENT_PREVIEW,
- ACAMERA_CONTROL_CAPTURE_INTENT_STILL_CAPTURE,
- ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_RECORD,
- ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT,
- ACAMERA_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG,
- ACAMERA_CONTROL_CAPTURE_INTENT_MANUAL,
+ ACAMERA_CONTROL_CAPTURE_INTENT_CUSTOM = 0,
+ ACAMERA_CONTROL_CAPTURE_INTENT_PREVIEW = 1,
+ ACAMERA_CONTROL_CAPTURE_INTENT_STILL_CAPTURE = 2,
+ ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_RECORD = 3,
+ ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT = 4,
+ ACAMERA_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG = 5,
+ ACAMERA_CONTROL_CAPTURE_INTENT_MANUAL = 6,
} acamera_metadata_enum_android_control_capture_intent_t;
// ACAMERA_CONTROL_EFFECT_MODE
typedef enum acamera_metadata_enum_acamera_control_effect_mode {
- ACAMERA_CONTROL_EFFECT_MODE_OFF,
- ACAMERA_CONTROL_EFFECT_MODE_MONO,
- ACAMERA_CONTROL_EFFECT_MODE_NEGATIVE,
- ACAMERA_CONTROL_EFFECT_MODE_SOLARIZE,
- ACAMERA_CONTROL_EFFECT_MODE_SEPIA,
- ACAMERA_CONTROL_EFFECT_MODE_POSTERIZE,
- ACAMERA_CONTROL_EFFECT_MODE_WHITEBOARD,
- ACAMERA_CONTROL_EFFECT_MODE_BLACKBOARD,
- ACAMERA_CONTROL_EFFECT_MODE_AQUA,
+ ACAMERA_CONTROL_EFFECT_MODE_OFF = 0,
+ ACAMERA_CONTROL_EFFECT_MODE_MONO = 1,
+ ACAMERA_CONTROL_EFFECT_MODE_NEGATIVE = 2,
+ ACAMERA_CONTROL_EFFECT_MODE_SOLARIZE = 3,
+ ACAMERA_CONTROL_EFFECT_MODE_SEPIA = 4,
+ ACAMERA_CONTROL_EFFECT_MODE_POSTERIZE = 5,
+ ACAMERA_CONTROL_EFFECT_MODE_WHITEBOARD = 6,
+ ACAMERA_CONTROL_EFFECT_MODE_BLACKBOARD = 7,
+ ACAMERA_CONTROL_EFFECT_MODE_AQUA = 8,
} acamera_metadata_enum_android_control_effect_mode_t;
// ACAMERA_CONTROL_MODE
typedef enum acamera_metadata_enum_acamera_control_mode {
- ACAMERA_CONTROL_MODE_OFF,
- ACAMERA_CONTROL_MODE_AUTO,
- ACAMERA_CONTROL_MODE_USE_SCENE_MODE,
- ACAMERA_CONTROL_MODE_OFF_KEEP_STATE,
+ ACAMERA_CONTROL_MODE_OFF = 0,
+ ACAMERA_CONTROL_MODE_AUTO = 1,
+ ACAMERA_CONTROL_MODE_USE_SCENE_MODE = 2,
+ ACAMERA_CONTROL_MODE_OFF_KEEP_STATE = 3,
} acamera_metadata_enum_android_control_mode_t;
// ACAMERA_CONTROL_SCENE_MODE
typedef enum acamera_metadata_enum_acamera_control_scene_mode {
- ACAMERA_CONTROL_SCENE_MODE_DISABLED = 0,
- ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY,
- ACAMERA_CONTROL_SCENE_MODE_ACTION,
- ACAMERA_CONTROL_SCENE_MODE_PORTRAIT,
- ACAMERA_CONTROL_SCENE_MODE_LANDSCAPE,
- ACAMERA_CONTROL_SCENE_MODE_NIGHT,
- ACAMERA_CONTROL_SCENE_MODE_NIGHT_PORTRAIT,
- ACAMERA_CONTROL_SCENE_MODE_THEATRE,
- ACAMERA_CONTROL_SCENE_MODE_BEACH,
- ACAMERA_CONTROL_SCENE_MODE_SNOW,
- ACAMERA_CONTROL_SCENE_MODE_SUNSET,
- ACAMERA_CONTROL_SCENE_MODE_STEADYPHOTO,
- ACAMERA_CONTROL_SCENE_MODE_FIREWORKS,
- ACAMERA_CONTROL_SCENE_MODE_SPORTS,
- ACAMERA_CONTROL_SCENE_MODE_PARTY,
- ACAMERA_CONTROL_SCENE_MODE_CANDLELIGHT,
- ACAMERA_CONTROL_SCENE_MODE_BARCODE,
- ACAMERA_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO,
- ACAMERA_CONTROL_SCENE_MODE_HDR,
- ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT,
- ACAMERA_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START = 100,
- ACAMERA_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END = 127,
+ ACAMERA_CONTROL_SCENE_MODE_DISABLED = 0,
+ ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY = 1,
+ ACAMERA_CONTROL_SCENE_MODE_ACTION = 2,
+ ACAMERA_CONTROL_SCENE_MODE_PORTRAIT = 3,
+ ACAMERA_CONTROL_SCENE_MODE_LANDSCAPE = 4,
+ ACAMERA_CONTROL_SCENE_MODE_NIGHT = 5,
+ ACAMERA_CONTROL_SCENE_MODE_NIGHT_PORTRAIT = 6,
+ ACAMERA_CONTROL_SCENE_MODE_THEATRE = 7,
+ ACAMERA_CONTROL_SCENE_MODE_BEACH = 8,
+ ACAMERA_CONTROL_SCENE_MODE_SNOW = 9,
+ ACAMERA_CONTROL_SCENE_MODE_SUNSET = 10,
+ ACAMERA_CONTROL_SCENE_MODE_STEADYPHOTO = 11,
+ ACAMERA_CONTROL_SCENE_MODE_FIREWORKS = 12,
+ ACAMERA_CONTROL_SCENE_MODE_SPORTS = 13,
+ ACAMERA_CONTROL_SCENE_MODE_PARTY = 14,
+ ACAMERA_CONTROL_SCENE_MODE_CANDLELIGHT = 15,
+ ACAMERA_CONTROL_SCENE_MODE_BARCODE = 16,
+ ACAMERA_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO = 17,
+ ACAMERA_CONTROL_SCENE_MODE_HDR = 18,
} acamera_metadata_enum_android_control_scene_mode_t;
// ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE
typedef enum acamera_metadata_enum_acamera_control_video_stabilization_mode {
- ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_OFF,
- ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_ON,
+ ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_OFF = 0,
+ ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_ON = 1,
} acamera_metadata_enum_android_control_video_stabilization_mode_t;
// ACAMERA_CONTROL_AE_STATE
typedef enum acamera_metadata_enum_acamera_control_ae_state {
- ACAMERA_CONTROL_AE_STATE_INACTIVE,
- ACAMERA_CONTROL_AE_STATE_SEARCHING,
- ACAMERA_CONTROL_AE_STATE_CONVERGED,
- ACAMERA_CONTROL_AE_STATE_LOCKED,
- ACAMERA_CONTROL_AE_STATE_FLASH_REQUIRED,
- ACAMERA_CONTROL_AE_STATE_PRECAPTURE,
+ ACAMERA_CONTROL_AE_STATE_INACTIVE = 0,
+ ACAMERA_CONTROL_AE_STATE_SEARCHING = 1,
+ ACAMERA_CONTROL_AE_STATE_CONVERGED = 2,
+ ACAMERA_CONTROL_AE_STATE_LOCKED = 3,
+ ACAMERA_CONTROL_AE_STATE_FLASH_REQUIRED = 4,
+ ACAMERA_CONTROL_AE_STATE_PRECAPTURE = 5,
} acamera_metadata_enum_android_control_ae_state_t;
// ACAMERA_CONTROL_AF_STATE
typedef enum acamera_metadata_enum_acamera_control_af_state {
- ACAMERA_CONTROL_AF_STATE_INACTIVE,
- ACAMERA_CONTROL_AF_STATE_PASSIVE_SCAN,
- ACAMERA_CONTROL_AF_STATE_PASSIVE_FOCUSED,
- ACAMERA_CONTROL_AF_STATE_ACTIVE_SCAN,
- ACAMERA_CONTROL_AF_STATE_FOCUSED_LOCKED,
- ACAMERA_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED,
- ACAMERA_CONTROL_AF_STATE_PASSIVE_UNFOCUSED,
+ ACAMERA_CONTROL_AF_STATE_INACTIVE = 0,
+ ACAMERA_CONTROL_AF_STATE_PASSIVE_SCAN = 1,
+ ACAMERA_CONTROL_AF_STATE_PASSIVE_FOCUSED = 2,
+ ACAMERA_CONTROL_AF_STATE_ACTIVE_SCAN = 3,
+ ACAMERA_CONTROL_AF_STATE_FOCUSED_LOCKED = 4,
+ ACAMERA_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED = 5,
+ ACAMERA_CONTROL_AF_STATE_PASSIVE_UNFOCUSED = 6,
} acamera_metadata_enum_android_control_af_state_t;
// ACAMERA_CONTROL_AWB_STATE
typedef enum acamera_metadata_enum_acamera_control_awb_state {
- ACAMERA_CONTROL_AWB_STATE_INACTIVE,
- ACAMERA_CONTROL_AWB_STATE_SEARCHING,
- ACAMERA_CONTROL_AWB_STATE_CONVERGED,
- ACAMERA_CONTROL_AWB_STATE_LOCKED,
+ ACAMERA_CONTROL_AWB_STATE_INACTIVE = 0,
+ ACAMERA_CONTROL_AWB_STATE_SEARCHING = 1,
+ ACAMERA_CONTROL_AWB_STATE_CONVERGED = 2,
+ ACAMERA_CONTROL_AWB_STATE_LOCKED = 3,
} acamera_metadata_enum_android_control_awb_state_t;
// ACAMERA_CONTROL_AE_LOCK_AVAILABLE
typedef enum acamera_metadata_enum_acamera_control_ae_lock_available {
- ACAMERA_CONTROL_AE_LOCK_AVAILABLE_FALSE,
- ACAMERA_CONTROL_AE_LOCK_AVAILABLE_TRUE,
+ ACAMERA_CONTROL_AE_LOCK_AVAILABLE_FALSE = 0,
+ ACAMERA_CONTROL_AE_LOCK_AVAILABLE_TRUE = 1,
} acamera_metadata_enum_android_control_ae_lock_available_t;
// ACAMERA_CONTROL_AWB_LOCK_AVAILABLE
typedef enum acamera_metadata_enum_acamera_control_awb_lock_available {
- ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_FALSE,
- ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_TRUE,
+ ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_FALSE = 0,
+ ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_TRUE = 1,
} acamera_metadata_enum_android_control_awb_lock_available_t;
// ACAMERA_EDGE_MODE
typedef enum acamera_metadata_enum_acamera_edge_mode {
- ACAMERA_EDGE_MODE_OFF,
- ACAMERA_EDGE_MODE_FAST,
- ACAMERA_EDGE_MODE_HIGH_QUALITY,
- ACAMERA_EDGE_MODE_ZERO_SHUTTER_LAG,
+ ACAMERA_EDGE_MODE_OFF = 0,
+ ACAMERA_EDGE_MODE_FAST = 1,
+ ACAMERA_EDGE_MODE_HIGH_QUALITY = 2,
+ ACAMERA_EDGE_MODE_ZERO_SHUTTER_LAG = 3,
} acamera_metadata_enum_android_edge_mode_t;
// ACAMERA_FLASH_MODE
typedef enum acamera_metadata_enum_acamera_flash_mode {
- ACAMERA_FLASH_MODE_OFF,
- ACAMERA_FLASH_MODE_SINGLE,
- ACAMERA_FLASH_MODE_TORCH,
+ ACAMERA_FLASH_MODE_OFF = 0,
+ ACAMERA_FLASH_MODE_SINGLE = 1,
+ ACAMERA_FLASH_MODE_TORCH = 2,
} acamera_metadata_enum_android_flash_mode_t;
// ACAMERA_FLASH_STATE
typedef enum acamera_metadata_enum_acamera_flash_state {
- ACAMERA_FLASH_STATE_UNAVAILABLE,
- ACAMERA_FLASH_STATE_CHARGING,
- ACAMERA_FLASH_STATE_READY,
- ACAMERA_FLASH_STATE_FIRED,
- ACAMERA_FLASH_STATE_PARTIAL,
+ ACAMERA_FLASH_STATE_UNAVAILABLE = 0,
+ ACAMERA_FLASH_STATE_CHARGING = 1,
+ ACAMERA_FLASH_STATE_READY = 2,
+ ACAMERA_FLASH_STATE_FIRED = 3,
+ ACAMERA_FLASH_STATE_PARTIAL = 4,
} acamera_metadata_enum_android_flash_state_t;
// ACAMERA_FLASH_INFO_AVAILABLE
typedef enum acamera_metadata_enum_acamera_flash_info_available {
- ACAMERA_FLASH_INFO_AVAILABLE_FALSE,
- ACAMERA_FLASH_INFO_AVAILABLE_TRUE,
+ ACAMERA_FLASH_INFO_AVAILABLE_FALSE = 0,
+ ACAMERA_FLASH_INFO_AVAILABLE_TRUE = 1,
} acamera_metadata_enum_android_flash_info_available_t;
// ACAMERA_HOT_PIXEL_MODE
typedef enum acamera_metadata_enum_acamera_hot_pixel_mode {
- ACAMERA_HOT_PIXEL_MODE_OFF,
- ACAMERA_HOT_PIXEL_MODE_FAST,
- ACAMERA_HOT_PIXEL_MODE_HIGH_QUALITY,
+ ACAMERA_HOT_PIXEL_MODE_OFF = 0,
+ ACAMERA_HOT_PIXEL_MODE_FAST = 1,
+ ACAMERA_HOT_PIXEL_MODE_HIGH_QUALITY = 2,
} acamera_metadata_enum_android_hot_pixel_mode_t;
// ACAMERA_LENS_OPTICAL_STABILIZATION_MODE
typedef enum acamera_metadata_enum_acamera_lens_optical_stabilization_mode {
- ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_OFF,
- ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_ON,
+ ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_OFF = 0,
+ ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_ON = 1,
} acamera_metadata_enum_android_lens_optical_stabilization_mode_t;
// ACAMERA_LENS_FACING
typedef enum acamera_metadata_enum_acamera_lens_facing {
- ACAMERA_LENS_FACING_FRONT,
- ACAMERA_LENS_FACING_BACK,
- ACAMERA_LENS_FACING_EXTERNAL,
+ ACAMERA_LENS_FACING_FRONT = 0,
+ ACAMERA_LENS_FACING_BACK = 1,
+ ACAMERA_LENS_FACING_EXTERNAL = 2,
} acamera_metadata_enum_android_lens_facing_t;
// ACAMERA_LENS_STATE
typedef enum acamera_metadata_enum_acamera_lens_state {
- ACAMERA_LENS_STATE_STATIONARY,
- ACAMERA_LENS_STATE_MOVING,
+ ACAMERA_LENS_STATE_STATIONARY = 0,
+ ACAMERA_LENS_STATE_MOVING = 1,
} acamera_metadata_enum_android_lens_state_t;
// ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION
typedef enum acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
- ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED,
- ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE,
- ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED,
+ ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED = 0,
+ ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE = 1,
+ ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED = 2,
} acamera_metadata_enum_android_lens_info_focus_distance_calibration_t;
// ACAMERA_NOISE_REDUCTION_MODE
typedef enum acamera_metadata_enum_acamera_noise_reduction_mode {
- ACAMERA_NOISE_REDUCTION_MODE_OFF,
- ACAMERA_NOISE_REDUCTION_MODE_FAST,
- ACAMERA_NOISE_REDUCTION_MODE_HIGH_QUALITY,
- ACAMERA_NOISE_REDUCTION_MODE_MINIMAL,
- ACAMERA_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG,
+ ACAMERA_NOISE_REDUCTION_MODE_OFF = 0,
+ ACAMERA_NOISE_REDUCTION_MODE_FAST = 1,
+ ACAMERA_NOISE_REDUCTION_MODE_HIGH_QUALITY = 2,
+ ACAMERA_NOISE_REDUCTION_MODE_MINIMAL = 3,
+ ACAMERA_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG = 4,
} acamera_metadata_enum_android_noise_reduction_mode_t;
// ACAMERA_QUIRKS_PARTIAL_RESULT
typedef enum acamera_metadata_enum_acamera_quirks_partial_result {
- ACAMERA_QUIRKS_PARTIAL_RESULT_FINAL,
- ACAMERA_QUIRKS_PARTIAL_RESULT_PARTIAL,
+ ACAMERA_QUIRKS_PARTIAL_RESULT_FINAL = 0,
+ ACAMERA_QUIRKS_PARTIAL_RESULT_PARTIAL = 1,
} acamera_metadata_enum_android_quirks_partial_result_t;
// ACAMERA_REQUEST_AVAILABLE_CAPABILITIES
typedef enum acamera_metadata_enum_acamera_request_available_capabilities {
- ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE,
- ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR,
- ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING,
- ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_RAW,
- ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING,
- ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS,
- ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE,
- ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING,
- ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT,
- ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO,
+ ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE = 0,
+ ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR = 1,
+ ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING = 2,
+ ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_RAW = 3,
+ ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING = 4,
+ ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS = 5,
+ ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE = 6,
+ ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING = 7,
+ ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT = 8,
+ ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO
+ = 9,
} acamera_metadata_enum_android_request_available_capabilities_t;
// ACAMERA_SCALER_AVAILABLE_FORMATS
typedef enum acamera_metadata_enum_acamera_scaler_available_formats {
- ACAMERA_SCALER_AVAILABLE_FORMATS_RAW16 = 0x20,
- ACAMERA_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE = 0x24,
- ACAMERA_SCALER_AVAILABLE_FORMATS_YV12 = 0x32315659,
- ACAMERA_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP = 0x11,
- ACAMERA_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED = 0x22,
- ACAMERA_SCALER_AVAILABLE_FORMATS_YCbCr_420_888 = 0x23,
- ACAMERA_SCALER_AVAILABLE_FORMATS_BLOB = 0x21,
+ ACAMERA_SCALER_AVAILABLE_FORMATS_RAW16 = 0x20,
+ ACAMERA_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE = 0x24,
+ ACAMERA_SCALER_AVAILABLE_FORMATS_YV12 = 0x32315659,
+ ACAMERA_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP = 0x11,
+ ACAMERA_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED = 0x22,
+ ACAMERA_SCALER_AVAILABLE_FORMATS_YCbCr_420_888 = 0x23,
+ ACAMERA_SCALER_AVAILABLE_FORMATS_BLOB = 0x21,
} acamera_metadata_enum_android_scaler_available_formats_t;
// ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS
typedef enum acamera_metadata_enum_acamera_scaler_available_stream_configurations {
- ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT,
- ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT,
+ ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT = 0,
+ ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT = 1,
} acamera_metadata_enum_android_scaler_available_stream_configurations_t;
// ACAMERA_SCALER_CROPPING_TYPE
typedef enum acamera_metadata_enum_acamera_scaler_cropping_type {
- ACAMERA_SCALER_CROPPING_TYPE_CENTER_ONLY,
- ACAMERA_SCALER_CROPPING_TYPE_FREEFORM,
+ ACAMERA_SCALER_CROPPING_TYPE_CENTER_ONLY = 0,
+ ACAMERA_SCALER_CROPPING_TYPE_FREEFORM = 1,
} acamera_metadata_enum_android_scaler_cropping_type_t;
// ACAMERA_SENSOR_REFERENCE_ILLUMINANT1
typedef enum acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT = 1,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT = 2,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN = 3,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLASH = 4,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER = 9,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER = 10,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_SHADE = 11,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT = 12,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT = 13,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT = 14,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT = 15,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A = 17,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B = 18,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C = 19,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D55 = 20,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D65 = 21,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D75 = 22,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D50 = 23,
- ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN = 24,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT = 1,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT = 2,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN = 3,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLASH = 4,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER = 9,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER = 10,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_SHADE = 11,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT = 12,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT = 13,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT = 14,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT = 15,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A = 17,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B = 18,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C = 19,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D55 = 20,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D65 = 21,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D75 = 22,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D50 = 23,
+ ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN = 24,
} acamera_metadata_enum_android_sensor_reference_illuminant1_t;
// ACAMERA_SENSOR_TEST_PATTERN_MODE
typedef enum acamera_metadata_enum_acamera_sensor_test_pattern_mode {
- ACAMERA_SENSOR_TEST_PATTERN_MODE_OFF,
- ACAMERA_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR,
- ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS,
- ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY,
- ACAMERA_SENSOR_TEST_PATTERN_MODE_PN9,
- ACAMERA_SENSOR_TEST_PATTERN_MODE_CUSTOM1 = 256,
+ ACAMERA_SENSOR_TEST_PATTERN_MODE_OFF = 0,
+ ACAMERA_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR = 1,
+ ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS = 2,
+ ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY = 3,
+ ACAMERA_SENSOR_TEST_PATTERN_MODE_PN9 = 4,
+ ACAMERA_SENSOR_TEST_PATTERN_MODE_CUSTOM1 = 256,
} acamera_metadata_enum_android_sensor_test_pattern_mode_t;
// ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
typedef enum acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
- ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB,
- ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG,
- ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG,
- ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR,
- ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB,
+ ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB = 0,
+ ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG = 1,
+ ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG = 2,
+ ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR = 3,
+ ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB = 4,
} acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
// ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE
typedef enum acamera_metadata_enum_acamera_sensor_info_timestamp_source {
- ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN,
- ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME,
+ ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN = 0,
+ ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME = 1,
} acamera_metadata_enum_android_sensor_info_timestamp_source_t;
// ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED
typedef enum acamera_metadata_enum_acamera_sensor_info_lens_shading_applied {
- ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE,
- ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE,
+ ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE = 0,
+ ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE = 1,
} acamera_metadata_enum_android_sensor_info_lens_shading_applied_t;
// ACAMERA_SHADING_MODE
typedef enum acamera_metadata_enum_acamera_shading_mode {
- ACAMERA_SHADING_MODE_OFF,
- ACAMERA_SHADING_MODE_FAST,
- ACAMERA_SHADING_MODE_HIGH_QUALITY,
+ ACAMERA_SHADING_MODE_OFF = 0,
+ ACAMERA_SHADING_MODE_FAST = 1,
+ ACAMERA_SHADING_MODE_HIGH_QUALITY = 2,
} acamera_metadata_enum_android_shading_mode_t;
// ACAMERA_STATISTICS_FACE_DETECT_MODE
typedef enum acamera_metadata_enum_acamera_statistics_face_detect_mode {
- ACAMERA_STATISTICS_FACE_DETECT_MODE_OFF,
- ACAMERA_STATISTICS_FACE_DETECT_MODE_SIMPLE,
- ACAMERA_STATISTICS_FACE_DETECT_MODE_FULL,
+ ACAMERA_STATISTICS_FACE_DETECT_MODE_OFF = 0,
+ ACAMERA_STATISTICS_FACE_DETECT_MODE_SIMPLE = 1,
+ ACAMERA_STATISTICS_FACE_DETECT_MODE_FULL = 2,
} acamera_metadata_enum_android_statistics_face_detect_mode_t;
// ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE
typedef enum acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode {
- ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_OFF,
- ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_ON,
+ ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_OFF = 0,
+ ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_ON = 1,
} acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
// ACAMERA_STATISTICS_SCENE_FLICKER
typedef enum acamera_metadata_enum_acamera_statistics_scene_flicker {
- ACAMERA_STATISTICS_SCENE_FLICKER_NONE,
- ACAMERA_STATISTICS_SCENE_FLICKER_50HZ,
- ACAMERA_STATISTICS_SCENE_FLICKER_60HZ,
+ ACAMERA_STATISTICS_SCENE_FLICKER_NONE = 0,
+ ACAMERA_STATISTICS_SCENE_FLICKER_50HZ = 1,
+ ACAMERA_STATISTICS_SCENE_FLICKER_60HZ = 2,
} acamera_metadata_enum_android_statistics_scene_flicker_t;
// ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE
typedef enum acamera_metadata_enum_acamera_statistics_lens_shading_map_mode {
- ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_OFF,
- ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_ON,
+ ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_OFF = 0,
+ ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_ON = 1,
} acamera_metadata_enum_android_statistics_lens_shading_map_mode_t;
// ACAMERA_TONEMAP_MODE
typedef enum acamera_metadata_enum_acamera_tonemap_mode {
- ACAMERA_TONEMAP_MODE_CONTRAST_CURVE,
- ACAMERA_TONEMAP_MODE_FAST,
- ACAMERA_TONEMAP_MODE_HIGH_QUALITY,
- ACAMERA_TONEMAP_MODE_GAMMA_VALUE,
- ACAMERA_TONEMAP_MODE_PRESET_CURVE,
+ ACAMERA_TONEMAP_MODE_CONTRAST_CURVE = 0,
+ ACAMERA_TONEMAP_MODE_FAST = 1,
+ ACAMERA_TONEMAP_MODE_HIGH_QUALITY = 2,
+ ACAMERA_TONEMAP_MODE_GAMMA_VALUE = 3,
+ ACAMERA_TONEMAP_MODE_PRESET_CURVE = 4,
} acamera_metadata_enum_android_tonemap_mode_t;
// ACAMERA_TONEMAP_PRESET_CURVE
typedef enum acamera_metadata_enum_acamera_tonemap_preset_curve {
- ACAMERA_TONEMAP_PRESET_CURVE_SRGB,
- ACAMERA_TONEMAP_PRESET_CURVE_REC709,
+ ACAMERA_TONEMAP_PRESET_CURVE_SRGB = 0,
+ ACAMERA_TONEMAP_PRESET_CURVE_REC709 = 1,
} acamera_metadata_enum_android_tonemap_preset_curve_t;
// ACAMERA_LED_TRANSMIT
typedef enum acamera_metadata_enum_acamera_led_transmit {
- ACAMERA_LED_TRANSMIT_OFF,
- ACAMERA_LED_TRANSMIT_ON,
+ ACAMERA_LED_TRANSMIT_OFF = 0,
+ ACAMERA_LED_TRANSMIT_ON = 1,
} acamera_metadata_enum_android_led_transmit_t;
// ACAMERA_LED_AVAILABLE_LEDS
typedef enum acamera_metadata_enum_acamera_led_available_leds {
- ACAMERA_LED_AVAILABLE_LEDS_TRANSMIT,
+ ACAMERA_LED_AVAILABLE_LEDS_TRANSMIT = 0,
} acamera_metadata_enum_android_led_available_leds_t;
// ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL
typedef enum acamera_metadata_enum_acamera_info_supported_hardware_level {
- ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED,
- ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_FULL,
- ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY,
- ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_3,
+ ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0,
+ ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1,
+ ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY = 2,
+ ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_3 = 3,
} acamera_metadata_enum_android_info_supported_hardware_level_t;
// ACAMERA_BLACK_LEVEL_LOCK
typedef enum acamera_metadata_enum_acamera_black_level_lock {
- ACAMERA_BLACK_LEVEL_LOCK_OFF,
- ACAMERA_BLACK_LEVEL_LOCK_ON,
+ ACAMERA_BLACK_LEVEL_LOCK_OFF = 0,
+ ACAMERA_BLACK_LEVEL_LOCK_ON = 1,
} acamera_metadata_enum_android_black_level_lock_t;
// ACAMERA_SYNC_FRAME_NUMBER
typedef enum acamera_metadata_enum_acamera_sync_frame_number {
- ACAMERA_SYNC_FRAME_NUMBER_CONVERGING = -1,
- ACAMERA_SYNC_FRAME_NUMBER_UNKNOWN = -2,
+ ACAMERA_SYNC_FRAME_NUMBER_CONVERGING = -1,
+ ACAMERA_SYNC_FRAME_NUMBER_UNKNOWN = -2,
} acamera_metadata_enum_android_sync_frame_number_t;
// ACAMERA_SYNC_MAX_LATENCY
typedef enum acamera_metadata_enum_acamera_sync_max_latency {
- ACAMERA_SYNC_MAX_LATENCY_PER_FRAME_CONTROL = 0,
- ACAMERA_SYNC_MAX_LATENCY_UNKNOWN = -1,
+ ACAMERA_SYNC_MAX_LATENCY_PER_FRAME_CONTROL = 0,
+ ACAMERA_SYNC_MAX_LATENCY_UNKNOWN = -1,
} acamera_metadata_enum_android_sync_max_latency_t;
// ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS
typedef enum acamera_metadata_enum_acamera_depth_available_depth_stream_configurations {
- ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT,
- ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT,
+ ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT = 0,
+ ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT = 1,
} acamera_metadata_enum_android_depth_available_depth_stream_configurations_t;
// ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE
typedef enum acamera_metadata_enum_acamera_depth_depth_is_exclusive {
- ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE,
- ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE,
+ ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE = 0,
+ ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE = 1,
} acamera_metadata_enum_android_depth_depth_is_exclusive_t;
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp
index 58bfa67..7a8f4c0 100644
--- a/media/libstagefright/MPEG4Writer.cpp
+++ b/media/libstagefright/MPEG4Writer.cpp
@@ -2550,8 +2550,8 @@
((timestampUs * mTimeScale + 500000LL) / 1000000LL -
(lastTimestampUs * mTimeScale + 500000LL) / 1000000LL);
if (currDurationTicks < 0ll) {
- ALOGE("timestampUs %" PRId64 " < lastTimestampUs %" PRId64 " for %s track",
- timestampUs, lastTimestampUs, trackName);
+ ALOGE("do not support out of order frames (timestamp: %lld < last: %lld for %s track",
+ (long long)timestampUs, (long long)lastTimestampUs, trackName);
copy->release();
mSource->stop();
return UNKNOWN_ERROR;
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 9b57960..87374bc 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -2928,11 +2928,7 @@
break;
}
bool released = false;
- // The following works around a bug in the offload driver. Ideally we would release
- // the wake lock every time, but that causes the last offload buffer(s) to be
- // dropped while the device is on battery, so we need to hold a wake lock during
- // the drain phase.
- if (mBytesRemaining && !(mDrainSequence & 1)) {
+ if (!keepWakeLock()) {
releaseWakeLock_l();
released = true;
}
@@ -3166,20 +3162,23 @@
if ((mType == OFFLOAD) && !audio_has_proportional_frames(mFormat)) {
Mutex::Autolock _l(mLock);
if (!mSignalPending && !exitPending()) {
- // Do not sleep more than one buffer duration since last write and not
- // less than kDirectMinSleepTimeUs
+ // If more than one buffer has been written to the audio HAL since exiting
+ // standby or last flush, do not sleep more than one buffer duration
+ // since last write and not less than kDirectMinSleepTimeUs.
// Wake up if a command is received
- nsecs_t now = systemTime();
- uint32_t deltaUs = (uint32_t)((now - mLastWriteTime) / 1000);
uint32_t timeoutUs = mSleepTimeUs;
- if (timeoutUs + deltaUs > mBufferDurationUs) {
- if (mBufferDurationUs > deltaUs) {
- timeoutUs = mBufferDurationUs - deltaUs;
- if (timeoutUs < kDirectMinSleepTimeUs) {
+ if (mBytesWritten >= (int64_t) mBufferSize) {
+ nsecs_t now = systemTime();
+ uint32_t deltaUs = (uint32_t)((now - mLastWriteTime) / 1000);
+ if (timeoutUs + deltaUs > mBufferDurationUs) {
+ if (mBufferDurationUs > deltaUs) {
+ timeoutUs = mBufferDurationUs - deltaUs;
+ if (timeoutUs < kDirectMinSleepTimeUs) {
+ timeoutUs = kDirectMinSleepTimeUs;
+ }
+ } else {
timeoutUs = kDirectMinSleepTimeUs;
}
- } else {
- timeoutUs = kDirectMinSleepTimeUs;
}
}
mWaitWorkCV.waitRelative(mLock, microseconds((nsecs_t)timeoutUs));
@@ -5169,10 +5168,11 @@
AudioStreamOut* output, audio_io_handle_t id, uint32_t device, bool systemReady,
uint32_t bitRate)
: DirectOutputThread(audioFlinger, output, id, device, OFFLOAD, systemReady, bitRate),
- mPausedBytesRemaining(0)
+ mPausedWriteLength(0), mPausedBytesRemaining(0), mKeepWakeLock(true)
{
//FIXME: mStandby should be set to true by ThreadBase constructor
mStandby = true;
+ mKeepWakeLock = property_get_bool("ro.audio.offload_wakelock", true /* default_value */);
}
void AudioFlinger::OffloadThread::threadLoop_exit()
@@ -5421,6 +5421,8 @@
mBytesRemaining = 0;
mPausedWriteLength = 0;
mPausedBytesRemaining = 0;
+ // reset bytes written count to reflect that DSP buffers are empty after flush.
+ mBytesWritten = 0;
if (mUseAsyncWrite) {
// discard any pending drain or write ack by incrementing sequence
diff --git a/services/audioflinger/Threads.h b/services/audioflinger/Threads.h
index 761fc71..cf896e0 100644
--- a/services/audioflinger/Threads.h
+++ b/services/audioflinger/Threads.h
@@ -527,6 +527,8 @@
// ThreadBase virtuals
virtual void preExit();
+ virtual bool keepWakeLock() const { return true; }
+
public:
virtual status_t initCheck() const { return (mOutput == NULL) ? NO_INIT : NO_ERROR; }
@@ -996,9 +998,12 @@
virtual bool waitingAsyncCallback();
virtual bool waitingAsyncCallback_l();
+ virtual bool keepWakeLock() const { return mKeepWakeLock; }
+
private:
size_t mPausedWriteLength; // length in bytes of write interrupted by pause
size_t mPausedBytesRemaining; // bytes still waiting in mixbuffer after resume
+ bool mKeepWakeLock; // keep wake lock while waiting for write callback
};
class AsyncCallbackThread : public Thread {
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index 7913adc..35c868e 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -5210,15 +5210,14 @@
}
// Modify the list of surround sound formats supported.
-void AudioPolicyManager::filterSurroundFormats(FormatVector &formats) {
- // TODO Change the ALOGIs to ALOGVs in this function after the feature is verified.
-
+void AudioPolicyManager::filterSurroundFormats(FormatVector *formatsPtr) {
+ FormatVector &formats = *formatsPtr;
// TODO Set this based on Config properties.
const bool alwaysForceAC3 = true;
audio_policy_forced_cfg_t forceUse = mEngine->getForceUse(
AUDIO_POLICY_FORCE_FOR_ENCODED_SURROUND);
- ALOGI("%s: forced use = %d", __FUNCTION__, forceUse);
+ ALOGD("%s: forced use = %d", __FUNCTION__, forceUse);
// Analyze original support for various formats.
bool supportsAC3 = false;
@@ -5226,7 +5225,6 @@
bool supportsIEC61937 = false;
for (size_t formatIndex = 0; formatIndex < formats.size(); formatIndex++) {
audio_format_t format = formats[formatIndex];
- ALOGI("%s: original formats: 0x%08x", __FUNCTION__, format);
switch (format) {
case AUDIO_FORMAT_AC3:
supportsAC3 = true;
@@ -5243,8 +5241,6 @@
break;
}
}
- ALOGI("%s: original, supportsAC3 = %d, supportsOtherSurround = %d, supportsIEC61937 = %d",
- __FUNCTION__, supportsAC3, supportsOtherSurround, supportsIEC61937);
// Modify formats based on surround preferences.
// If NEVER, remove support for surround formats.
@@ -5259,7 +5255,6 @@
case AUDIO_FORMAT_DTS:
case AUDIO_FORMAT_DTS_HD:
case AUDIO_FORMAT_IEC61937:
- ALOGI("%s: remove format 0x%08x", __FUNCTION__, format);
formats.removeAt(formatIndex);
break;
default:
@@ -5297,13 +5292,42 @@
supportsIEC61937 = true;
}
}
- // Just for debugging.
- for (size_t formatIndex = 0; formatIndex < formats.size(); formatIndex++) {
- audio_format_t format = formats[formatIndex];
- ALOGI("%s: final formats: 0x%08x", __FUNCTION__, format);
+}
+
+// Modify the list of channel masks supported.
+void AudioPolicyManager::filterSurroundChannelMasks(ChannelsVector *channelMasksPtr) {
+ ChannelsVector &channelMasks = *channelMasksPtr;
+ audio_policy_forced_cfg_t forceUse = mEngine->getForceUse(
+ AUDIO_POLICY_FORCE_FOR_ENCODED_SURROUND);
+
+ // If NEVER, then remove support for channelMasks > stereo.
+ if (forceUse == AUDIO_POLICY_FORCE_ENCODED_SURROUND_NEVER) {
+ for (size_t maskIndex = 0; maskIndex < channelMasks.size(); ) {
+ audio_channel_mask_t channelMask = channelMasks[maskIndex];
+ if (channelMask & ~AUDIO_CHANNEL_OUT_STEREO) {
+ ALOGI("%s: force NEVER, so remove channelMask 0x%08x", __FUNCTION__, channelMask);
+ channelMasks.removeAt(maskIndex);
+ } else {
+ maskIndex++;
+ }
+ }
+ // If ALWAYS, then make sure we at least support 5.1
+ } else if (forceUse == AUDIO_POLICY_FORCE_ENCODED_SURROUND_ALWAYS) {
+ bool supports5dot1 = false;
+ // Are there any channel masks that can be considered "surround"?
+ for (size_t maskIndex = 0; maskIndex < channelMasks.size(); maskIndex++) {
+ audio_channel_mask_t channelMask = channelMasks[maskIndex];
+ if ((channelMask & AUDIO_CHANNEL_OUT_5POINT1) == AUDIO_CHANNEL_OUT_5POINT1) {
+ supports5dot1 = true;
+ break;
+ }
+ }
+ // If not then add 5.1 support.
+ if (!supports5dot1) {
+ channelMasks.add(AUDIO_CHANNEL_OUT_5POINT1);
+ ALOGI("%s: force ALWAYS, so adding channelMask for 5.1 surround", __FUNCTION__);
+ }
}
- ALOGI("%s: final, supportsAC3 = %d, supportsOtherSurround = %d, supportsIEC61937 = %d",
- __FUNCTION__, supportsAC3, supportsOtherSurround, supportsIEC61937);
}
void AudioPolicyManager::updateAudioProfiles(audio_devices_t device,
@@ -5312,11 +5336,12 @@
{
String8 reply;
char *value;
+
// Format MUST be checked first to update the list of AudioProfile
if (profiles.hasDynamicFormat()) {
reply = mpClientInterface->getParameters(ioHandle,
String8(AUDIO_PARAMETER_STREAM_SUP_FORMATS));
- ALOGI("%s: supported formats %s", __FUNCTION__, reply.string());
+ ALOGV("%s: supported formats %s", __FUNCTION__, reply.string());
AudioParameter repliedParameters(reply);
if (repliedParameters.get(
String8(AUDIO_PARAMETER_STREAM_SUP_FORMATS), reply) != NO_ERROR) {
@@ -5325,7 +5350,7 @@
}
FormatVector formats = formatsFromString(reply.string());
if (device == AUDIO_DEVICE_OUT_HDMI) {
- filterSurroundFormats(formats);
+ filterSurroundFormats(&formats);
}
profiles.setFormats(formats);
}
@@ -5358,6 +5383,9 @@
if (repliedParameters.get(
String8(AUDIO_PARAMETER_STREAM_SUP_CHANNELS), reply) == NO_ERROR) {
channelMasks = channelMasksFromString(reply.string());
+ if (device == AUDIO_DEVICE_OUT_HDMI) {
+ filterSurroundChannelMasks(&channelMasks);
+ }
}
}
profiles.addProfileFromHal(new AudioProfile(format, channelMasks, samplingRates));
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
index 1302cb5..0420679 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
@@ -586,7 +586,8 @@
AudioPolicyManagerInterface *mEngine;
private:
// Add or remove AC3 DTS encodings based on user preferences.
- void filterSurroundFormats(FormatVector &formats);
+ void filterSurroundFormats(FormatVector *formatsPtr);
+ void filterSurroundChannelMasks(ChannelsVector *channelMasksPtr);
// If any, resolve any "dynamic" fields of an Audio Profiles collection
void updateAudioProfiles(audio_devices_t device, audio_io_handle_t ioHandle,