/*
 * 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 "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
