/*
 * Copyright 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * ! Do not edit this file directly !
 *
 * Generated automatically from camera_metadata_tags_verifier.mako
 */


#include <system/camera_metadata_tags.h>
#include "camera/mojo/camera_metadata_tags.mojom.h"

namespace cros {

namespace mojom {

/**
 * Verify all the definitions in CameraMetadataSection match their corresponding enum
 * definitions in camera_metadata_tags.h.
 */
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_COLOR_CORRECTION) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION),
              "CameraMetadataSection::ANDROID_COLOR_CORRECTION != ANDROID_COLOR_CORRECTION");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_CONTROL) == static_cast<ssize_t>(ANDROID_CONTROL),
              "CameraMetadataSection::ANDROID_CONTROL != ANDROID_CONTROL");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_DEMOSAIC) == static_cast<ssize_t>(ANDROID_DEMOSAIC),
              "CameraMetadataSection::ANDROID_DEMOSAIC != ANDROID_DEMOSAIC");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_EDGE) == static_cast<ssize_t>(ANDROID_EDGE),
              "CameraMetadataSection::ANDROID_EDGE != ANDROID_EDGE");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_FLASH) == static_cast<ssize_t>(ANDROID_FLASH),
              "CameraMetadataSection::ANDROID_FLASH != ANDROID_FLASH");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_FLASH_INFO) == static_cast<ssize_t>(ANDROID_FLASH_INFO),
              "CameraMetadataSection::ANDROID_FLASH_INFO != ANDROID_FLASH_INFO");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_HOT_PIXEL) == static_cast<ssize_t>(ANDROID_HOT_PIXEL),
              "CameraMetadataSection::ANDROID_HOT_PIXEL != ANDROID_HOT_PIXEL");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_JPEG) == static_cast<ssize_t>(ANDROID_JPEG),
              "CameraMetadataSection::ANDROID_JPEG != ANDROID_JPEG");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_LENS) == static_cast<ssize_t>(ANDROID_LENS),
              "CameraMetadataSection::ANDROID_LENS != ANDROID_LENS");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_LENS_INFO) == static_cast<ssize_t>(ANDROID_LENS_INFO),
              "CameraMetadataSection::ANDROID_LENS_INFO != ANDROID_LENS_INFO");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_NOISE_REDUCTION) == static_cast<ssize_t>(ANDROID_NOISE_REDUCTION),
              "CameraMetadataSection::ANDROID_NOISE_REDUCTION != ANDROID_NOISE_REDUCTION");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_QUIRKS) == static_cast<ssize_t>(ANDROID_QUIRKS),
              "CameraMetadataSection::ANDROID_QUIRKS != ANDROID_QUIRKS");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_REQUEST) == static_cast<ssize_t>(ANDROID_REQUEST),
              "CameraMetadataSection::ANDROID_REQUEST != ANDROID_REQUEST");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_SCALER) == static_cast<ssize_t>(ANDROID_SCALER),
              "CameraMetadataSection::ANDROID_SCALER != ANDROID_SCALER");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_SENSOR) == static_cast<ssize_t>(ANDROID_SENSOR),
              "CameraMetadataSection::ANDROID_SENSOR != ANDROID_SENSOR");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_SENSOR_INFO) == static_cast<ssize_t>(ANDROID_SENSOR_INFO),
              "CameraMetadataSection::ANDROID_SENSOR_INFO != ANDROID_SENSOR_INFO");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_SHADING) == static_cast<ssize_t>(ANDROID_SHADING),
              "CameraMetadataSection::ANDROID_SHADING != ANDROID_SHADING");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_STATISTICS) == static_cast<ssize_t>(ANDROID_STATISTICS),
              "CameraMetadataSection::ANDROID_STATISTICS != ANDROID_STATISTICS");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_STATISTICS_INFO) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO),
              "CameraMetadataSection::ANDROID_STATISTICS_INFO != ANDROID_STATISTICS_INFO");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_TONEMAP) == static_cast<ssize_t>(ANDROID_TONEMAP),
              "CameraMetadataSection::ANDROID_TONEMAP != ANDROID_TONEMAP");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_LED) == static_cast<ssize_t>(ANDROID_LED),
              "CameraMetadataSection::ANDROID_LED != ANDROID_LED");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_INFO) == static_cast<ssize_t>(ANDROID_INFO),
              "CameraMetadataSection::ANDROID_INFO != ANDROID_INFO");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_BLACK_LEVEL) == static_cast<ssize_t>(ANDROID_BLACK_LEVEL),
              "CameraMetadataSection::ANDROID_BLACK_LEVEL != ANDROID_BLACK_LEVEL");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_SYNC) == static_cast<ssize_t>(ANDROID_SYNC),
              "CameraMetadataSection::ANDROID_SYNC != ANDROID_SYNC");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_REPROCESS) == static_cast<ssize_t>(ANDROID_REPROCESS),
              "CameraMetadataSection::ANDROID_REPROCESS != ANDROID_REPROCESS");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_DEPTH) == static_cast<ssize_t>(ANDROID_DEPTH),
              "CameraMetadataSection::ANDROID_DEPTH != ANDROID_DEPTH");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_LOGICAL_MULTI_CAMERA) == static_cast<ssize_t>(ANDROID_LOGICAL_MULTI_CAMERA),
              "CameraMetadataSection::ANDROID_LOGICAL_MULTI_CAMERA != ANDROID_LOGICAL_MULTI_CAMERA");
static_assert(static_cast<ssize_t>(CameraMetadataSection::ANDROID_DISTORTION_CORRECTION) == static_cast<ssize_t>(ANDROID_DISTORTION_CORRECTION),
              "CameraMetadataSection::ANDROID_DISTORTION_CORRECTION != ANDROID_DISTORTION_CORRECTION");
static_assert(static_cast<ssize_t>(CameraMetadataSection::VENDOR_SECTION) == static_cast<ssize_t>(VENDOR_SECTION),
              "CameraMetadataSection::VENDOR_SECTION != VENDOR_SECTION");

/**
 * Verify all the definitions in CameraMetadataSectionStart match their corresponding enum
 * definitions in camera_metadata_tags.h
 */
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_COLOR_CORRECTION_START) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_START),
              "CameraMetadataSectionStart::ANDROID_COLOR_CORRECTION_START != ANDROID_COLOR_CORRECTION_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_CONTROL_START) == static_cast<ssize_t>(ANDROID_CONTROL_START),
              "CameraMetadataSectionStart::ANDROID_CONTROL_START != ANDROID_CONTROL_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_DEMOSAIC_START) == static_cast<ssize_t>(ANDROID_DEMOSAIC_START),
              "CameraMetadataSectionStart::ANDROID_DEMOSAIC_START != ANDROID_DEMOSAIC_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_EDGE_START) == static_cast<ssize_t>(ANDROID_EDGE_START),
              "CameraMetadataSectionStart::ANDROID_EDGE_START != ANDROID_EDGE_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_FLASH_START) == static_cast<ssize_t>(ANDROID_FLASH_START),
              "CameraMetadataSectionStart::ANDROID_FLASH_START != ANDROID_FLASH_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_FLASH_INFO_START) == static_cast<ssize_t>(ANDROID_FLASH_INFO_START),
              "CameraMetadataSectionStart::ANDROID_FLASH_INFO_START != ANDROID_FLASH_INFO_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_HOT_PIXEL_START) == static_cast<ssize_t>(ANDROID_HOT_PIXEL_START),
              "CameraMetadataSectionStart::ANDROID_HOT_PIXEL_START != ANDROID_HOT_PIXEL_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_JPEG_START) == static_cast<ssize_t>(ANDROID_JPEG_START),
              "CameraMetadataSectionStart::ANDROID_JPEG_START != ANDROID_JPEG_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_LENS_START) == static_cast<ssize_t>(ANDROID_LENS_START),
              "CameraMetadataSectionStart::ANDROID_LENS_START != ANDROID_LENS_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_LENS_INFO_START) == static_cast<ssize_t>(ANDROID_LENS_INFO_START),
              "CameraMetadataSectionStart::ANDROID_LENS_INFO_START != ANDROID_LENS_INFO_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_NOISE_REDUCTION_START) == static_cast<ssize_t>(ANDROID_NOISE_REDUCTION_START),
              "CameraMetadataSectionStart::ANDROID_NOISE_REDUCTION_START != ANDROID_NOISE_REDUCTION_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_QUIRKS_START) == static_cast<ssize_t>(ANDROID_QUIRKS_START),
              "CameraMetadataSectionStart::ANDROID_QUIRKS_START != ANDROID_QUIRKS_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_REQUEST_START) == static_cast<ssize_t>(ANDROID_REQUEST_START),
              "CameraMetadataSectionStart::ANDROID_REQUEST_START != ANDROID_REQUEST_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_SCALER_START) == static_cast<ssize_t>(ANDROID_SCALER_START),
              "CameraMetadataSectionStart::ANDROID_SCALER_START != ANDROID_SCALER_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_SENSOR_START) == static_cast<ssize_t>(ANDROID_SENSOR_START),
              "CameraMetadataSectionStart::ANDROID_SENSOR_START != ANDROID_SENSOR_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_SENSOR_INFO_START) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_START),
              "CameraMetadataSectionStart::ANDROID_SENSOR_INFO_START != ANDROID_SENSOR_INFO_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_SHADING_START) == static_cast<ssize_t>(ANDROID_SHADING_START),
              "CameraMetadataSectionStart::ANDROID_SHADING_START != ANDROID_SHADING_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_STATISTICS_START) == static_cast<ssize_t>(ANDROID_STATISTICS_START),
              "CameraMetadataSectionStart::ANDROID_STATISTICS_START != ANDROID_STATISTICS_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_STATISTICS_INFO_START) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO_START),
              "CameraMetadataSectionStart::ANDROID_STATISTICS_INFO_START != ANDROID_STATISTICS_INFO_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_TONEMAP_START) == static_cast<ssize_t>(ANDROID_TONEMAP_START),
              "CameraMetadataSectionStart::ANDROID_TONEMAP_START != ANDROID_TONEMAP_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_LED_START) == static_cast<ssize_t>(ANDROID_LED_START),
              "CameraMetadataSectionStart::ANDROID_LED_START != ANDROID_LED_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_INFO_START) == static_cast<ssize_t>(ANDROID_INFO_START),
              "CameraMetadataSectionStart::ANDROID_INFO_START != ANDROID_INFO_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_BLACK_LEVEL_START) == static_cast<ssize_t>(ANDROID_BLACK_LEVEL_START),
              "CameraMetadataSectionStart::ANDROID_BLACK_LEVEL_START != ANDROID_BLACK_LEVEL_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_SYNC_START) == static_cast<ssize_t>(ANDROID_SYNC_START),
              "CameraMetadataSectionStart::ANDROID_SYNC_START != ANDROID_SYNC_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_REPROCESS_START) == static_cast<ssize_t>(ANDROID_REPROCESS_START),
              "CameraMetadataSectionStart::ANDROID_REPROCESS_START != ANDROID_REPROCESS_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_DEPTH_START) == static_cast<ssize_t>(ANDROID_DEPTH_START),
              "CameraMetadataSectionStart::ANDROID_DEPTH_START != ANDROID_DEPTH_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_LOGICAL_MULTI_CAMERA_START) == static_cast<ssize_t>(ANDROID_LOGICAL_MULTI_CAMERA_START),
              "CameraMetadataSectionStart::ANDROID_LOGICAL_MULTI_CAMERA_START != ANDROID_LOGICAL_MULTI_CAMERA_START");
static_assert(static_cast<ssize_t>(CameraMetadataSectionStart::ANDROID_DISTORTION_CORRECTION_START) == static_cast<ssize_t>(ANDROID_DISTORTION_CORRECTION_START),
              "CameraMetadataSectionStart::ANDROID_DISTORTION_CORRECTION_START != ANDROID_DISTORTION_CORRECTION_START");

