// LINT: LEGACY_NAMES
syntax = "proto2";

package wireless.android.partner.adl.proto;

option java_package = "com.google.wireless.android.partner.adl.proto";
option java_outer_classname = "CameraDeviceInfoProto";

// Content of this file is generated from $(ANDROID_ROOT)/system/media/camera/doc
// Keep internal protocol buffer definition in sync with this one
// Camera related device information
// Next Id: 9
message CameraDeviceInfo {
  // Supported profiles from CamcorderProfile.hasProfile
  optional bool profile_480p = 1;
  optional bool profile_720p = 2;
  optional bool profile_1080p = 3;
  optional bool profile_cif = 4;
  optional bool profile_qcif = 5;
  optional bool profile_qvga = 6;
  optional int32 num_of_camera = 7;

  message PerCameraInfo {
    message Rational {
        optional int32 numerator = 1;
        optional int32 denominator = 2;
    }

    message Size {
        optional int32 width = 1;
        optional int32 height = 2;
    }

    message SizeF {
        optional float width = 1;
        optional float height = 2;
    }

    message Rect {
        optional int32 left = 1;
        optional int32 right = 2;
        optional int32 top = 3;
        optional int32 bottom = 4;
    }

    message StreamConfigurations {
        message StreamConfig {
            optional int32 format = 1;
            optional int32 width = 2;
            optional int32 height = 3;
            optional bool input = 4;
            optional int64 minFrameDuration = 5;
        }
        repeated StreamConfig availableStreamConfigurations = 1;
    }

    message RangeInt {
        optional int32 lower = 1;
        optional int32 upper = 2;
    }

    message RangeLong {
        optional int64 lower = 1;
        optional int64 upper = 2;
    }

    message ColorSpaceTransform {
        repeated Rational elements = 1;
    }

    message BlackLevelPattern {
        repeated int32 black_level_pattern = 1;
    }

    optional string cameraId = 1;

    // Start of codegen fields
    repeated int32 android_colorCorrection_availableAberrationModes = 65536;
    repeated int32 android_control_aeAvailableAntibandingModes = 131072;
    repeated int32 android_control_aeAvailableModes = 131073;
    repeated RangeInt android_control_aeAvailableTargetFpsRanges = 131074;
    optional RangeInt android_control_aeCompensationRange = 131075;
    optional Rational android_control_aeCompensationStep = 131076;
    repeated int32 android_control_afAvailableModes = 131077;
    repeated int32 android_control_availableEffects = 131078;
    repeated int32 android_control_availableSceneModes = 131079;
    repeated int32 android_control_availableVideoStabilizationModes = 131080;
    repeated int32 android_control_awbAvailableModes = 131081;
    optional int32 android_control_maxRegionsAe = 131082;
    optional int32 android_control_maxRegionsAwb = 131083;
    optional int32 android_control_maxRegionsAf = 131084;
    optional bool android_control_aeLockAvailable = 131085;
    optional bool android_control_awbLockAvailable = 131086;
    repeated int32 android_control_availableModes = 131087;
    optional RangeInt android_control_postRawSensitivityBoostRange = 131088;
    repeated int32 android_edge_availableEdgeModes = 262144;
    optional bool android_flash_info_available = 393216;
    repeated int32 android_hotPixel_availableHotPixelModes = 458752;
    repeated Size android_jpeg_availableThumbnailSizes = 524288;
    optional int32 android_lens_facing = 589824;
    repeated float android_lens_info_availableApertures = 655360;
    repeated float android_lens_info_availableFilterDensities = 655361;
    repeated float android_lens_info_availableFocalLengths = 655362;
    repeated int32 android_lens_info_availableOpticalStabilization = 655363;
    optional float android_lens_info_hyperfocalDistance = 655364;
    optional float android_lens_info_minimumFocusDistance = 655365;
    optional int32 android_lens_info_focusDistanceCalibration = 655366;
    repeated int32 android_noiseReduction_availableNoiseReductionModes = 720896;
    optional int32 android_request_maxNumOutputRaw = 851968;
    optional int32 android_request_maxNumOutputProc = 851969;
    optional int32 android_request_maxNumOutputProcStalling = 851970;
    optional int32 android_request_maxNumInputStreams = 851971;
    optional int32 android_request_pipelineMaxDepth = 851972;
    optional int32 android_request_partialResultCount = 851973;
    repeated int32 android_request_availableCapabilities = 851974;
    optional float android_scaler_availableMaxDigitalZoom = 917504;
    optional StreamConfigurations android_scaler_streamConfigurationMap = 917505;
    optional int32 android_scaler_croppingType = 917506;
    optional int32 android_sensor_referenceIlluminant1 = 983040;
    optional int32 android_sensor_referenceIlluminant2 = 983041;
    optional ColorSpaceTransform android_sensor_calibrationTransform1 = 983042;
    optional ColorSpaceTransform android_sensor_calibrationTransform2 = 983043;
    optional ColorSpaceTransform android_sensor_colorTransform1 = 983044;
    optional ColorSpaceTransform android_sensor_colorTransform2 = 983045;
    optional ColorSpaceTransform android_sensor_forwardMatrix1 = 983046;
    optional ColorSpaceTransform android_sensor_forwardMatrix2 = 983047;
    optional BlackLevelPattern android_sensor_blackLevelPattern = 983048;
    optional int32 android_sensor_maxAnalogSensitivity = 983049;
    optional int32 android_sensor_orientation = 983050;
    repeated int32 android_sensor_availableTestPatternModes = 983051;
    repeated Rect android_sensor_opticalBlackRegions = 983052;
    optional Rect android_sensor_info_activeArraySize = 1048576;
    optional RangeInt android_sensor_info_sensitivityRange = 1048577;
    optional int32 android_sensor_info_colorFilterArrangement = 1048578;
    optional RangeLong android_sensor_info_exposureTimeRange = 1048579;
    optional int64 android_sensor_info_maxFrameDuration = 1048580;
    optional SizeF android_sensor_info_physicalSize = 1048581;
    optional Size android_sensor_info_pixelArraySize = 1048582;
    optional int32 android_sensor_info_whiteLevel = 1048583;
    optional int32 android_sensor_info_timestampSource = 1048584;
    optional bool android_sensor_info_lensShadingApplied = 1048585;
    optional Rect android_sensor_info_preCorrectionActiveArraySize = 1048586;
    repeated int32 android_shading_availableModes = 1114112;
    repeated int32 android_statistics_info_availableFaceDetectModes = 1245184;
    optional int32 android_statistics_info_maxFaceCount = 1245185;
    repeated bool android_statistics_info_availableHotPixelMapModes = 1245186;
    repeated int32 android_statistics_info_availableLensShadingMapModes = 1245187;
    optional int32 android_tonemap_maxCurvePoints = 1310720;
    repeated int32 android_tonemap_availableToneMapModes = 1310721;
    optional int32 android_info_supportedHardwareLevel = 1441792;
    optional int32 android_sync_maxLatency = 1572864;
    optional int32 android_reprocess_maxCaptureStall = 1638400;
    optional bool android_depth_depthIsExclusive = 1703936;
    // End of codegen fields
  }

  // Per camera (front/back) informations
  repeated PerCameraInfo per_camera_info = 8;
} // CameraDeviceInfo