/**
 * Verify all the definitions in CameraMetadataTag match their corresponding enum
 * definitions in camera_metadata_tags.h
 */
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_COLOR_CORRECTION_MODE) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_MODE),
              "CameraMetadataTag::ANDROID_COLOR_CORRECTION_MODE != ANDROID_COLOR_CORRECTION_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_COLOR_CORRECTION_TRANSFORM) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_TRANSFORM),
              "CameraMetadataTag::ANDROID_COLOR_CORRECTION_TRANSFORM != ANDROID_COLOR_CORRECTION_TRANSFORM");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_COLOR_CORRECTION_GAINS) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_GAINS),
              "CameraMetadataTag::ANDROID_COLOR_CORRECTION_GAINS != ANDROID_COLOR_CORRECTION_GAINS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_COLOR_CORRECTION_ABERRATION_MODE) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_ABERRATION_MODE),
              "CameraMetadataTag::ANDROID_COLOR_CORRECTION_ABERRATION_MODE != ANDROID_COLOR_CORRECTION_ABERRATION_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES),
              "CameraMetadataTag::ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES != ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_ANTIBANDING_MODE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_ANTIBANDING_MODE),
              "CameraMetadataTag::ANDROID_CONTROL_AE_ANTIBANDING_MODE != ANDROID_CONTROL_AE_ANTIBANDING_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION) == static_cast<ssize_t>(ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION),
              "CameraMetadataTag::ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION != ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_LOCK) == static_cast<ssize_t>(ANDROID_CONTROL_AE_LOCK),
              "CameraMetadataTag::ANDROID_CONTROL_AE_LOCK != ANDROID_CONTROL_AE_LOCK");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_MODE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_MODE),
              "CameraMetadataTag::ANDROID_CONTROL_AE_MODE != ANDROID_CONTROL_AE_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_REGIONS) == static_cast<ssize_t>(ANDROID_CONTROL_AE_REGIONS),
              "CameraMetadataTag::ANDROID_CONTROL_AE_REGIONS != ANDROID_CONTROL_AE_REGIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_TARGET_FPS_RANGE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_TARGET_FPS_RANGE),
              "CameraMetadataTag::ANDROID_CONTROL_AE_TARGET_FPS_RANGE != ANDROID_CONTROL_AE_TARGET_FPS_RANGE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER) == static_cast<ssize_t>(ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER),
              "CameraMetadataTag::ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER != ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AF_MODE) == static_cast<ssize_t>(ANDROID_CONTROL_AF_MODE),
              "CameraMetadataTag::ANDROID_CONTROL_AF_MODE != ANDROID_CONTROL_AF_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AF_REGIONS) == static_cast<ssize_t>(ANDROID_CONTROL_AF_REGIONS),
              "CameraMetadataTag::ANDROID_CONTROL_AF_REGIONS != ANDROID_CONTROL_AF_REGIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AF_TRIGGER) == static_cast<ssize_t>(ANDROID_CONTROL_AF_TRIGGER),
              "CameraMetadataTag::ANDROID_CONTROL_AF_TRIGGER != ANDROID_CONTROL_AF_TRIGGER");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AWB_LOCK) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_LOCK),
              "CameraMetadataTag::ANDROID_CONTROL_AWB_LOCK != ANDROID_CONTROL_AWB_LOCK");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AWB_MODE) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_MODE),
              "CameraMetadataTag::ANDROID_CONTROL_AWB_MODE != ANDROID_CONTROL_AWB_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AWB_REGIONS) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_REGIONS),
              "CameraMetadataTag::ANDROID_CONTROL_AWB_REGIONS != ANDROID_CONTROL_AWB_REGIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_CAPTURE_INTENT) == static_cast<ssize_t>(ANDROID_CONTROL_CAPTURE_INTENT),
              "CameraMetadataTag::ANDROID_CONTROL_CAPTURE_INTENT != ANDROID_CONTROL_CAPTURE_INTENT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_EFFECT_MODE) == static_cast<ssize_t>(ANDROID_CONTROL_EFFECT_MODE),
              "CameraMetadataTag::ANDROID_CONTROL_EFFECT_MODE != ANDROID_CONTROL_EFFECT_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_MODE) == static_cast<ssize_t>(ANDROID_CONTROL_MODE),
              "CameraMetadataTag::ANDROID_CONTROL_MODE != ANDROID_CONTROL_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_SCENE_MODE) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE),
              "CameraMetadataTag::ANDROID_CONTROL_SCENE_MODE != ANDROID_CONTROL_SCENE_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_VIDEO_STABILIZATION_MODE) == static_cast<ssize_t>(ANDROID_CONTROL_VIDEO_STABILIZATION_MODE),
              "CameraMetadataTag::ANDROID_CONTROL_VIDEO_STABILIZATION_MODE != ANDROID_CONTROL_VIDEO_STABILIZATION_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES) == static_cast<ssize_t>(ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES),
              "CameraMetadataTag::ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES != ANDROID_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_AVAILABLE_MODES) == static_cast<ssize_t>(ANDROID_CONTROL_AE_AVAILABLE_MODES),
              "CameraMetadataTag::ANDROID_CONTROL_AE_AVAILABLE_MODES != ANDROID_CONTROL_AE_AVAILABLE_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES) == static_cast<ssize_t>(ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES),
              "CameraMetadataTag::ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES != ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_COMPENSATION_RANGE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_COMPENSATION_RANGE),
              "CameraMetadataTag::ANDROID_CONTROL_AE_COMPENSATION_RANGE != ANDROID_CONTROL_AE_COMPENSATION_RANGE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_COMPENSATION_STEP) == static_cast<ssize_t>(ANDROID_CONTROL_AE_COMPENSATION_STEP),
              "CameraMetadataTag::ANDROID_CONTROL_AE_COMPENSATION_STEP != ANDROID_CONTROL_AE_COMPENSATION_STEP");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AF_AVAILABLE_MODES) == static_cast<ssize_t>(ANDROID_CONTROL_AF_AVAILABLE_MODES),
              "CameraMetadataTag::ANDROID_CONTROL_AF_AVAILABLE_MODES != ANDROID_CONTROL_AF_AVAILABLE_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AVAILABLE_EFFECTS) == static_cast<ssize_t>(ANDROID_CONTROL_AVAILABLE_EFFECTS),
              "CameraMetadataTag::ANDROID_CONTROL_AVAILABLE_EFFECTS != ANDROID_CONTROL_AVAILABLE_EFFECTS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AVAILABLE_SCENE_MODES) == static_cast<ssize_t>(ANDROID_CONTROL_AVAILABLE_SCENE_MODES),
              "CameraMetadataTag::ANDROID_CONTROL_AVAILABLE_SCENE_MODES != ANDROID_CONTROL_AVAILABLE_SCENE_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES) == static_cast<ssize_t>(ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES),
              "CameraMetadataTag::ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES != ANDROID_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AWB_AVAILABLE_MODES) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_AVAILABLE_MODES),
              "CameraMetadataTag::ANDROID_CONTROL_AWB_AVAILABLE_MODES != ANDROID_CONTROL_AWB_AVAILABLE_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_MAX_REGIONS) == static_cast<ssize_t>(ANDROID_CONTROL_MAX_REGIONS),
              "CameraMetadataTag::ANDROID_CONTROL_MAX_REGIONS != ANDROID_CONTROL_MAX_REGIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_SCENE_MODE_OVERRIDES) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_OVERRIDES),
              "CameraMetadataTag::ANDROID_CONTROL_SCENE_MODE_OVERRIDES != ANDROID_CONTROL_SCENE_MODE_OVERRIDES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_PRECAPTURE_ID) == static_cast<ssize_t>(ANDROID_CONTROL_AE_PRECAPTURE_ID),
              "CameraMetadataTag::ANDROID_CONTROL_AE_PRECAPTURE_ID != ANDROID_CONTROL_AE_PRECAPTURE_ID");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_STATE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_STATE),
              "CameraMetadataTag::ANDROID_CONTROL_AE_STATE != ANDROID_CONTROL_AE_STATE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AF_STATE) == static_cast<ssize_t>(ANDROID_CONTROL_AF_STATE),
              "CameraMetadataTag::ANDROID_CONTROL_AF_STATE != ANDROID_CONTROL_AF_STATE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AF_TRIGGER_ID) == static_cast<ssize_t>(ANDROID_CONTROL_AF_TRIGGER_ID),
              "CameraMetadataTag::ANDROID_CONTROL_AF_TRIGGER_ID != ANDROID_CONTROL_AF_TRIGGER_ID");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AWB_STATE) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_STATE),
              "CameraMetadataTag::ANDROID_CONTROL_AWB_STATE != ANDROID_CONTROL_AWB_STATE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS) == static_cast<ssize_t>(ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS),
              "CameraMetadataTag::ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS != ANDROID_CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AE_LOCK_AVAILABLE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_LOCK_AVAILABLE),
              "CameraMetadataTag::ANDROID_CONTROL_AE_LOCK_AVAILABLE != ANDROID_CONTROL_AE_LOCK_AVAILABLE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AWB_LOCK_AVAILABLE) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_LOCK_AVAILABLE),
              "CameraMetadataTag::ANDROID_CONTROL_AWB_LOCK_AVAILABLE != ANDROID_CONTROL_AWB_LOCK_AVAILABLE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AVAILABLE_MODES) == static_cast<ssize_t>(ANDROID_CONTROL_AVAILABLE_MODES),
              "CameraMetadataTag::ANDROID_CONTROL_AVAILABLE_MODES != ANDROID_CONTROL_AVAILABLE_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE) == static_cast<ssize_t>(ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE),
              "CameraMetadataTag::ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE != ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST) == static_cast<ssize_t>(ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST),
              "CameraMetadataTag::ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST != ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_ENABLE_ZSL) == static_cast<ssize_t>(ANDROID_CONTROL_ENABLE_ZSL),
              "CameraMetadataTag::ANDROID_CONTROL_ENABLE_ZSL != ANDROID_CONTROL_ENABLE_ZSL");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_CONTROL_AF_SCENE_CHANGE) == static_cast<ssize_t>(ANDROID_CONTROL_AF_SCENE_CHANGE),
              "CameraMetadataTag::ANDROID_CONTROL_AF_SCENE_CHANGE != ANDROID_CONTROL_AF_SCENE_CHANGE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_DEMOSAIC_MODE) == static_cast<ssize_t>(ANDROID_DEMOSAIC_MODE),
              "CameraMetadataTag::ANDROID_DEMOSAIC_MODE != ANDROID_DEMOSAIC_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_EDGE_MODE) == static_cast<ssize_t>(ANDROID_EDGE_MODE),
              "CameraMetadataTag::ANDROID_EDGE_MODE != ANDROID_EDGE_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_EDGE_STRENGTH) == static_cast<ssize_t>(ANDROID_EDGE_STRENGTH),
              "CameraMetadataTag::ANDROID_EDGE_STRENGTH != ANDROID_EDGE_STRENGTH");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_EDGE_AVAILABLE_EDGE_MODES) == static_cast<ssize_t>(ANDROID_EDGE_AVAILABLE_EDGE_MODES),
              "CameraMetadataTag::ANDROID_EDGE_AVAILABLE_EDGE_MODES != ANDROID_EDGE_AVAILABLE_EDGE_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_FLASH_FIRING_POWER) == static_cast<ssize_t>(ANDROID_FLASH_FIRING_POWER),
              "CameraMetadataTag::ANDROID_FLASH_FIRING_POWER != ANDROID_FLASH_FIRING_POWER");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_FLASH_FIRING_TIME) == static_cast<ssize_t>(ANDROID_FLASH_FIRING_TIME),
              "CameraMetadataTag::ANDROID_FLASH_FIRING_TIME != ANDROID_FLASH_FIRING_TIME");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_FLASH_MODE) == static_cast<ssize_t>(ANDROID_FLASH_MODE),
              "CameraMetadataTag::ANDROID_FLASH_MODE != ANDROID_FLASH_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_FLASH_COLOR_TEMPERATURE) == static_cast<ssize_t>(ANDROID_FLASH_COLOR_TEMPERATURE),
              "CameraMetadataTag::ANDROID_FLASH_COLOR_TEMPERATURE != ANDROID_FLASH_COLOR_TEMPERATURE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_FLASH_MAX_ENERGY) == static_cast<ssize_t>(ANDROID_FLASH_MAX_ENERGY),
              "CameraMetadataTag::ANDROID_FLASH_MAX_ENERGY != ANDROID_FLASH_MAX_ENERGY");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_FLASH_STATE) == static_cast<ssize_t>(ANDROID_FLASH_STATE),
              "CameraMetadataTag::ANDROID_FLASH_STATE != ANDROID_FLASH_STATE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_FLASH_INFO_AVAILABLE) == static_cast<ssize_t>(ANDROID_FLASH_INFO_AVAILABLE),
              "CameraMetadataTag::ANDROID_FLASH_INFO_AVAILABLE != ANDROID_FLASH_INFO_AVAILABLE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_FLASH_INFO_CHARGE_DURATION) == static_cast<ssize_t>(ANDROID_FLASH_INFO_CHARGE_DURATION),
              "CameraMetadataTag::ANDROID_FLASH_INFO_CHARGE_DURATION != ANDROID_FLASH_INFO_CHARGE_DURATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_HOT_PIXEL_MODE) == static_cast<ssize_t>(ANDROID_HOT_PIXEL_MODE),
              "CameraMetadataTag::ANDROID_HOT_PIXEL_MODE != ANDROID_HOT_PIXEL_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES) == static_cast<ssize_t>(ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES),
              "CameraMetadataTag::ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES != ANDROID_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_JPEG_GPS_COORDINATES) == static_cast<ssize_t>(ANDROID_JPEG_GPS_COORDINATES),
              "CameraMetadataTag::ANDROID_JPEG_GPS_COORDINATES != ANDROID_JPEG_GPS_COORDINATES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_JPEG_GPS_PROCESSING_METHOD) == static_cast<ssize_t>(ANDROID_JPEG_GPS_PROCESSING_METHOD),
              "CameraMetadataTag::ANDROID_JPEG_GPS_PROCESSING_METHOD != ANDROID_JPEG_GPS_PROCESSING_METHOD");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_JPEG_GPS_TIMESTAMP) == static_cast<ssize_t>(ANDROID_JPEG_GPS_TIMESTAMP),
              "CameraMetadataTag::ANDROID_JPEG_GPS_TIMESTAMP != ANDROID_JPEG_GPS_TIMESTAMP");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_JPEG_ORIENTATION) == static_cast<ssize_t>(ANDROID_JPEG_ORIENTATION),
              "CameraMetadataTag::ANDROID_JPEG_ORIENTATION != ANDROID_JPEG_ORIENTATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_JPEG_QUALITY) == static_cast<ssize_t>(ANDROID_JPEG_QUALITY),
              "CameraMetadataTag::ANDROID_JPEG_QUALITY != ANDROID_JPEG_QUALITY");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_JPEG_THUMBNAIL_QUALITY) == static_cast<ssize_t>(ANDROID_JPEG_THUMBNAIL_QUALITY),
              "CameraMetadataTag::ANDROID_JPEG_THUMBNAIL_QUALITY != ANDROID_JPEG_THUMBNAIL_QUALITY");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_JPEG_THUMBNAIL_SIZE) == static_cast<ssize_t>(ANDROID_JPEG_THUMBNAIL_SIZE),
              "CameraMetadataTag::ANDROID_JPEG_THUMBNAIL_SIZE != ANDROID_JPEG_THUMBNAIL_SIZE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES) == static_cast<ssize_t>(ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES),
              "CameraMetadataTag::ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES != ANDROID_JPEG_AVAILABLE_THUMBNAIL_SIZES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_JPEG_MAX_SIZE) == static_cast<ssize_t>(ANDROID_JPEG_MAX_SIZE),
              "CameraMetadataTag::ANDROID_JPEG_MAX_SIZE != ANDROID_JPEG_MAX_SIZE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_JPEG_SIZE) == static_cast<ssize_t>(ANDROID_JPEG_SIZE),
              "CameraMetadataTag::ANDROID_JPEG_SIZE != ANDROID_JPEG_SIZE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_APERTURE) == static_cast<ssize_t>(ANDROID_LENS_APERTURE),
              "CameraMetadataTag::ANDROID_LENS_APERTURE != ANDROID_LENS_APERTURE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_FILTER_DENSITY) == static_cast<ssize_t>(ANDROID_LENS_FILTER_DENSITY),
              "CameraMetadataTag::ANDROID_LENS_FILTER_DENSITY != ANDROID_LENS_FILTER_DENSITY");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_FOCAL_LENGTH) == static_cast<ssize_t>(ANDROID_LENS_FOCAL_LENGTH),
              "CameraMetadataTag::ANDROID_LENS_FOCAL_LENGTH != ANDROID_LENS_FOCAL_LENGTH");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_FOCUS_DISTANCE) == static_cast<ssize_t>(ANDROID_LENS_FOCUS_DISTANCE),
              "CameraMetadataTag::ANDROID_LENS_FOCUS_DISTANCE != ANDROID_LENS_FOCUS_DISTANCE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_OPTICAL_STABILIZATION_MODE) == static_cast<ssize_t>(ANDROID_LENS_OPTICAL_STABILIZATION_MODE),
              "CameraMetadataTag::ANDROID_LENS_OPTICAL_STABILIZATION_MODE != ANDROID_LENS_OPTICAL_STABILIZATION_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_FACING) == static_cast<ssize_t>(ANDROID_LENS_FACING),
              "CameraMetadataTag::ANDROID_LENS_FACING != ANDROID_LENS_FACING");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_POSE_ROTATION) == static_cast<ssize_t>(ANDROID_LENS_POSE_ROTATION),
              "CameraMetadataTag::ANDROID_LENS_POSE_ROTATION != ANDROID_LENS_POSE_ROTATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_POSE_TRANSLATION) == static_cast<ssize_t>(ANDROID_LENS_POSE_TRANSLATION),
              "CameraMetadataTag::ANDROID_LENS_POSE_TRANSLATION != ANDROID_LENS_POSE_TRANSLATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_FOCUS_RANGE) == static_cast<ssize_t>(ANDROID_LENS_FOCUS_RANGE),
              "CameraMetadataTag::ANDROID_LENS_FOCUS_RANGE != ANDROID_LENS_FOCUS_RANGE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_STATE) == static_cast<ssize_t>(ANDROID_LENS_STATE),
              "CameraMetadataTag::ANDROID_LENS_STATE != ANDROID_LENS_STATE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_INTRINSIC_CALIBRATION) == static_cast<ssize_t>(ANDROID_LENS_INTRINSIC_CALIBRATION),
              "CameraMetadataTag::ANDROID_LENS_INTRINSIC_CALIBRATION != ANDROID_LENS_INTRINSIC_CALIBRATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_RADIAL_DISTORTION) == static_cast<ssize_t>(ANDROID_LENS_RADIAL_DISTORTION),
              "CameraMetadataTag::ANDROID_LENS_RADIAL_DISTORTION != ANDROID_LENS_RADIAL_DISTORTION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_POSE_REFERENCE) == static_cast<ssize_t>(ANDROID_LENS_POSE_REFERENCE),
              "CameraMetadataTag::ANDROID_LENS_POSE_REFERENCE != ANDROID_LENS_POSE_REFERENCE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_DISTORTION) == static_cast<ssize_t>(ANDROID_LENS_DISTORTION),
              "CameraMetadataTag::ANDROID_LENS_DISTORTION != ANDROID_LENS_DISTORTION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_INFO_AVAILABLE_APERTURES) == static_cast<ssize_t>(ANDROID_LENS_INFO_AVAILABLE_APERTURES),
              "CameraMetadataTag::ANDROID_LENS_INFO_AVAILABLE_APERTURES != ANDROID_LENS_INFO_AVAILABLE_APERTURES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES) == static_cast<ssize_t>(ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES),
              "CameraMetadataTag::ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES != ANDROID_LENS_INFO_AVAILABLE_FILTER_DENSITIES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS) == static_cast<ssize_t>(ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS),
              "CameraMetadataTag::ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS != ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION) == static_cast<ssize_t>(ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION),
              "CameraMetadataTag::ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION != ANDROID_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE) == static_cast<ssize_t>(ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE),
              "CameraMetadataTag::ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE != ANDROID_LENS_INFO_HYPERFOCAL_DISTANCE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE) == static_cast<ssize_t>(ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE),
              "CameraMetadataTag::ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE != ANDROID_LENS_INFO_MINIMUM_FOCUS_DISTANCE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_INFO_SHADING_MAP_SIZE) == static_cast<ssize_t>(ANDROID_LENS_INFO_SHADING_MAP_SIZE),
              "CameraMetadataTag::ANDROID_LENS_INFO_SHADING_MAP_SIZE != ANDROID_LENS_INFO_SHADING_MAP_SIZE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION) == static_cast<ssize_t>(ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION),
              "CameraMetadataTag::ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION != ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_NOISE_REDUCTION_MODE) == static_cast<ssize_t>(ANDROID_NOISE_REDUCTION_MODE),
              "CameraMetadataTag::ANDROID_NOISE_REDUCTION_MODE != ANDROID_NOISE_REDUCTION_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_NOISE_REDUCTION_STRENGTH) == static_cast<ssize_t>(ANDROID_NOISE_REDUCTION_STRENGTH),
              "CameraMetadataTag::ANDROID_NOISE_REDUCTION_STRENGTH != ANDROID_NOISE_REDUCTION_STRENGTH");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES) == static_cast<ssize_t>(ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES),
              "CameraMetadataTag::ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES != ANDROID_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_QUIRKS_METERING_CROP_REGION) == static_cast<ssize_t>(ANDROID_QUIRKS_METERING_CROP_REGION),
              "CameraMetadataTag::ANDROID_QUIRKS_METERING_CROP_REGION != ANDROID_QUIRKS_METERING_CROP_REGION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO) == static_cast<ssize_t>(ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO),
              "CameraMetadataTag::ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO != ANDROID_QUIRKS_TRIGGER_AF_WITH_AUTO");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_QUIRKS_USE_ZSL_FORMAT) == static_cast<ssize_t>(ANDROID_QUIRKS_USE_ZSL_FORMAT),
              "CameraMetadataTag::ANDROID_QUIRKS_USE_ZSL_FORMAT != ANDROID_QUIRKS_USE_ZSL_FORMAT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_QUIRKS_USE_PARTIAL_RESULT) == static_cast<ssize_t>(ANDROID_QUIRKS_USE_PARTIAL_RESULT),
              "CameraMetadataTag::ANDROID_QUIRKS_USE_PARTIAL_RESULT != ANDROID_QUIRKS_USE_PARTIAL_RESULT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_QUIRKS_PARTIAL_RESULT) == static_cast<ssize_t>(ANDROID_QUIRKS_PARTIAL_RESULT),
              "CameraMetadataTag::ANDROID_QUIRKS_PARTIAL_RESULT != ANDROID_QUIRKS_PARTIAL_RESULT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_FRAME_COUNT) == static_cast<ssize_t>(ANDROID_REQUEST_FRAME_COUNT),
              "CameraMetadataTag::ANDROID_REQUEST_FRAME_COUNT != ANDROID_REQUEST_FRAME_COUNT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_ID) == static_cast<ssize_t>(ANDROID_REQUEST_ID),
              "CameraMetadataTag::ANDROID_REQUEST_ID != ANDROID_REQUEST_ID");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_INPUT_STREAMS) == static_cast<ssize_t>(ANDROID_REQUEST_INPUT_STREAMS),
              "CameraMetadataTag::ANDROID_REQUEST_INPUT_STREAMS != ANDROID_REQUEST_INPUT_STREAMS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_METADATA_MODE) == static_cast<ssize_t>(ANDROID_REQUEST_METADATA_MODE),
              "CameraMetadataTag::ANDROID_REQUEST_METADATA_MODE != ANDROID_REQUEST_METADATA_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_OUTPUT_STREAMS) == static_cast<ssize_t>(ANDROID_REQUEST_OUTPUT_STREAMS),
              "CameraMetadataTag::ANDROID_REQUEST_OUTPUT_STREAMS != ANDROID_REQUEST_OUTPUT_STREAMS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_TYPE) == static_cast<ssize_t>(ANDROID_REQUEST_TYPE),
              "CameraMetadataTag::ANDROID_REQUEST_TYPE != ANDROID_REQUEST_TYPE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS) == static_cast<ssize_t>(ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS),
              "CameraMetadataTag::ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS != ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS) == static_cast<ssize_t>(ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS),
              "CameraMetadataTag::ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS != ANDROID_REQUEST_MAX_NUM_REPROCESS_STREAMS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS) == static_cast<ssize_t>(ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS),
              "CameraMetadataTag::ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS != ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_PIPELINE_DEPTH) == static_cast<ssize_t>(ANDROID_REQUEST_PIPELINE_DEPTH),
              "CameraMetadataTag::ANDROID_REQUEST_PIPELINE_DEPTH != ANDROID_REQUEST_PIPELINE_DEPTH");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_PIPELINE_MAX_DEPTH) == static_cast<ssize_t>(ANDROID_REQUEST_PIPELINE_MAX_DEPTH),
              "CameraMetadataTag::ANDROID_REQUEST_PIPELINE_MAX_DEPTH != ANDROID_REQUEST_PIPELINE_MAX_DEPTH");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_PARTIAL_RESULT_COUNT) == static_cast<ssize_t>(ANDROID_REQUEST_PARTIAL_RESULT_COUNT),
              "CameraMetadataTag::ANDROID_REQUEST_PARTIAL_RESULT_COUNT != ANDROID_REQUEST_PARTIAL_RESULT_COUNT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_CAPABILITIES) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES),
              "CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_CAPABILITIES != ANDROID_REQUEST_AVAILABLE_CAPABILITIES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS),
              "CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS != ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_RESULT_KEYS) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_RESULT_KEYS),
              "CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_RESULT_KEYS != ANDROID_REQUEST_AVAILABLE_RESULT_KEYS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS),
              "CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS != ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_SESSION_KEYS) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_SESSION_KEYS),
              "CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_SESSION_KEYS != ANDROID_REQUEST_AVAILABLE_SESSION_KEYS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS),
              "CameraMetadataTag::ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS != ANDROID_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_CROP_REGION) == static_cast<ssize_t>(ANDROID_SCALER_CROP_REGION),
              "CameraMetadataTag::ANDROID_SCALER_CROP_REGION != ANDROID_SCALER_CROP_REGION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_FORMATS) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_FORMATS),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_FORMATS != ANDROID_SCALER_AVAILABLE_FORMATS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS != ANDROID_SCALER_AVAILABLE_JPEG_MIN_DURATIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_JPEG_SIZES) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_JPEG_SIZES),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_JPEG_SIZES != ANDROID_SCALER_AVAILABLE_JPEG_SIZES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM != ANDROID_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS != ANDROID_SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES != ANDROID_SCALER_AVAILABLE_PROCESSED_SIZES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS != ANDROID_SCALER_AVAILABLE_RAW_MIN_DURATIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_RAW_SIZES) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_RAW_SIZES),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_RAW_SIZES != ANDROID_SCALER_AVAILABLE_RAW_SIZES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP != ANDROID_SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS != ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS != ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_AVAILABLE_STALL_DURATIONS) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_STALL_DURATIONS),
              "CameraMetadataTag::ANDROID_SCALER_AVAILABLE_STALL_DURATIONS != ANDROID_SCALER_AVAILABLE_STALL_DURATIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SCALER_CROPPING_TYPE) == static_cast<ssize_t>(ANDROID_SCALER_CROPPING_TYPE),
              "CameraMetadataTag::ANDROID_SCALER_CROPPING_TYPE != ANDROID_SCALER_CROPPING_TYPE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_EXPOSURE_TIME) == static_cast<ssize_t>(ANDROID_SENSOR_EXPOSURE_TIME),
              "CameraMetadataTag::ANDROID_SENSOR_EXPOSURE_TIME != ANDROID_SENSOR_EXPOSURE_TIME");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_FRAME_DURATION) == static_cast<ssize_t>(ANDROID_SENSOR_FRAME_DURATION),
              "CameraMetadataTag::ANDROID_SENSOR_FRAME_DURATION != ANDROID_SENSOR_FRAME_DURATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_SENSITIVITY) == static_cast<ssize_t>(ANDROID_SENSOR_SENSITIVITY),
              "CameraMetadataTag::ANDROID_SENSOR_SENSITIVITY != ANDROID_SENSOR_SENSITIVITY");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_REFERENCE_ILLUMINANT1) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1),
              "CameraMetadataTag::ANDROID_SENSOR_REFERENCE_ILLUMINANT1 != ANDROID_SENSOR_REFERENCE_ILLUMINANT1");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_REFERENCE_ILLUMINANT2) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT2),
              "CameraMetadataTag::ANDROID_SENSOR_REFERENCE_ILLUMINANT2 != ANDROID_SENSOR_REFERENCE_ILLUMINANT2");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_CALIBRATION_TRANSFORM1) == static_cast<ssize_t>(ANDROID_SENSOR_CALIBRATION_TRANSFORM1),
              "CameraMetadataTag::ANDROID_SENSOR_CALIBRATION_TRANSFORM1 != ANDROID_SENSOR_CALIBRATION_TRANSFORM1");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_CALIBRATION_TRANSFORM2) == static_cast<ssize_t>(ANDROID_SENSOR_CALIBRATION_TRANSFORM2),
              "CameraMetadataTag::ANDROID_SENSOR_CALIBRATION_TRANSFORM2 != ANDROID_SENSOR_CALIBRATION_TRANSFORM2");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_COLOR_TRANSFORM1) == static_cast<ssize_t>(ANDROID_SENSOR_COLOR_TRANSFORM1),
              "CameraMetadataTag::ANDROID_SENSOR_COLOR_TRANSFORM1 != ANDROID_SENSOR_COLOR_TRANSFORM1");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_COLOR_TRANSFORM2) == static_cast<ssize_t>(ANDROID_SENSOR_COLOR_TRANSFORM2),
              "CameraMetadataTag::ANDROID_SENSOR_COLOR_TRANSFORM2 != ANDROID_SENSOR_COLOR_TRANSFORM2");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_FORWARD_MATRIX1) == static_cast<ssize_t>(ANDROID_SENSOR_FORWARD_MATRIX1),
              "CameraMetadataTag::ANDROID_SENSOR_FORWARD_MATRIX1 != ANDROID_SENSOR_FORWARD_MATRIX1");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_FORWARD_MATRIX2) == static_cast<ssize_t>(ANDROID_SENSOR_FORWARD_MATRIX2),
              "CameraMetadataTag::ANDROID_SENSOR_FORWARD_MATRIX2 != ANDROID_SENSOR_FORWARD_MATRIX2");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_BASE_GAIN_FACTOR) == static_cast<ssize_t>(ANDROID_SENSOR_BASE_GAIN_FACTOR),
              "CameraMetadataTag::ANDROID_SENSOR_BASE_GAIN_FACTOR != ANDROID_SENSOR_BASE_GAIN_FACTOR");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_BLACK_LEVEL_PATTERN) == static_cast<ssize_t>(ANDROID_SENSOR_BLACK_LEVEL_PATTERN),
              "CameraMetadataTag::ANDROID_SENSOR_BLACK_LEVEL_PATTERN != ANDROID_SENSOR_BLACK_LEVEL_PATTERN");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY) == static_cast<ssize_t>(ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY),
              "CameraMetadataTag::ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY != ANDROID_SENSOR_MAX_ANALOG_SENSITIVITY");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_ORIENTATION) == static_cast<ssize_t>(ANDROID_SENSOR_ORIENTATION),
              "CameraMetadataTag::ANDROID_SENSOR_ORIENTATION != ANDROID_SENSOR_ORIENTATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS) == static_cast<ssize_t>(ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS),
              "CameraMetadataTag::ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS != ANDROID_SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_TIMESTAMP) == static_cast<ssize_t>(ANDROID_SENSOR_TIMESTAMP),
              "CameraMetadataTag::ANDROID_SENSOR_TIMESTAMP != ANDROID_SENSOR_TIMESTAMP");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_TEMPERATURE) == static_cast<ssize_t>(ANDROID_SENSOR_TEMPERATURE),
              "CameraMetadataTag::ANDROID_SENSOR_TEMPERATURE != ANDROID_SENSOR_TEMPERATURE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_NEUTRAL_COLOR_POINT) == static_cast<ssize_t>(ANDROID_SENSOR_NEUTRAL_COLOR_POINT),
              "CameraMetadataTag::ANDROID_SENSOR_NEUTRAL_COLOR_POINT != ANDROID_SENSOR_NEUTRAL_COLOR_POINT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_NOISE_PROFILE) == static_cast<ssize_t>(ANDROID_SENSOR_NOISE_PROFILE),
              "CameraMetadataTag::ANDROID_SENSOR_NOISE_PROFILE != ANDROID_SENSOR_NOISE_PROFILE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_PROFILE_HUE_SAT_MAP) == static_cast<ssize_t>(ANDROID_SENSOR_PROFILE_HUE_SAT_MAP),
              "CameraMetadataTag::ANDROID_SENSOR_PROFILE_HUE_SAT_MAP != ANDROID_SENSOR_PROFILE_HUE_SAT_MAP");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_PROFILE_TONE_CURVE) == static_cast<ssize_t>(ANDROID_SENSOR_PROFILE_TONE_CURVE),
              "CameraMetadataTag::ANDROID_SENSOR_PROFILE_TONE_CURVE != ANDROID_SENSOR_PROFILE_TONE_CURVE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_GREEN_SPLIT) == static_cast<ssize_t>(ANDROID_SENSOR_GREEN_SPLIT),
              "CameraMetadataTag::ANDROID_SENSOR_GREEN_SPLIT != ANDROID_SENSOR_GREEN_SPLIT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_TEST_PATTERN_DATA) == static_cast<ssize_t>(ANDROID_SENSOR_TEST_PATTERN_DATA),
              "CameraMetadataTag::ANDROID_SENSOR_TEST_PATTERN_DATA != ANDROID_SENSOR_TEST_PATTERN_DATA");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_TEST_PATTERN_MODE) == static_cast<ssize_t>(ANDROID_SENSOR_TEST_PATTERN_MODE),
              "CameraMetadataTag::ANDROID_SENSOR_TEST_PATTERN_MODE != ANDROID_SENSOR_TEST_PATTERN_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES) == static_cast<ssize_t>(ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES),
              "CameraMetadataTag::ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES != ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_ROLLING_SHUTTER_SKEW) == static_cast<ssize_t>(ANDROID_SENSOR_ROLLING_SHUTTER_SKEW),
              "CameraMetadataTag::ANDROID_SENSOR_ROLLING_SHUTTER_SKEW != ANDROID_SENSOR_ROLLING_SHUTTER_SKEW");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_OPTICAL_BLACK_REGIONS) == static_cast<ssize_t>(ANDROID_SENSOR_OPTICAL_BLACK_REGIONS),
              "CameraMetadataTag::ANDROID_SENSOR_OPTICAL_BLACK_REGIONS != ANDROID_SENSOR_OPTICAL_BLACK_REGIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL) == static_cast<ssize_t>(ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL),
              "CameraMetadataTag::ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL != ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL) == static_cast<ssize_t>(ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL),
              "CameraMetadataTag::ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL != ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_OPAQUE_RAW_SIZE) == static_cast<ssize_t>(ANDROID_SENSOR_OPAQUE_RAW_SIZE),
              "CameraMetadataTag::ANDROID_SENSOR_OPAQUE_RAW_SIZE != ANDROID_SENSOR_OPAQUE_RAW_SIZE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE != ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_SENSITIVITY_RANGE) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_SENSITIVITY_RANGE),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_SENSITIVITY_RANGE != ANDROID_SENSOR_INFO_SENSITIVITY_RANGE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT != ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE != ANDROID_SENSOR_INFO_EXPOSURE_TIME_RANGE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_MAX_FRAME_DURATION) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_MAX_FRAME_DURATION),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_MAX_FRAME_DURATION != ANDROID_SENSOR_INFO_MAX_FRAME_DURATION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_PHYSICAL_SIZE) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_PHYSICAL_SIZE),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_PHYSICAL_SIZE != ANDROID_SENSOR_INFO_PHYSICAL_SIZE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE != ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_WHITE_LEVEL) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_WHITE_LEVEL),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_WHITE_LEVEL != ANDROID_SENSOR_INFO_WHITE_LEVEL");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE != ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED != ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE),
              "CameraMetadataTag::ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE != ANDROID_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SHADING_MODE) == static_cast<ssize_t>(ANDROID_SHADING_MODE),
              "CameraMetadataTag::ANDROID_SHADING_MODE != ANDROID_SHADING_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SHADING_STRENGTH) == static_cast<ssize_t>(ANDROID_SHADING_STRENGTH),
              "CameraMetadataTag::ANDROID_SHADING_STRENGTH != ANDROID_SHADING_STRENGTH");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SHADING_AVAILABLE_MODES) == static_cast<ssize_t>(ANDROID_SHADING_AVAILABLE_MODES),
              "CameraMetadataTag::ANDROID_SHADING_AVAILABLE_MODES != ANDROID_SHADING_AVAILABLE_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_FACE_DETECT_MODE) == static_cast<ssize_t>(ANDROID_STATISTICS_FACE_DETECT_MODE),
              "CameraMetadataTag::ANDROID_STATISTICS_FACE_DETECT_MODE != ANDROID_STATISTICS_FACE_DETECT_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_HISTOGRAM_MODE) == static_cast<ssize_t>(ANDROID_STATISTICS_HISTOGRAM_MODE),
              "CameraMetadataTag::ANDROID_STATISTICS_HISTOGRAM_MODE != ANDROID_STATISTICS_HISTOGRAM_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_SHARPNESS_MAP_MODE) == static_cast<ssize_t>(ANDROID_STATISTICS_SHARPNESS_MAP_MODE),
              "CameraMetadataTag::ANDROID_STATISTICS_SHARPNESS_MAP_MODE != ANDROID_STATISTICS_SHARPNESS_MAP_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE) == static_cast<ssize_t>(ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE),
              "CameraMetadataTag::ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE != ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_FACE_IDS) == static_cast<ssize_t>(ANDROID_STATISTICS_FACE_IDS),
              "CameraMetadataTag::ANDROID_STATISTICS_FACE_IDS != ANDROID_STATISTICS_FACE_IDS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_FACE_LANDMARKS) == static_cast<ssize_t>(ANDROID_STATISTICS_FACE_LANDMARKS),
              "CameraMetadataTag::ANDROID_STATISTICS_FACE_LANDMARKS != ANDROID_STATISTICS_FACE_LANDMARKS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_FACE_RECTANGLES) == static_cast<ssize_t>(ANDROID_STATISTICS_FACE_RECTANGLES),
              "CameraMetadataTag::ANDROID_STATISTICS_FACE_RECTANGLES != ANDROID_STATISTICS_FACE_RECTANGLES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_FACE_SCORES) == static_cast<ssize_t>(ANDROID_STATISTICS_FACE_SCORES),
              "CameraMetadataTag::ANDROID_STATISTICS_FACE_SCORES != ANDROID_STATISTICS_FACE_SCORES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_HISTOGRAM) == static_cast<ssize_t>(ANDROID_STATISTICS_HISTOGRAM),
              "CameraMetadataTag::ANDROID_STATISTICS_HISTOGRAM != ANDROID_STATISTICS_HISTOGRAM");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_SHARPNESS_MAP) == static_cast<ssize_t>(ANDROID_STATISTICS_SHARPNESS_MAP),
              "CameraMetadataTag::ANDROID_STATISTICS_SHARPNESS_MAP != ANDROID_STATISTICS_SHARPNESS_MAP");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP) == static_cast<ssize_t>(ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP),
              "CameraMetadataTag::ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP != ANDROID_STATISTICS_LENS_SHADING_CORRECTION_MAP");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_LENS_SHADING_MAP) == static_cast<ssize_t>(ANDROID_STATISTICS_LENS_SHADING_MAP),
              "CameraMetadataTag::ANDROID_STATISTICS_LENS_SHADING_MAP != ANDROID_STATISTICS_LENS_SHADING_MAP");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_PREDICTED_COLOR_GAINS) == static_cast<ssize_t>(ANDROID_STATISTICS_PREDICTED_COLOR_GAINS),
              "CameraMetadataTag::ANDROID_STATISTICS_PREDICTED_COLOR_GAINS != ANDROID_STATISTICS_PREDICTED_COLOR_GAINS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM) == static_cast<ssize_t>(ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM),
              "CameraMetadataTag::ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM != ANDROID_STATISTICS_PREDICTED_COLOR_TRANSFORM");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_SCENE_FLICKER) == static_cast<ssize_t>(ANDROID_STATISTICS_SCENE_FLICKER),
              "CameraMetadataTag::ANDROID_STATISTICS_SCENE_FLICKER != ANDROID_STATISTICS_SCENE_FLICKER");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_HOT_PIXEL_MAP) == static_cast<ssize_t>(ANDROID_STATISTICS_HOT_PIXEL_MAP),
              "CameraMetadataTag::ANDROID_STATISTICS_HOT_PIXEL_MAP != ANDROID_STATISTICS_HOT_PIXEL_MAP");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_LENS_SHADING_MAP_MODE) == static_cast<ssize_t>(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE),
              "CameraMetadataTag::ANDROID_STATISTICS_LENS_SHADING_MAP_MODE != ANDROID_STATISTICS_LENS_SHADING_MAP_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_OIS_DATA_MODE) == static_cast<ssize_t>(ANDROID_STATISTICS_OIS_DATA_MODE),
              "CameraMetadataTag::ANDROID_STATISTICS_OIS_DATA_MODE != ANDROID_STATISTICS_OIS_DATA_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_OIS_TIMESTAMPS) == static_cast<ssize_t>(ANDROID_STATISTICS_OIS_TIMESTAMPS),
              "CameraMetadataTag::ANDROID_STATISTICS_OIS_TIMESTAMPS != ANDROID_STATISTICS_OIS_TIMESTAMPS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_OIS_X_SHIFTS) == static_cast<ssize_t>(ANDROID_STATISTICS_OIS_X_SHIFTS),
              "CameraMetadataTag::ANDROID_STATISTICS_OIS_X_SHIFTS != ANDROID_STATISTICS_OIS_X_SHIFTS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_OIS_Y_SHIFTS) == static_cast<ssize_t>(ANDROID_STATISTICS_OIS_Y_SHIFTS),
              "CameraMetadataTag::ANDROID_STATISTICS_OIS_Y_SHIFTS != ANDROID_STATISTICS_OIS_Y_SHIFTS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES),
              "CameraMetadataTag::ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES != ANDROID_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT),
              "CameraMetadataTag::ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT != ANDROID_STATISTICS_INFO_HISTOGRAM_BUCKET_COUNT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_INFO_MAX_FACE_COUNT) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO_MAX_FACE_COUNT),
              "CameraMetadataTag::ANDROID_STATISTICS_INFO_MAX_FACE_COUNT != ANDROID_STATISTICS_INFO_MAX_FACE_COUNT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT),
              "CameraMetadataTag::ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT != ANDROID_STATISTICS_INFO_MAX_HISTOGRAM_COUNT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE),
              "CameraMetadataTag::ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE != ANDROID_STATISTICS_INFO_MAX_SHARPNESS_MAP_VALUE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE),
              "CameraMetadataTag::ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE != ANDROID_STATISTICS_INFO_SHARPNESS_MAP_SIZE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES),
              "CameraMetadataTag::ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES != ANDROID_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES),
              "CameraMetadataTag::ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES != ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES) == static_cast<ssize_t>(ANDROID_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES),
              "CameraMetadataTag::ANDROID_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES != ANDROID_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_TONEMAP_CURVE_BLUE) == static_cast<ssize_t>(ANDROID_TONEMAP_CURVE_BLUE),
              "CameraMetadataTag::ANDROID_TONEMAP_CURVE_BLUE != ANDROID_TONEMAP_CURVE_BLUE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_TONEMAP_CURVE_GREEN) == static_cast<ssize_t>(ANDROID_TONEMAP_CURVE_GREEN),
              "CameraMetadataTag::ANDROID_TONEMAP_CURVE_GREEN != ANDROID_TONEMAP_CURVE_GREEN");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_TONEMAP_CURVE_RED) == static_cast<ssize_t>(ANDROID_TONEMAP_CURVE_RED),
              "CameraMetadataTag::ANDROID_TONEMAP_CURVE_RED != ANDROID_TONEMAP_CURVE_RED");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_TONEMAP_MODE) == static_cast<ssize_t>(ANDROID_TONEMAP_MODE),
              "CameraMetadataTag::ANDROID_TONEMAP_MODE != ANDROID_TONEMAP_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_TONEMAP_MAX_CURVE_POINTS) == static_cast<ssize_t>(ANDROID_TONEMAP_MAX_CURVE_POINTS),
              "CameraMetadataTag::ANDROID_TONEMAP_MAX_CURVE_POINTS != ANDROID_TONEMAP_MAX_CURVE_POINTS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES) == static_cast<ssize_t>(ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES),
              "CameraMetadataTag::ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES != ANDROID_TONEMAP_AVAILABLE_TONE_MAP_MODES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_TONEMAP_GAMMA) == static_cast<ssize_t>(ANDROID_TONEMAP_GAMMA),
              "CameraMetadataTag::ANDROID_TONEMAP_GAMMA != ANDROID_TONEMAP_GAMMA");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_TONEMAP_PRESET_CURVE) == static_cast<ssize_t>(ANDROID_TONEMAP_PRESET_CURVE),
              "CameraMetadataTag::ANDROID_TONEMAP_PRESET_CURVE != ANDROID_TONEMAP_PRESET_CURVE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LED_TRANSMIT) == static_cast<ssize_t>(ANDROID_LED_TRANSMIT),
              "CameraMetadataTag::ANDROID_LED_TRANSMIT != ANDROID_LED_TRANSMIT");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LED_AVAILABLE_LEDS) == static_cast<ssize_t>(ANDROID_LED_AVAILABLE_LEDS),
              "CameraMetadataTag::ANDROID_LED_AVAILABLE_LEDS != ANDROID_LED_AVAILABLE_LEDS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL) == static_cast<ssize_t>(ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL),
              "CameraMetadataTag::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL != ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_INFO_VERSION) == static_cast<ssize_t>(ANDROID_INFO_VERSION),
              "CameraMetadataTag::ANDROID_INFO_VERSION != ANDROID_INFO_VERSION");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_BLACK_LEVEL_LOCK) == static_cast<ssize_t>(ANDROID_BLACK_LEVEL_LOCK),
              "CameraMetadataTag::ANDROID_BLACK_LEVEL_LOCK != ANDROID_BLACK_LEVEL_LOCK");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SYNC_FRAME_NUMBER) == static_cast<ssize_t>(ANDROID_SYNC_FRAME_NUMBER),
              "CameraMetadataTag::ANDROID_SYNC_FRAME_NUMBER != ANDROID_SYNC_FRAME_NUMBER");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_SYNC_MAX_LATENCY) == static_cast<ssize_t>(ANDROID_SYNC_MAX_LATENCY),
              "CameraMetadataTag::ANDROID_SYNC_MAX_LATENCY != ANDROID_SYNC_MAX_LATENCY");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR) == static_cast<ssize_t>(ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR),
              "CameraMetadataTag::ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR != ANDROID_REPROCESS_EFFECTIVE_EXPOSURE_FACTOR");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_REPROCESS_MAX_CAPTURE_STALL) == static_cast<ssize_t>(ANDROID_REPROCESS_MAX_CAPTURE_STALL),
              "CameraMetadataTag::ANDROID_REPROCESS_MAX_CAPTURE_STALL != ANDROID_REPROCESS_MAX_CAPTURE_STALL");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_DEPTH_MAX_DEPTH_SAMPLES) == static_cast<ssize_t>(ANDROID_DEPTH_MAX_DEPTH_SAMPLES),
              "CameraMetadataTag::ANDROID_DEPTH_MAX_DEPTH_SAMPLES != ANDROID_DEPTH_MAX_DEPTH_SAMPLES");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS) == static_cast<ssize_t>(ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS),
              "CameraMetadataTag::ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS != ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS) == static_cast<ssize_t>(ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS),
              "CameraMetadataTag::ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS != ANDROID_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS) == static_cast<ssize_t>(ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS),
              "CameraMetadataTag::ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS != ANDROID_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE) == static_cast<ssize_t>(ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE),
              "CameraMetadataTag::ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE != ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS) == static_cast<ssize_t>(ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS),
              "CameraMetadataTag::ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS != ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE) == static_cast<ssize_t>(ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE),
              "CameraMetadataTag::ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE != ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_DISTORTION_CORRECTION_MODE) == static_cast<ssize_t>(ANDROID_DISTORTION_CORRECTION_MODE),
              "CameraMetadataTag::ANDROID_DISTORTION_CORRECTION_MODE != ANDROID_DISTORTION_CORRECTION_MODE");
static_assert(static_cast<ssize_t>(CameraMetadataTag::ANDROID_DISTORTION_CORRECTION_AVAILABLE_MODES) == static_cast<ssize_t>(ANDROID_DISTORTION_CORRECTION_AVAILABLE_MODES),
              "CameraMetadataTag::ANDROID_DISTORTION_CORRECTION_AVAILABLE_MODES != ANDROID_DISTORTION_CORRECTION_AVAILABLE_MODES");

/**
 * Verify all the definitions in CameraMetadataEnum_* match their corresponding enum
 * definitions in camera_metadata_tags.h
 */
static_assert(static_cast<ssize_t>(AndroidColorCorrectionMode::ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX),
              "AndroidColorCorrectionMode::ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX != ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX");
static_assert(static_cast<ssize_t>(AndroidColorCorrectionMode::ANDROID_COLOR_CORRECTION_MODE_FAST) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_MODE_FAST),
              "AndroidColorCorrectionMode::ANDROID_COLOR_CORRECTION_MODE_FAST != ANDROID_COLOR_CORRECTION_MODE_FAST");
static_assert(static_cast<ssize_t>(AndroidColorCorrectionMode::ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY),
              "AndroidColorCorrectionMode::ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY != ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY");
static_assert(static_cast<ssize_t>(AndroidColorCorrectionAberrationMode::ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF),
              "AndroidColorCorrectionAberrationMode::ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF != ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidColorCorrectionAberrationMode::ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST),
              "AndroidColorCorrectionAberrationMode::ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST != ANDROID_COLOR_CORRECTION_ABERRATION_MODE_FAST");
static_assert(static_cast<ssize_t>(AndroidColorCorrectionAberrationMode::ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY) == static_cast<ssize_t>(ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY),
              "AndroidColorCorrectionAberrationMode::ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY != ANDROID_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY");
static_assert(static_cast<ssize_t>(AndroidControlAeAntibandingMode::ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF) == static_cast<ssize_t>(ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF),
              "AndroidControlAeAntibandingMode::ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF != ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidControlAeAntibandingMode::ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ) == static_cast<ssize_t>(ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ),
              "AndroidControlAeAntibandingMode::ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ != ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ");
static_assert(static_cast<ssize_t>(AndroidControlAeAntibandingMode::ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ) == static_cast<ssize_t>(ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ),
              "AndroidControlAeAntibandingMode::ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ != ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ");
static_assert(static_cast<ssize_t>(AndroidControlAeAntibandingMode::ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO) == static_cast<ssize_t>(ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO),
              "AndroidControlAeAntibandingMode::ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO != ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO");
static_assert(static_cast<ssize_t>(AndroidControlAeLock::ANDROID_CONTROL_AE_LOCK_OFF) == static_cast<ssize_t>(ANDROID_CONTROL_AE_LOCK_OFF),
              "AndroidControlAeLock::ANDROID_CONTROL_AE_LOCK_OFF != ANDROID_CONTROL_AE_LOCK_OFF");
static_assert(static_cast<ssize_t>(AndroidControlAeLock::ANDROID_CONTROL_AE_LOCK_ON) == static_cast<ssize_t>(ANDROID_CONTROL_AE_LOCK_ON),
              "AndroidControlAeLock::ANDROID_CONTROL_AE_LOCK_ON != ANDROID_CONTROL_AE_LOCK_ON");
static_assert(static_cast<ssize_t>(AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_OFF) == static_cast<ssize_t>(ANDROID_CONTROL_AE_MODE_OFF),
              "AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_OFF != ANDROID_CONTROL_AE_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_ON) == static_cast<ssize_t>(ANDROID_CONTROL_AE_MODE_ON),
              "AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_ON != ANDROID_CONTROL_AE_MODE_ON");
static_assert(static_cast<ssize_t>(AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH) == static_cast<ssize_t>(ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH),
              "AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH != ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH");
static_assert(static_cast<ssize_t>(AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH) == static_cast<ssize_t>(ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH),
              "AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH != ANDROID_CONTROL_AE_MODE_ON_ALWAYS_FLASH");
static_assert(static_cast<ssize_t>(AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE),
              "AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE != ANDROID_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE");
static_assert(static_cast<ssize_t>(AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_ON_EXTERNAL_FLASH) == static_cast<ssize_t>(ANDROID_CONTROL_AE_MODE_ON_EXTERNAL_FLASH),
              "AndroidControlAeMode::ANDROID_CONTROL_AE_MODE_ON_EXTERNAL_FLASH != ANDROID_CONTROL_AE_MODE_ON_EXTERNAL_FLASH");
static_assert(static_cast<ssize_t>(AndroidControlAePrecaptureTrigger::ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE),
              "AndroidControlAePrecaptureTrigger::ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE != ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE");
static_assert(static_cast<ssize_t>(AndroidControlAePrecaptureTrigger::ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START) == static_cast<ssize_t>(ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START),
              "AndroidControlAePrecaptureTrigger::ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START != ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_START");
static_assert(static_cast<ssize_t>(AndroidControlAePrecaptureTrigger::ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL) == static_cast<ssize_t>(ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL),
              "AndroidControlAePrecaptureTrigger::ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL != ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL");
static_assert(static_cast<ssize_t>(AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_OFF) == static_cast<ssize_t>(ANDROID_CONTROL_AF_MODE_OFF),
              "AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_OFF != ANDROID_CONTROL_AF_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_AUTO) == static_cast<ssize_t>(ANDROID_CONTROL_AF_MODE_AUTO),
              "AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_AUTO != ANDROID_CONTROL_AF_MODE_AUTO");
static_assert(static_cast<ssize_t>(AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_MACRO) == static_cast<ssize_t>(ANDROID_CONTROL_AF_MODE_MACRO),
              "AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_MACRO != ANDROID_CONTROL_AF_MODE_MACRO");
static_assert(static_cast<ssize_t>(AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO) == static_cast<ssize_t>(ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO),
              "AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO != ANDROID_CONTROL_AF_MODE_CONTINUOUS_VIDEO");
static_assert(static_cast<ssize_t>(AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE) == static_cast<ssize_t>(ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE),
              "AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE != ANDROID_CONTROL_AF_MODE_CONTINUOUS_PICTURE");
static_assert(static_cast<ssize_t>(AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_EDOF) == static_cast<ssize_t>(ANDROID_CONTROL_AF_MODE_EDOF),
              "AndroidControlAfMode::ANDROID_CONTROL_AF_MODE_EDOF != ANDROID_CONTROL_AF_MODE_EDOF");
static_assert(static_cast<ssize_t>(AndroidControlAfTrigger::ANDROID_CONTROL_AF_TRIGGER_IDLE) == static_cast<ssize_t>(ANDROID_CONTROL_AF_TRIGGER_IDLE),
              "AndroidControlAfTrigger::ANDROID_CONTROL_AF_TRIGGER_IDLE != ANDROID_CONTROL_AF_TRIGGER_IDLE");
static_assert(static_cast<ssize_t>(AndroidControlAfTrigger::ANDROID_CONTROL_AF_TRIGGER_START) == static_cast<ssize_t>(ANDROID_CONTROL_AF_TRIGGER_START),
              "AndroidControlAfTrigger::ANDROID_CONTROL_AF_TRIGGER_START != ANDROID_CONTROL_AF_TRIGGER_START");
static_assert(static_cast<ssize_t>(AndroidControlAfTrigger::ANDROID_CONTROL_AF_TRIGGER_CANCEL) == static_cast<ssize_t>(ANDROID_CONTROL_AF_TRIGGER_CANCEL),
              "AndroidControlAfTrigger::ANDROID_CONTROL_AF_TRIGGER_CANCEL != ANDROID_CONTROL_AF_TRIGGER_CANCEL");
static_assert(static_cast<ssize_t>(AndroidControlAwbLock::ANDROID_CONTROL_AWB_LOCK_OFF) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_LOCK_OFF),
              "AndroidControlAwbLock::ANDROID_CONTROL_AWB_LOCK_OFF != ANDROID_CONTROL_AWB_LOCK_OFF");
static_assert(static_cast<ssize_t>(AndroidControlAwbLock::ANDROID_CONTROL_AWB_LOCK_ON) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_LOCK_ON),
              "AndroidControlAwbLock::ANDROID_CONTROL_AWB_LOCK_ON != ANDROID_CONTROL_AWB_LOCK_ON");
static_assert(static_cast<ssize_t>(AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_OFF) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_MODE_OFF),
              "AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_OFF != ANDROID_CONTROL_AWB_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_AUTO) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_MODE_AUTO),
              "AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_AUTO != ANDROID_CONTROL_AWB_MODE_AUTO");
static_assert(static_cast<ssize_t>(AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_INCANDESCENT) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_MODE_INCANDESCENT),
              "AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_INCANDESCENT != ANDROID_CONTROL_AWB_MODE_INCANDESCENT");
static_assert(static_cast<ssize_t>(AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_FLUORESCENT) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_MODE_FLUORESCENT),
              "AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_FLUORESCENT != ANDROID_CONTROL_AWB_MODE_FLUORESCENT");
static_assert(static_cast<ssize_t>(AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT),
              "AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT != ANDROID_CONTROL_AWB_MODE_WARM_FLUORESCENT");
static_assert(static_cast<ssize_t>(AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_DAYLIGHT) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_MODE_DAYLIGHT),
              "AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_DAYLIGHT != ANDROID_CONTROL_AWB_MODE_DAYLIGHT");
static_assert(static_cast<ssize_t>(AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT),
              "AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT != ANDROID_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT");
static_assert(static_cast<ssize_t>(AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_TWILIGHT) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_MODE_TWILIGHT),
              "AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_TWILIGHT != ANDROID_CONTROL_AWB_MODE_TWILIGHT");
static_assert(static_cast<ssize_t>(AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_SHADE) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_MODE_SHADE),
              "AndroidControlAwbMode::ANDROID_CONTROL_AWB_MODE_SHADE != ANDROID_CONTROL_AWB_MODE_SHADE");
static_assert(static_cast<ssize_t>(AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM) == static_cast<ssize_t>(ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM),
              "AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM != ANDROID_CONTROL_CAPTURE_INTENT_CUSTOM");
static_assert(static_cast<ssize_t>(AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW) == static_cast<ssize_t>(ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW),
              "AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW != ANDROID_CONTROL_CAPTURE_INTENT_PREVIEW");
static_assert(static_cast<ssize_t>(AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE) == static_cast<ssize_t>(ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE),
              "AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE != ANDROID_CONTROL_CAPTURE_INTENT_STILL_CAPTURE");
static_assert(static_cast<ssize_t>(AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD) == static_cast<ssize_t>(ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD),
              "AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD != ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_RECORD");
static_assert(static_cast<ssize_t>(AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT) == static_cast<ssize_t>(ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT),
              "AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT != ANDROID_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT");
static_assert(static_cast<ssize_t>(AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG) == static_cast<ssize_t>(ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG),
              "AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG != ANDROID_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG");
static_assert(static_cast<ssize_t>(AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_MANUAL) == static_cast<ssize_t>(ANDROID_CONTROL_CAPTURE_INTENT_MANUAL),
              "AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_MANUAL != ANDROID_CONTROL_CAPTURE_INTENT_MANUAL");
static_assert(static_cast<ssize_t>(AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_MOTION_TRACKING) == static_cast<ssize_t>(ANDROID_CONTROL_CAPTURE_INTENT_MOTION_TRACKING),
              "AndroidControlCaptureIntent::ANDROID_CONTROL_CAPTURE_INTENT_MOTION_TRACKING != ANDROID_CONTROL_CAPTURE_INTENT_MOTION_TRACKING");
static_assert(static_cast<ssize_t>(AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_OFF) == static_cast<ssize_t>(ANDROID_CONTROL_EFFECT_MODE_OFF),
              "AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_OFF != ANDROID_CONTROL_EFFECT_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_MONO) == static_cast<ssize_t>(ANDROID_CONTROL_EFFECT_MODE_MONO),
              "AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_MONO != ANDROID_CONTROL_EFFECT_MODE_MONO");
static_assert(static_cast<ssize_t>(AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_NEGATIVE) == static_cast<ssize_t>(ANDROID_CONTROL_EFFECT_MODE_NEGATIVE),
              "AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_NEGATIVE != ANDROID_CONTROL_EFFECT_MODE_NEGATIVE");
static_assert(static_cast<ssize_t>(AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_SOLARIZE) == static_cast<ssize_t>(ANDROID_CONTROL_EFFECT_MODE_SOLARIZE),
              "AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_SOLARIZE != ANDROID_CONTROL_EFFECT_MODE_SOLARIZE");
static_assert(static_cast<ssize_t>(AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_SEPIA) == static_cast<ssize_t>(ANDROID_CONTROL_EFFECT_MODE_SEPIA),
              "AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_SEPIA != ANDROID_CONTROL_EFFECT_MODE_SEPIA");
static_assert(static_cast<ssize_t>(AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_POSTERIZE) == static_cast<ssize_t>(ANDROID_CONTROL_EFFECT_MODE_POSTERIZE),
              "AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_POSTERIZE != ANDROID_CONTROL_EFFECT_MODE_POSTERIZE");
static_assert(static_cast<ssize_t>(AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD) == static_cast<ssize_t>(ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD),
              "AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD != ANDROID_CONTROL_EFFECT_MODE_WHITEBOARD");
static_assert(static_cast<ssize_t>(AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD) == static_cast<ssize_t>(ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD),
              "AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD != ANDROID_CONTROL_EFFECT_MODE_BLACKBOARD");
static_assert(static_cast<ssize_t>(AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_AQUA) == static_cast<ssize_t>(ANDROID_CONTROL_EFFECT_MODE_AQUA),
              "AndroidControlEffectMode::ANDROID_CONTROL_EFFECT_MODE_AQUA != ANDROID_CONTROL_EFFECT_MODE_AQUA");
static_assert(static_cast<ssize_t>(AndroidControlMode::ANDROID_CONTROL_MODE_OFF) == static_cast<ssize_t>(ANDROID_CONTROL_MODE_OFF),
              "AndroidControlMode::ANDROID_CONTROL_MODE_OFF != ANDROID_CONTROL_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidControlMode::ANDROID_CONTROL_MODE_AUTO) == static_cast<ssize_t>(ANDROID_CONTROL_MODE_AUTO),
              "AndroidControlMode::ANDROID_CONTROL_MODE_AUTO != ANDROID_CONTROL_MODE_AUTO");
static_assert(static_cast<ssize_t>(AndroidControlMode::ANDROID_CONTROL_MODE_USE_SCENE_MODE) == static_cast<ssize_t>(ANDROID_CONTROL_MODE_USE_SCENE_MODE),
              "AndroidControlMode::ANDROID_CONTROL_MODE_USE_SCENE_MODE != ANDROID_CONTROL_MODE_USE_SCENE_MODE");
static_assert(static_cast<ssize_t>(AndroidControlMode::ANDROID_CONTROL_MODE_OFF_KEEP_STATE) == static_cast<ssize_t>(ANDROID_CONTROL_MODE_OFF_KEEP_STATE),
              "AndroidControlMode::ANDROID_CONTROL_MODE_OFF_KEEP_STATE != ANDROID_CONTROL_MODE_OFF_KEEP_STATE");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_DISABLED) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_DISABLED),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_DISABLED != ANDROID_CONTROL_SCENE_MODE_DISABLED");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY != ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_ACTION) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_ACTION),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_ACTION != ANDROID_CONTROL_SCENE_MODE_ACTION");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_PORTRAIT) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_PORTRAIT),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_PORTRAIT != ANDROID_CONTROL_SCENE_MODE_PORTRAIT");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_LANDSCAPE) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_LANDSCAPE),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_LANDSCAPE != ANDROID_CONTROL_SCENE_MODE_LANDSCAPE");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_NIGHT) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_NIGHT),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_NIGHT != ANDROID_CONTROL_SCENE_MODE_NIGHT");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT != ANDROID_CONTROL_SCENE_MODE_NIGHT_PORTRAIT");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_THEATRE) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_THEATRE),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_THEATRE != ANDROID_CONTROL_SCENE_MODE_THEATRE");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_BEACH) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_BEACH),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_BEACH != ANDROID_CONTROL_SCENE_MODE_BEACH");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_SNOW) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_SNOW),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_SNOW != ANDROID_CONTROL_SCENE_MODE_SNOW");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_SUNSET) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_SUNSET),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_SUNSET != ANDROID_CONTROL_SCENE_MODE_SUNSET");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO != ANDROID_CONTROL_SCENE_MODE_STEADYPHOTO");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_FIREWORKS) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_FIREWORKS),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_FIREWORKS != ANDROID_CONTROL_SCENE_MODE_FIREWORKS");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_SPORTS) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_SPORTS),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_SPORTS != ANDROID_CONTROL_SCENE_MODE_SPORTS");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_PARTY) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_PARTY),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_PARTY != ANDROID_CONTROL_SCENE_MODE_PARTY");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT != ANDROID_CONTROL_SCENE_MODE_CANDLELIGHT");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_BARCODE) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_BARCODE),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_BARCODE != ANDROID_CONTROL_SCENE_MODE_BARCODE");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO != ANDROID_CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_HDR) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_HDR),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_HDR != ANDROID_CONTROL_SCENE_MODE_HDR");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT != ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY_LOW_LIGHT");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START != ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_START");
static_assert(static_cast<ssize_t>(AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END) == static_cast<ssize_t>(ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END),
              "AndroidControlSceneMode::ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END != ANDROID_CONTROL_SCENE_MODE_DEVICE_CUSTOM_END");
static_assert(static_cast<ssize_t>(AndroidControlVideoStabilizationMode::ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF) == static_cast<ssize_t>(ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF),
              "AndroidControlVideoStabilizationMode::ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF != ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidControlVideoStabilizationMode::ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON) == static_cast<ssize_t>(ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON),
              "AndroidControlVideoStabilizationMode::ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON != ANDROID_CONTROL_VIDEO_STABILIZATION_MODE_ON");
static_assert(static_cast<ssize_t>(AndroidControlAeState::ANDROID_CONTROL_AE_STATE_INACTIVE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_STATE_INACTIVE),
              "AndroidControlAeState::ANDROID_CONTROL_AE_STATE_INACTIVE != ANDROID_CONTROL_AE_STATE_INACTIVE");
static_assert(static_cast<ssize_t>(AndroidControlAeState::ANDROID_CONTROL_AE_STATE_SEARCHING) == static_cast<ssize_t>(ANDROID_CONTROL_AE_STATE_SEARCHING),
              "AndroidControlAeState::ANDROID_CONTROL_AE_STATE_SEARCHING != ANDROID_CONTROL_AE_STATE_SEARCHING");
static_assert(static_cast<ssize_t>(AndroidControlAeState::ANDROID_CONTROL_AE_STATE_CONVERGED) == static_cast<ssize_t>(ANDROID_CONTROL_AE_STATE_CONVERGED),
              "AndroidControlAeState::ANDROID_CONTROL_AE_STATE_CONVERGED != ANDROID_CONTROL_AE_STATE_CONVERGED");
static_assert(static_cast<ssize_t>(AndroidControlAeState::ANDROID_CONTROL_AE_STATE_LOCKED) == static_cast<ssize_t>(ANDROID_CONTROL_AE_STATE_LOCKED),
              "AndroidControlAeState::ANDROID_CONTROL_AE_STATE_LOCKED != ANDROID_CONTROL_AE_STATE_LOCKED");
static_assert(static_cast<ssize_t>(AndroidControlAeState::ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED) == static_cast<ssize_t>(ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED),
              "AndroidControlAeState::ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED != ANDROID_CONTROL_AE_STATE_FLASH_REQUIRED");
static_assert(static_cast<ssize_t>(AndroidControlAeState::ANDROID_CONTROL_AE_STATE_PRECAPTURE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_STATE_PRECAPTURE),
              "AndroidControlAeState::ANDROID_CONTROL_AE_STATE_PRECAPTURE != ANDROID_CONTROL_AE_STATE_PRECAPTURE");
static_assert(static_cast<ssize_t>(AndroidControlAfState::ANDROID_CONTROL_AF_STATE_INACTIVE) == static_cast<ssize_t>(ANDROID_CONTROL_AF_STATE_INACTIVE),
              "AndroidControlAfState::ANDROID_CONTROL_AF_STATE_INACTIVE != ANDROID_CONTROL_AF_STATE_INACTIVE");
static_assert(static_cast<ssize_t>(AndroidControlAfState::ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN) == static_cast<ssize_t>(ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN),
              "AndroidControlAfState::ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN != ANDROID_CONTROL_AF_STATE_PASSIVE_SCAN");
static_assert(static_cast<ssize_t>(AndroidControlAfState::ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED) == static_cast<ssize_t>(ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED),
              "AndroidControlAfState::ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED != ANDROID_CONTROL_AF_STATE_PASSIVE_FOCUSED");
static_assert(static_cast<ssize_t>(AndroidControlAfState::ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN) == static_cast<ssize_t>(ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN),
              "AndroidControlAfState::ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN != ANDROID_CONTROL_AF_STATE_ACTIVE_SCAN");
static_assert(static_cast<ssize_t>(AndroidControlAfState::ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED) == static_cast<ssize_t>(ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED),
              "AndroidControlAfState::ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED != ANDROID_CONTROL_AF_STATE_FOCUSED_LOCKED");
static_assert(static_cast<ssize_t>(AndroidControlAfState::ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED) == static_cast<ssize_t>(ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED),
              "AndroidControlAfState::ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED != ANDROID_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED");
static_assert(static_cast<ssize_t>(AndroidControlAfState::ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED) == static_cast<ssize_t>(ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED),
              "AndroidControlAfState::ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED != ANDROID_CONTROL_AF_STATE_PASSIVE_UNFOCUSED");
static_assert(static_cast<ssize_t>(AndroidControlAwbState::ANDROID_CONTROL_AWB_STATE_INACTIVE) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_STATE_INACTIVE),
              "AndroidControlAwbState::ANDROID_CONTROL_AWB_STATE_INACTIVE != ANDROID_CONTROL_AWB_STATE_INACTIVE");
static_assert(static_cast<ssize_t>(AndroidControlAwbState::ANDROID_CONTROL_AWB_STATE_SEARCHING) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_STATE_SEARCHING),
              "AndroidControlAwbState::ANDROID_CONTROL_AWB_STATE_SEARCHING != ANDROID_CONTROL_AWB_STATE_SEARCHING");
static_assert(static_cast<ssize_t>(AndroidControlAwbState::ANDROID_CONTROL_AWB_STATE_CONVERGED) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_STATE_CONVERGED),
              "AndroidControlAwbState::ANDROID_CONTROL_AWB_STATE_CONVERGED != ANDROID_CONTROL_AWB_STATE_CONVERGED");
static_assert(static_cast<ssize_t>(AndroidControlAwbState::ANDROID_CONTROL_AWB_STATE_LOCKED) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_STATE_LOCKED),
              "AndroidControlAwbState::ANDROID_CONTROL_AWB_STATE_LOCKED != ANDROID_CONTROL_AWB_STATE_LOCKED");
static_assert(static_cast<ssize_t>(AndroidControlAeLockAvailable::ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE),
              "AndroidControlAeLockAvailable::ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE != ANDROID_CONTROL_AE_LOCK_AVAILABLE_FALSE");
static_assert(static_cast<ssize_t>(AndroidControlAeLockAvailable::ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE) == static_cast<ssize_t>(ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE),
              "AndroidControlAeLockAvailable::ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE != ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE");
static_assert(static_cast<ssize_t>(AndroidControlAwbLockAvailable::ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE),
              "AndroidControlAwbLockAvailable::ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE != ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE");
static_assert(static_cast<ssize_t>(AndroidControlAwbLockAvailable::ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE) == static_cast<ssize_t>(ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE),
              "AndroidControlAwbLockAvailable::ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE != ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE");
static_assert(static_cast<ssize_t>(AndroidControlEnableZsl::ANDROID_CONTROL_ENABLE_ZSL_FALSE) == static_cast<ssize_t>(ANDROID_CONTROL_ENABLE_ZSL_FALSE),
              "AndroidControlEnableZsl::ANDROID_CONTROL_ENABLE_ZSL_FALSE != ANDROID_CONTROL_ENABLE_ZSL_FALSE");
static_assert(static_cast<ssize_t>(AndroidControlEnableZsl::ANDROID_CONTROL_ENABLE_ZSL_TRUE) == static_cast<ssize_t>(ANDROID_CONTROL_ENABLE_ZSL_TRUE),
              "AndroidControlEnableZsl::ANDROID_CONTROL_ENABLE_ZSL_TRUE != ANDROID_CONTROL_ENABLE_ZSL_TRUE");
static_assert(static_cast<ssize_t>(AndroidControlAfSceneChange::ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED) == static_cast<ssize_t>(ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED),
              "AndroidControlAfSceneChange::ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED != ANDROID_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED");
static_assert(static_cast<ssize_t>(AndroidControlAfSceneChange::ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED) == static_cast<ssize_t>(ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED),
              "AndroidControlAfSceneChange::ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED != ANDROID_CONTROL_AF_SCENE_CHANGE_DETECTED");
static_assert(static_cast<ssize_t>(AndroidDemosaicMode::ANDROID_DEMOSAIC_MODE_FAST) == static_cast<ssize_t>(ANDROID_DEMOSAIC_MODE_FAST),
              "AndroidDemosaicMode::ANDROID_DEMOSAIC_MODE_FAST != ANDROID_DEMOSAIC_MODE_FAST");
static_assert(static_cast<ssize_t>(AndroidDemosaicMode::ANDROID_DEMOSAIC_MODE_HIGH_QUALITY) == static_cast<ssize_t>(ANDROID_DEMOSAIC_MODE_HIGH_QUALITY),
              "AndroidDemosaicMode::ANDROID_DEMOSAIC_MODE_HIGH_QUALITY != ANDROID_DEMOSAIC_MODE_HIGH_QUALITY");
static_assert(static_cast<ssize_t>(AndroidEdgeMode::ANDROID_EDGE_MODE_OFF) == static_cast<ssize_t>(ANDROID_EDGE_MODE_OFF),
              "AndroidEdgeMode::ANDROID_EDGE_MODE_OFF != ANDROID_EDGE_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidEdgeMode::ANDROID_EDGE_MODE_FAST) == static_cast<ssize_t>(ANDROID_EDGE_MODE_FAST),
              "AndroidEdgeMode::ANDROID_EDGE_MODE_FAST != ANDROID_EDGE_MODE_FAST");
static_assert(static_cast<ssize_t>(AndroidEdgeMode::ANDROID_EDGE_MODE_HIGH_QUALITY) == static_cast<ssize_t>(ANDROID_EDGE_MODE_HIGH_QUALITY),
              "AndroidEdgeMode::ANDROID_EDGE_MODE_HIGH_QUALITY != ANDROID_EDGE_MODE_HIGH_QUALITY");
static_assert(static_cast<ssize_t>(AndroidEdgeMode::ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG) == static_cast<ssize_t>(ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG),
              "AndroidEdgeMode::ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG != ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG");
static_assert(static_cast<ssize_t>(AndroidFlashMode::ANDROID_FLASH_MODE_OFF) == static_cast<ssize_t>(ANDROID_FLASH_MODE_OFF),
              "AndroidFlashMode::ANDROID_FLASH_MODE_OFF != ANDROID_FLASH_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidFlashMode::ANDROID_FLASH_MODE_SINGLE) == static_cast<ssize_t>(ANDROID_FLASH_MODE_SINGLE),
              "AndroidFlashMode::ANDROID_FLASH_MODE_SINGLE != ANDROID_FLASH_MODE_SINGLE");
static_assert(static_cast<ssize_t>(AndroidFlashMode::ANDROID_FLASH_MODE_TORCH) == static_cast<ssize_t>(ANDROID_FLASH_MODE_TORCH),
              "AndroidFlashMode::ANDROID_FLASH_MODE_TORCH != ANDROID_FLASH_MODE_TORCH");
static_assert(static_cast<ssize_t>(AndroidFlashState::ANDROID_FLASH_STATE_UNAVAILABLE) == static_cast<ssize_t>(ANDROID_FLASH_STATE_UNAVAILABLE),
              "AndroidFlashState::ANDROID_FLASH_STATE_UNAVAILABLE != ANDROID_FLASH_STATE_UNAVAILABLE");
static_assert(static_cast<ssize_t>(AndroidFlashState::ANDROID_FLASH_STATE_CHARGING) == static_cast<ssize_t>(ANDROID_FLASH_STATE_CHARGING),
              "AndroidFlashState::ANDROID_FLASH_STATE_CHARGING != ANDROID_FLASH_STATE_CHARGING");
static_assert(static_cast<ssize_t>(AndroidFlashState::ANDROID_FLASH_STATE_READY) == static_cast<ssize_t>(ANDROID_FLASH_STATE_READY),
              "AndroidFlashState::ANDROID_FLASH_STATE_READY != ANDROID_FLASH_STATE_READY");
static_assert(static_cast<ssize_t>(AndroidFlashState::ANDROID_FLASH_STATE_FIRED) == static_cast<ssize_t>(ANDROID_FLASH_STATE_FIRED),
              "AndroidFlashState::ANDROID_FLASH_STATE_FIRED != ANDROID_FLASH_STATE_FIRED");
static_assert(static_cast<ssize_t>(AndroidFlashState::ANDROID_FLASH_STATE_PARTIAL) == static_cast<ssize_t>(ANDROID_FLASH_STATE_PARTIAL),
              "AndroidFlashState::ANDROID_FLASH_STATE_PARTIAL != ANDROID_FLASH_STATE_PARTIAL");
static_assert(static_cast<ssize_t>(AndroidFlashInfoAvailable::ANDROID_FLASH_INFO_AVAILABLE_FALSE) == static_cast<ssize_t>(ANDROID_FLASH_INFO_AVAILABLE_FALSE),
              "AndroidFlashInfoAvailable::ANDROID_FLASH_INFO_AVAILABLE_FALSE != ANDROID_FLASH_INFO_AVAILABLE_FALSE");
static_assert(static_cast<ssize_t>(AndroidFlashInfoAvailable::ANDROID_FLASH_INFO_AVAILABLE_TRUE) == static_cast<ssize_t>(ANDROID_FLASH_INFO_AVAILABLE_TRUE),
              "AndroidFlashInfoAvailable::ANDROID_FLASH_INFO_AVAILABLE_TRUE != ANDROID_FLASH_INFO_AVAILABLE_TRUE");
static_assert(static_cast<ssize_t>(AndroidHotPixelMode::ANDROID_HOT_PIXEL_MODE_OFF) == static_cast<ssize_t>(ANDROID_HOT_PIXEL_MODE_OFF),
              "AndroidHotPixelMode::ANDROID_HOT_PIXEL_MODE_OFF != ANDROID_HOT_PIXEL_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidHotPixelMode::ANDROID_HOT_PIXEL_MODE_FAST) == static_cast<ssize_t>(ANDROID_HOT_PIXEL_MODE_FAST),
              "AndroidHotPixelMode::ANDROID_HOT_PIXEL_MODE_FAST != ANDROID_HOT_PIXEL_MODE_FAST");
static_assert(static_cast<ssize_t>(AndroidHotPixelMode::ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY) == static_cast<ssize_t>(ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY),
              "AndroidHotPixelMode::ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY != ANDROID_HOT_PIXEL_MODE_HIGH_QUALITY");
static_assert(static_cast<ssize_t>(AndroidLensOpticalStabilizationMode::ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF) == static_cast<ssize_t>(ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF),
              "AndroidLensOpticalStabilizationMode::ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF != ANDROID_LENS_OPTICAL_STABILIZATION_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidLensOpticalStabilizationMode::ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON) == static_cast<ssize_t>(ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON),
              "AndroidLensOpticalStabilizationMode::ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON != ANDROID_LENS_OPTICAL_STABILIZATION_MODE_ON");
static_assert(static_cast<ssize_t>(AndroidLensFacing::ANDROID_LENS_FACING_FRONT) == static_cast<ssize_t>(ANDROID_LENS_FACING_FRONT),
              "AndroidLensFacing::ANDROID_LENS_FACING_FRONT != ANDROID_LENS_FACING_FRONT");
static_assert(static_cast<ssize_t>(AndroidLensFacing::ANDROID_LENS_FACING_BACK) == static_cast<ssize_t>(ANDROID_LENS_FACING_BACK),
              "AndroidLensFacing::ANDROID_LENS_FACING_BACK != ANDROID_LENS_FACING_BACK");
static_assert(static_cast<ssize_t>(AndroidLensFacing::ANDROID_LENS_FACING_EXTERNAL) == static_cast<ssize_t>(ANDROID_LENS_FACING_EXTERNAL),
              "AndroidLensFacing::ANDROID_LENS_FACING_EXTERNAL != ANDROID_LENS_FACING_EXTERNAL");
static_assert(static_cast<ssize_t>(AndroidLensState::ANDROID_LENS_STATE_STATIONARY) == static_cast<ssize_t>(ANDROID_LENS_STATE_STATIONARY),
              "AndroidLensState::ANDROID_LENS_STATE_STATIONARY != ANDROID_LENS_STATE_STATIONARY");
static_assert(static_cast<ssize_t>(AndroidLensState::ANDROID_LENS_STATE_MOVING) == static_cast<ssize_t>(ANDROID_LENS_STATE_MOVING),
              "AndroidLensState::ANDROID_LENS_STATE_MOVING != ANDROID_LENS_STATE_MOVING");
static_assert(static_cast<ssize_t>(AndroidLensPoseReference::ANDROID_LENS_POSE_REFERENCE_PRIMARY_CAMERA) == static_cast<ssize_t>(ANDROID_LENS_POSE_REFERENCE_PRIMARY_CAMERA),
              "AndroidLensPoseReference::ANDROID_LENS_POSE_REFERENCE_PRIMARY_CAMERA != ANDROID_LENS_POSE_REFERENCE_PRIMARY_CAMERA");
static_assert(static_cast<ssize_t>(AndroidLensPoseReference::ANDROID_LENS_POSE_REFERENCE_GYROSCOPE) == static_cast<ssize_t>(ANDROID_LENS_POSE_REFERENCE_GYROSCOPE),
              "AndroidLensPoseReference::ANDROID_LENS_POSE_REFERENCE_GYROSCOPE != ANDROID_LENS_POSE_REFERENCE_GYROSCOPE");
static_assert(static_cast<ssize_t>(AndroidLensInfoFocusDistanceCalibration::ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED) == static_cast<ssize_t>(ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED),
              "AndroidLensInfoFocusDistanceCalibration::ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED != ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED");
static_assert(static_cast<ssize_t>(AndroidLensInfoFocusDistanceCalibration::ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE) == static_cast<ssize_t>(ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE),
              "AndroidLensInfoFocusDistanceCalibration::ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE != ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE");
static_assert(static_cast<ssize_t>(AndroidLensInfoFocusDistanceCalibration::ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED) == static_cast<ssize_t>(ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED),
              "AndroidLensInfoFocusDistanceCalibration::ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED != ANDROID_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED");
static_assert(static_cast<ssize_t>(AndroidNoiseReductionMode::ANDROID_NOISE_REDUCTION_MODE_OFF) == static_cast<ssize_t>(ANDROID_NOISE_REDUCTION_MODE_OFF),
              "AndroidNoiseReductionMode::ANDROID_NOISE_REDUCTION_MODE_OFF != ANDROID_NOISE_REDUCTION_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidNoiseReductionMode::ANDROID_NOISE_REDUCTION_MODE_FAST) == static_cast<ssize_t>(ANDROID_NOISE_REDUCTION_MODE_FAST),
              "AndroidNoiseReductionMode::ANDROID_NOISE_REDUCTION_MODE_FAST != ANDROID_NOISE_REDUCTION_MODE_FAST");
static_assert(static_cast<ssize_t>(AndroidNoiseReductionMode::ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY) == static_cast<ssize_t>(ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY),
              "AndroidNoiseReductionMode::ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY != ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY");
static_assert(static_cast<ssize_t>(AndroidNoiseReductionMode::ANDROID_NOISE_REDUCTION_MODE_MINIMAL) == static_cast<ssize_t>(ANDROID_NOISE_REDUCTION_MODE_MINIMAL),
              "AndroidNoiseReductionMode::ANDROID_NOISE_REDUCTION_MODE_MINIMAL != ANDROID_NOISE_REDUCTION_MODE_MINIMAL");
static_assert(static_cast<ssize_t>(AndroidNoiseReductionMode::ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG) == static_cast<ssize_t>(ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG),
              "AndroidNoiseReductionMode::ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG != ANDROID_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG");
static_assert(static_cast<ssize_t>(AndroidQuirksPartialResult::ANDROID_QUIRKS_PARTIAL_RESULT_FINAL) == static_cast<ssize_t>(ANDROID_QUIRKS_PARTIAL_RESULT_FINAL),
              "AndroidQuirksPartialResult::ANDROID_QUIRKS_PARTIAL_RESULT_FINAL != ANDROID_QUIRKS_PARTIAL_RESULT_FINAL");
static_assert(static_cast<ssize_t>(AndroidQuirksPartialResult::ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL) == static_cast<ssize_t>(ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL),
              "AndroidQuirksPartialResult::ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL != ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL");
static_assert(static_cast<ssize_t>(AndroidRequestMetadataMode::ANDROID_REQUEST_METADATA_MODE_NONE) == static_cast<ssize_t>(ANDROID_REQUEST_METADATA_MODE_NONE),
              "AndroidRequestMetadataMode::ANDROID_REQUEST_METADATA_MODE_NONE != ANDROID_REQUEST_METADATA_MODE_NONE");
static_assert(static_cast<ssize_t>(AndroidRequestMetadataMode::ANDROID_REQUEST_METADATA_MODE_FULL) == static_cast<ssize_t>(ANDROID_REQUEST_METADATA_MODE_FULL),
              "AndroidRequestMetadataMode::ANDROID_REQUEST_METADATA_MODE_FULL != ANDROID_REQUEST_METADATA_MODE_FULL");
static_assert(static_cast<ssize_t>(AndroidRequestType::ANDROID_REQUEST_TYPE_CAPTURE) == static_cast<ssize_t>(ANDROID_REQUEST_TYPE_CAPTURE),
              "AndroidRequestType::ANDROID_REQUEST_TYPE_CAPTURE != ANDROID_REQUEST_TYPE_CAPTURE");
static_assert(static_cast<ssize_t>(AndroidRequestType::ANDROID_REQUEST_TYPE_REPROCESS) == static_cast<ssize_t>(ANDROID_REQUEST_TYPE_REPROCESS),
              "AndroidRequestType::ANDROID_REQUEST_TYPE_REPROCESS != ANDROID_REQUEST_TYPE_REPROCESS");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA");
static_assert(static_cast<ssize_t>(AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME) == static_cast<ssize_t>(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME),
              "AndroidRequestAvailableCapabilities::ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME != ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME");
static_assert(static_cast<ssize_t>(AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_RAW16) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_FORMATS_RAW16),
              "AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_RAW16 != ANDROID_SCALER_AVAILABLE_FORMATS_RAW16");
static_assert(static_cast<ssize_t>(AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE),
              "AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE != ANDROID_SCALER_AVAILABLE_FORMATS_RAW_OPAQUE");
static_assert(static_cast<ssize_t>(AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_YV12) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_FORMATS_YV12),
              "AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_YV12 != ANDROID_SCALER_AVAILABLE_FORMATS_YV12");
static_assert(static_cast<ssize_t>(AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP),
              "AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP != ANDROID_SCALER_AVAILABLE_FORMATS_YCrCb_420_SP");
static_assert(static_cast<ssize_t>(AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED),
              "AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED != ANDROID_SCALER_AVAILABLE_FORMATS_IMPLEMENTATION_DEFINED");
static_assert(static_cast<ssize_t>(AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888),
              "AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888 != ANDROID_SCALER_AVAILABLE_FORMATS_YCbCr_420_888");
static_assert(static_cast<ssize_t>(AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_BLOB) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_FORMATS_BLOB),
              "AndroidScalerAvailableFormats::ANDROID_SCALER_AVAILABLE_FORMATS_BLOB != ANDROID_SCALER_AVAILABLE_FORMATS_BLOB");
static_assert(static_cast<ssize_t>(AndroidScalerAvailableStreamConfigurations::ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT),
              "AndroidScalerAvailableStreamConfigurations::ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT != ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT");
static_assert(static_cast<ssize_t>(AndroidScalerAvailableStreamConfigurations::ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT) == static_cast<ssize_t>(ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT),
              "AndroidScalerAvailableStreamConfigurations::ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT != ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT");
static_assert(static_cast<ssize_t>(AndroidScalerCroppingType::ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY) == static_cast<ssize_t>(ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY),
              "AndroidScalerCroppingType::ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY != ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY");
static_assert(static_cast<ssize_t>(AndroidScalerCroppingType::ANDROID_SCALER_CROPPING_TYPE_FREEFORM) == static_cast<ssize_t>(ANDROID_SCALER_CROPPING_TYPE_FREEFORM),
              "AndroidScalerCroppingType::ANDROID_SCALER_CROPPING_TYPE_FREEFORM != ANDROID_SCALER_CROPPING_TYPE_FREEFORM");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FLASH");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_SHADE");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55 != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D55");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65 != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D65");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75 != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D75");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50 != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_D50");
static_assert(static_cast<ssize_t>(AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN) == static_cast<ssize_t>(ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN),
              "AndroidSensorReferenceIlluminant1::ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN != ANDROID_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN");
static_assert(static_cast<ssize_t>(AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_OFF) == static_cast<ssize_t>(ANDROID_SENSOR_TEST_PATTERN_MODE_OFF),
              "AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_OFF != ANDROID_SENSOR_TEST_PATTERN_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR) == static_cast<ssize_t>(ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR),
              "AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR != ANDROID_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR");
static_assert(static_cast<ssize_t>(AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS) == static_cast<ssize_t>(ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS),
              "AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS != ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS");
static_assert(static_cast<ssize_t>(AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY) == static_cast<ssize_t>(ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY),
              "AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY != ANDROID_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY");
static_assert(static_cast<ssize_t>(AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_PN9) == static_cast<ssize_t>(ANDROID_SENSOR_TEST_PATTERN_MODE_PN9),
              "AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_PN9 != ANDROID_SENSOR_TEST_PATTERN_MODE_PN9");
static_assert(static_cast<ssize_t>(AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1) == static_cast<ssize_t>(ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1),
              "AndroidSensorTestPatternMode::ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1 != ANDROID_SENSOR_TEST_PATTERN_MODE_CUSTOM1");
static_assert(static_cast<ssize_t>(AndroidSensorInfoColorFilterArrangement::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB),
              "AndroidSensorInfoColorFilterArrangement::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB != ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB");
static_assert(static_cast<ssize_t>(AndroidSensorInfoColorFilterArrangement::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG),
              "AndroidSensorInfoColorFilterArrangement::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG != ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG");
static_assert(static_cast<ssize_t>(AndroidSensorInfoColorFilterArrangement::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG),
              "AndroidSensorInfoColorFilterArrangement::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG != ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG");
static_assert(static_cast<ssize_t>(AndroidSensorInfoColorFilterArrangement::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR),
              "AndroidSensorInfoColorFilterArrangement::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR != ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR");
static_assert(static_cast<ssize_t>(AndroidSensorInfoColorFilterArrangement::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB),
              "AndroidSensorInfoColorFilterArrangement::ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB != ANDROID_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB");
static_assert(static_cast<ssize_t>(AndroidSensorInfoTimestampSource::ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN),
              "AndroidSensorInfoTimestampSource::ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN != ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN");
static_assert(static_cast<ssize_t>(AndroidSensorInfoTimestampSource::ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME),
              "AndroidSensorInfoTimestampSource::ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME != ANDROID_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME");
static_assert(static_cast<ssize_t>(AndroidSensorInfoLensShadingApplied::ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE),
              "AndroidSensorInfoLensShadingApplied::ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE != ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE");
static_assert(static_cast<ssize_t>(AndroidSensorInfoLensShadingApplied::ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE) == static_cast<ssize_t>(ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE),
              "AndroidSensorInfoLensShadingApplied::ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE != ANDROID_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE");
static_assert(static_cast<ssize_t>(AndroidShadingMode::ANDROID_SHADING_MODE_OFF) == static_cast<ssize_t>(ANDROID_SHADING_MODE_OFF),
              "AndroidShadingMode::ANDROID_SHADING_MODE_OFF != ANDROID_SHADING_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidShadingMode::ANDROID_SHADING_MODE_FAST) == static_cast<ssize_t>(ANDROID_SHADING_MODE_FAST),
              "AndroidShadingMode::ANDROID_SHADING_MODE_FAST != ANDROID_SHADING_MODE_FAST");
static_assert(static_cast<ssize_t>(AndroidShadingMode::ANDROID_SHADING_MODE_HIGH_QUALITY) == static_cast<ssize_t>(ANDROID_SHADING_MODE_HIGH_QUALITY),
              "AndroidShadingMode::ANDROID_SHADING_MODE_HIGH_QUALITY != ANDROID_SHADING_MODE_HIGH_QUALITY");
static_assert(static_cast<ssize_t>(AndroidStatisticsFaceDetectMode::ANDROID_STATISTICS_FACE_DETECT_MODE_OFF) == static_cast<ssize_t>(ANDROID_STATISTICS_FACE_DETECT_MODE_OFF),
              "AndroidStatisticsFaceDetectMode::ANDROID_STATISTICS_FACE_DETECT_MODE_OFF != ANDROID_STATISTICS_FACE_DETECT_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidStatisticsFaceDetectMode::ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE) == static_cast<ssize_t>(ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE),
              "AndroidStatisticsFaceDetectMode::ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE != ANDROID_STATISTICS_FACE_DETECT_MODE_SIMPLE");
static_assert(static_cast<ssize_t>(AndroidStatisticsFaceDetectMode::ANDROID_STATISTICS_FACE_DETECT_MODE_FULL) == static_cast<ssize_t>(ANDROID_STATISTICS_FACE_DETECT_MODE_FULL),
              "AndroidStatisticsFaceDetectMode::ANDROID_STATISTICS_FACE_DETECT_MODE_FULL != ANDROID_STATISTICS_FACE_DETECT_MODE_FULL");
static_assert(static_cast<ssize_t>(AndroidStatisticsHistogramMode::ANDROID_STATISTICS_HISTOGRAM_MODE_OFF) == static_cast<ssize_t>(ANDROID_STATISTICS_HISTOGRAM_MODE_OFF),
              "AndroidStatisticsHistogramMode::ANDROID_STATISTICS_HISTOGRAM_MODE_OFF != ANDROID_STATISTICS_HISTOGRAM_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidStatisticsHistogramMode::ANDROID_STATISTICS_HISTOGRAM_MODE_ON) == static_cast<ssize_t>(ANDROID_STATISTICS_HISTOGRAM_MODE_ON),
              "AndroidStatisticsHistogramMode::ANDROID_STATISTICS_HISTOGRAM_MODE_ON != ANDROID_STATISTICS_HISTOGRAM_MODE_ON");
static_assert(static_cast<ssize_t>(AndroidStatisticsSharpnessMapMode::ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF) == static_cast<ssize_t>(ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF),
              "AndroidStatisticsSharpnessMapMode::ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF != ANDROID_STATISTICS_SHARPNESS_MAP_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidStatisticsSharpnessMapMode::ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON) == static_cast<ssize_t>(ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON),
              "AndroidStatisticsSharpnessMapMode::ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON != ANDROID_STATISTICS_SHARPNESS_MAP_MODE_ON");
static_assert(static_cast<ssize_t>(AndroidStatisticsHotPixelMapMode::ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF) == static_cast<ssize_t>(ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF),
              "AndroidStatisticsHotPixelMapMode::ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF != ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidStatisticsHotPixelMapMode::ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON) == static_cast<ssize_t>(ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON),
              "AndroidStatisticsHotPixelMapMode::ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON != ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_ON");
static_assert(static_cast<ssize_t>(AndroidStatisticsSceneFlicker::ANDROID_STATISTICS_SCENE_FLICKER_NONE) == static_cast<ssize_t>(ANDROID_STATISTICS_SCENE_FLICKER_NONE),
              "AndroidStatisticsSceneFlicker::ANDROID_STATISTICS_SCENE_FLICKER_NONE != ANDROID_STATISTICS_SCENE_FLICKER_NONE");
static_assert(static_cast<ssize_t>(AndroidStatisticsSceneFlicker::ANDROID_STATISTICS_SCENE_FLICKER_50HZ) == static_cast<ssize_t>(ANDROID_STATISTICS_SCENE_FLICKER_50HZ),
              "AndroidStatisticsSceneFlicker::ANDROID_STATISTICS_SCENE_FLICKER_50HZ != ANDROID_STATISTICS_SCENE_FLICKER_50HZ");
static_assert(static_cast<ssize_t>(AndroidStatisticsSceneFlicker::ANDROID_STATISTICS_SCENE_FLICKER_60HZ) == static_cast<ssize_t>(ANDROID_STATISTICS_SCENE_FLICKER_60HZ),
              "AndroidStatisticsSceneFlicker::ANDROID_STATISTICS_SCENE_FLICKER_60HZ != ANDROID_STATISTICS_SCENE_FLICKER_60HZ");
static_assert(static_cast<ssize_t>(AndroidStatisticsLensShadingMapMode::ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF) == static_cast<ssize_t>(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF),
              "AndroidStatisticsLensShadingMapMode::ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF != ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidStatisticsLensShadingMapMode::ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON) == static_cast<ssize_t>(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON),
              "AndroidStatisticsLensShadingMapMode::ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON != ANDROID_STATISTICS_LENS_SHADING_MAP_MODE_ON");
static_assert(static_cast<ssize_t>(AndroidStatisticsOisDataMode::ANDROID_STATISTICS_OIS_DATA_MODE_OFF) == static_cast<ssize_t>(ANDROID_STATISTICS_OIS_DATA_MODE_OFF),
              "AndroidStatisticsOisDataMode::ANDROID_STATISTICS_OIS_DATA_MODE_OFF != ANDROID_STATISTICS_OIS_DATA_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidStatisticsOisDataMode::ANDROID_STATISTICS_OIS_DATA_MODE_ON) == static_cast<ssize_t>(ANDROID_STATISTICS_OIS_DATA_MODE_ON),
              "AndroidStatisticsOisDataMode::ANDROID_STATISTICS_OIS_DATA_MODE_ON != ANDROID_STATISTICS_OIS_DATA_MODE_ON");
static_assert(static_cast<ssize_t>(AndroidTonemapMode::ANDROID_TONEMAP_MODE_CONTRAST_CURVE) == static_cast<ssize_t>(ANDROID_TONEMAP_MODE_CONTRAST_CURVE),
              "AndroidTonemapMode::ANDROID_TONEMAP_MODE_CONTRAST_CURVE != ANDROID_TONEMAP_MODE_CONTRAST_CURVE");
static_assert(static_cast<ssize_t>(AndroidTonemapMode::ANDROID_TONEMAP_MODE_FAST) == static_cast<ssize_t>(ANDROID_TONEMAP_MODE_FAST),
              "AndroidTonemapMode::ANDROID_TONEMAP_MODE_FAST != ANDROID_TONEMAP_MODE_FAST");
static_assert(static_cast<ssize_t>(AndroidTonemapMode::ANDROID_TONEMAP_MODE_HIGH_QUALITY) == static_cast<ssize_t>(ANDROID_TONEMAP_MODE_HIGH_QUALITY),
              "AndroidTonemapMode::ANDROID_TONEMAP_MODE_HIGH_QUALITY != ANDROID_TONEMAP_MODE_HIGH_QUALITY");
static_assert(static_cast<ssize_t>(AndroidTonemapMode::ANDROID_TONEMAP_MODE_GAMMA_VALUE) == static_cast<ssize_t>(ANDROID_TONEMAP_MODE_GAMMA_VALUE),
              "AndroidTonemapMode::ANDROID_TONEMAP_MODE_GAMMA_VALUE != ANDROID_TONEMAP_MODE_GAMMA_VALUE");
static_assert(static_cast<ssize_t>(AndroidTonemapMode::ANDROID_TONEMAP_MODE_PRESET_CURVE) == static_cast<ssize_t>(ANDROID_TONEMAP_MODE_PRESET_CURVE),
              "AndroidTonemapMode::ANDROID_TONEMAP_MODE_PRESET_CURVE != ANDROID_TONEMAP_MODE_PRESET_CURVE");
static_assert(static_cast<ssize_t>(AndroidTonemapPresetCurve::ANDROID_TONEMAP_PRESET_CURVE_SRGB) == static_cast<ssize_t>(ANDROID_TONEMAP_PRESET_CURVE_SRGB),
              "AndroidTonemapPresetCurve::ANDROID_TONEMAP_PRESET_CURVE_SRGB != ANDROID_TONEMAP_PRESET_CURVE_SRGB");
static_assert(static_cast<ssize_t>(AndroidTonemapPresetCurve::ANDROID_TONEMAP_PRESET_CURVE_REC709) == static_cast<ssize_t>(ANDROID_TONEMAP_PRESET_CURVE_REC709),
              "AndroidTonemapPresetCurve::ANDROID_TONEMAP_PRESET_CURVE_REC709 != ANDROID_TONEMAP_PRESET_CURVE_REC709");
static_assert(static_cast<ssize_t>(AndroidLedTransmit::ANDROID_LED_TRANSMIT_OFF) == static_cast<ssize_t>(ANDROID_LED_TRANSMIT_OFF),
              "AndroidLedTransmit::ANDROID_LED_TRANSMIT_OFF != ANDROID_LED_TRANSMIT_OFF");
static_assert(static_cast<ssize_t>(AndroidLedTransmit::ANDROID_LED_TRANSMIT_ON) == static_cast<ssize_t>(ANDROID_LED_TRANSMIT_ON),
              "AndroidLedTransmit::ANDROID_LED_TRANSMIT_ON != ANDROID_LED_TRANSMIT_ON");
static_assert(static_cast<ssize_t>(AndroidLedAvailableLeds::ANDROID_LED_AVAILABLE_LEDS_TRANSMIT) == static_cast<ssize_t>(ANDROID_LED_AVAILABLE_LEDS_TRANSMIT),
              "AndroidLedAvailableLeds::ANDROID_LED_AVAILABLE_LEDS_TRANSMIT != ANDROID_LED_AVAILABLE_LEDS_TRANSMIT");
static_assert(static_cast<ssize_t>(AndroidInfoSupportedHardwareLevel::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED) == static_cast<ssize_t>(ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED),
              "AndroidInfoSupportedHardwareLevel::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED != ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED");
static_assert(static_cast<ssize_t>(AndroidInfoSupportedHardwareLevel::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL) == static_cast<ssize_t>(ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL),
              "AndroidInfoSupportedHardwareLevel::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL != ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_FULL");
static_assert(static_cast<ssize_t>(AndroidInfoSupportedHardwareLevel::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY) == static_cast<ssize_t>(ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY),
              "AndroidInfoSupportedHardwareLevel::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY != ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY");
static_assert(static_cast<ssize_t>(AndroidInfoSupportedHardwareLevel::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3) == static_cast<ssize_t>(ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3),
              "AndroidInfoSupportedHardwareLevel::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3 != ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_3");
static_assert(static_cast<ssize_t>(AndroidInfoSupportedHardwareLevel::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL) == static_cast<ssize_t>(ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL),
              "AndroidInfoSupportedHardwareLevel::ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL != ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL");
static_assert(static_cast<ssize_t>(AndroidBlackLevelLock::ANDROID_BLACK_LEVEL_LOCK_OFF) == static_cast<ssize_t>(ANDROID_BLACK_LEVEL_LOCK_OFF),
              "AndroidBlackLevelLock::ANDROID_BLACK_LEVEL_LOCK_OFF != ANDROID_BLACK_LEVEL_LOCK_OFF");
static_assert(static_cast<ssize_t>(AndroidBlackLevelLock::ANDROID_BLACK_LEVEL_LOCK_ON) == static_cast<ssize_t>(ANDROID_BLACK_LEVEL_LOCK_ON),
              "AndroidBlackLevelLock::ANDROID_BLACK_LEVEL_LOCK_ON != ANDROID_BLACK_LEVEL_LOCK_ON");
static_assert(static_cast<ssize_t>(AndroidSyncFrameNumber::ANDROID_SYNC_FRAME_NUMBER_CONVERGING) == static_cast<ssize_t>(ANDROID_SYNC_FRAME_NUMBER_CONVERGING),
              "AndroidSyncFrameNumber::ANDROID_SYNC_FRAME_NUMBER_CONVERGING != ANDROID_SYNC_FRAME_NUMBER_CONVERGING");
static_assert(static_cast<ssize_t>(AndroidSyncFrameNumber::ANDROID_SYNC_FRAME_NUMBER_UNKNOWN) == static_cast<ssize_t>(ANDROID_SYNC_FRAME_NUMBER_UNKNOWN),
              "AndroidSyncFrameNumber::ANDROID_SYNC_FRAME_NUMBER_UNKNOWN != ANDROID_SYNC_FRAME_NUMBER_UNKNOWN");
static_assert(static_cast<ssize_t>(AndroidSyncMaxLatency::ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL) == static_cast<ssize_t>(ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL),
              "AndroidSyncMaxLatency::ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL != ANDROID_SYNC_MAX_LATENCY_PER_FRAME_CONTROL");
static_assert(static_cast<ssize_t>(AndroidSyncMaxLatency::ANDROID_SYNC_MAX_LATENCY_UNKNOWN) == static_cast<ssize_t>(ANDROID_SYNC_MAX_LATENCY_UNKNOWN),
              "AndroidSyncMaxLatency::ANDROID_SYNC_MAX_LATENCY_UNKNOWN != ANDROID_SYNC_MAX_LATENCY_UNKNOWN");
static_assert(static_cast<ssize_t>(AndroidDepthAvailableDepthStreamConfigurations::ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT) == static_cast<ssize_t>(ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT),
              "AndroidDepthAvailableDepthStreamConfigurations::ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT != ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT");
static_assert(static_cast<ssize_t>(AndroidDepthAvailableDepthStreamConfigurations::ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT) == static_cast<ssize_t>(ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT),
              "AndroidDepthAvailableDepthStreamConfigurations::ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT != ANDROID_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT");
static_assert(static_cast<ssize_t>(AndroidDepthDepthIsExclusive::ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE) == static_cast<ssize_t>(ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE),
              "AndroidDepthDepthIsExclusive::ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE != ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE");
static_assert(static_cast<ssize_t>(AndroidDepthDepthIsExclusive::ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE) == static_cast<ssize_t>(ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE),
              "AndroidDepthDepthIsExclusive::ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE != ANDROID_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE");
static_assert(static_cast<ssize_t>(AndroidLogicalMultiCameraSensorSyncType::ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE) == static_cast<ssize_t>(ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE),
              "AndroidLogicalMultiCameraSensorSyncType::ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE != ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE");
static_assert(static_cast<ssize_t>(AndroidLogicalMultiCameraSensorSyncType::ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED) == static_cast<ssize_t>(ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED),
              "AndroidLogicalMultiCameraSensorSyncType::ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED != ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED");
static_assert(static_cast<ssize_t>(AndroidDistortionCorrectionMode::ANDROID_DISTORTION_CORRECTION_MODE_OFF) == static_cast<ssize_t>(ANDROID_DISTORTION_CORRECTION_MODE_OFF),
              "AndroidDistortionCorrectionMode::ANDROID_DISTORTION_CORRECTION_MODE_OFF != ANDROID_DISTORTION_CORRECTION_MODE_OFF");
static_assert(static_cast<ssize_t>(AndroidDistortionCorrectionMode::ANDROID_DISTORTION_CORRECTION_MODE_FAST) == static_cast<ssize_t>(ANDROID_DISTORTION_CORRECTION_MODE_FAST),
              "AndroidDistortionCorrectionMode::ANDROID_DISTORTION_CORRECTION_MODE_FAST != ANDROID_DISTORTION_CORRECTION_MODE_FAST");
static_assert(static_cast<ssize_t>(AndroidDistortionCorrectionMode::ANDROID_DISTORTION_CORRECTION_MODE_HIGH_QUALITY) == static_cast<ssize_t>(ANDROID_DISTORTION_CORRECTION_MODE_HIGH_QUALITY),
              "AndroidDistortionCorrectionMode::ANDROID_DISTORTION_CORRECTION_MODE_HIGH_QUALITY != ANDROID_DISTORTION_CORRECTION_MODE_HIGH_QUALITY");

}  // end of namespace mojom

}  // end of namespace cros
