xref: /aosp_15_r20/system/media/camera/docs/camera_device_info.mako (revision b9df5ad1c9ac98a7fefaac271a55f7ae3db05414)
1*b9df5ad1SAndroid Build Coastguard Worker// LINT: LEGACY_NAMES
2*b9df5ad1SAndroid Build Coastguard Workersyntax = "proto2";
3*b9df5ad1SAndroid Build Coastguard Worker
4*b9df5ad1SAndroid Build Coastguard Workerpackage wireless.android.partner.adl.proto;
5*b9df5ad1SAndroid Build Coastguard Worker
6*b9df5ad1SAndroid Build Coastguard Workeroption java_package = "com.google.wireless.android.partner.adl.proto";
7*b9df5ad1SAndroid Build Coastguard Workeroption java_outer_classname = "CameraDeviceInfoProto";
8*b9df5ad1SAndroid Build Coastguard Worker
9*b9df5ad1SAndroid Build Coastguard Worker// Content of this file is generated from $(ANDROID_ROOT)/system/media/camera/doc
10*b9df5ad1SAndroid Build Coastguard Worker// Keep internal protocol buffer definition in sync with this one
11*b9df5ad1SAndroid Build Coastguard Worker// Camera related device information
12*b9df5ad1SAndroid Build Coastguard Worker// Next Id: 9
13*b9df5ad1SAndroid Build Coastguard Workermessage CameraDeviceInfo {
14*b9df5ad1SAndroid Build Coastguard Worker  // Supported profiles from CamcorderProfile.hasProfile
15*b9df5ad1SAndroid Build Coastguard Worker  optional bool profile_480p = 1;
16*b9df5ad1SAndroid Build Coastguard Worker  optional bool profile_720p = 2;
17*b9df5ad1SAndroid Build Coastguard Worker  optional bool profile_1080p = 3;
18*b9df5ad1SAndroid Build Coastguard Worker  optional bool profile_cif = 4;
19*b9df5ad1SAndroid Build Coastguard Worker  optional bool profile_qcif = 5;
20*b9df5ad1SAndroid Build Coastguard Worker  optional bool profile_qvga = 6;
21*b9df5ad1SAndroid Build Coastguard Worker  optional int32 num_of_camera = 7;
22*b9df5ad1SAndroid Build Coastguard Worker
23*b9df5ad1SAndroid Build Coastguard Worker  message PerCameraInfo {
24*b9df5ad1SAndroid Build Coastguard Worker    message Rational {
25*b9df5ad1SAndroid Build Coastguard Worker        optional int32 numerator = 1;
26*b9df5ad1SAndroid Build Coastguard Worker        optional int32 denominator = 2;
27*b9df5ad1SAndroid Build Coastguard Worker    }
28*b9df5ad1SAndroid Build Coastguard Worker
29*b9df5ad1SAndroid Build Coastguard Worker    message Size {
30*b9df5ad1SAndroid Build Coastguard Worker        optional int32 width = 1;
31*b9df5ad1SAndroid Build Coastguard Worker        optional int32 height = 2;
32*b9df5ad1SAndroid Build Coastguard Worker    }
33*b9df5ad1SAndroid Build Coastguard Worker
34*b9df5ad1SAndroid Build Coastguard Worker    message SizeF {
35*b9df5ad1SAndroid Build Coastguard Worker        optional float width = 1;
36*b9df5ad1SAndroid Build Coastguard Worker        optional float height = 2;
37*b9df5ad1SAndroid Build Coastguard Worker    }
38*b9df5ad1SAndroid Build Coastguard Worker
39*b9df5ad1SAndroid Build Coastguard Worker    message Rect {
40*b9df5ad1SAndroid Build Coastguard Worker        optional int32 left = 1;
41*b9df5ad1SAndroid Build Coastguard Worker        optional int32 right = 2;
42*b9df5ad1SAndroid Build Coastguard Worker        optional int32 top = 3;
43*b9df5ad1SAndroid Build Coastguard Worker        optional int32 bottom = 4;
44*b9df5ad1SAndroid Build Coastguard Worker    }
45*b9df5ad1SAndroid Build Coastguard Worker
46*b9df5ad1SAndroid Build Coastguard Worker    message StreamConfigurations {
47*b9df5ad1SAndroid Build Coastguard Worker        message StreamConfig {
48*b9df5ad1SAndroid Build Coastguard Worker            optional int32 format = 1;
49*b9df5ad1SAndroid Build Coastguard Worker            optional int32 width = 2;
50*b9df5ad1SAndroid Build Coastguard Worker            optional int32 height = 3;
51*b9df5ad1SAndroid Build Coastguard Worker            optional bool input = 4;
52*b9df5ad1SAndroid Build Coastguard Worker            optional int64 minFrameDuration = 5;
53*b9df5ad1SAndroid Build Coastguard Worker        }
54*b9df5ad1SAndroid Build Coastguard Worker        repeated StreamConfig availableStreamConfigurations = 1;
55*b9df5ad1SAndroid Build Coastguard Worker    }
56*b9df5ad1SAndroid Build Coastguard Worker
57*b9df5ad1SAndroid Build Coastguard Worker    message RangeFloat {
58*b9df5ad1SAndroid Build Coastguard Worker        optional float lower = 1;
59*b9df5ad1SAndroid Build Coastguard Worker        optional float upper = 2;
60*b9df5ad1SAndroid Build Coastguard Worker    }
61*b9df5ad1SAndroid Build Coastguard Worker
62*b9df5ad1SAndroid Build Coastguard Worker    message RangeInt {
63*b9df5ad1SAndroid Build Coastguard Worker        optional int32 lower = 1;
64*b9df5ad1SAndroid Build Coastguard Worker        optional int32 upper = 2;
65*b9df5ad1SAndroid Build Coastguard Worker    }
66*b9df5ad1SAndroid Build Coastguard Worker
67*b9df5ad1SAndroid Build Coastguard Worker    message RangeLong {
68*b9df5ad1SAndroid Build Coastguard Worker        optional int64 lower = 1;
69*b9df5ad1SAndroid Build Coastguard Worker        optional int64 upper = 2;
70*b9df5ad1SAndroid Build Coastguard Worker    }
71*b9df5ad1SAndroid Build Coastguard Worker
72*b9df5ad1SAndroid Build Coastguard Worker    message ColorSpaceTransform {
73*b9df5ad1SAndroid Build Coastguard Worker        repeated Rational elements = 1;
74*b9df5ad1SAndroid Build Coastguard Worker    }
75*b9df5ad1SAndroid Build Coastguard Worker
76*b9df5ad1SAndroid Build Coastguard Worker    message BlackLevelPattern {
77*b9df5ad1SAndroid Build Coastguard Worker        repeated int32 black_level_pattern = 1;
78*b9df5ad1SAndroid Build Coastguard Worker    }
79*b9df5ad1SAndroid Build Coastguard Worker
80*b9df5ad1SAndroid Build Coastguard Worker    message MultiResolutionStreamConfigurations {
81*b9df5ad1SAndroid Build Coastguard Worker        message MultiResolutionStreamConfig {
82*b9df5ad1SAndroid Build Coastguard Worker            optional int32 format = 1;
83*b9df5ad1SAndroid Build Coastguard Worker            optional int32 width = 2;
84*b9df5ad1SAndroid Build Coastguard Worker            optional int32 height = 3;
85*b9df5ad1SAndroid Build Coastguard Worker            optional string cameraId = 4;
86*b9df5ad1SAndroid Build Coastguard Worker            optional bool input = 5;
87*b9df5ad1SAndroid Build Coastguard Worker        }
88*b9df5ad1SAndroid Build Coastguard Worker        repeated MultiResolutionStreamConfig availableMultiResolutionConfigurations = 1;
89*b9df5ad1SAndroid Build Coastguard Worker    }
90*b9df5ad1SAndroid Build Coastguard Worker
91*b9df5ad1SAndroid Build Coastguard Worker    optional string cameraId = 1;
92*b9df5ad1SAndroid Build Coastguard Worker
93*b9df5ad1SAndroid Build Coastguard Worker    message Capability {
94*b9df5ad1SAndroid Build Coastguard Worker        optional int32 mode = 1;
95*b9df5ad1SAndroid Build Coastguard Worker        optional int32 maxStreamingWidth = 2;
96*b9df5ad1SAndroid Build Coastguard Worker        optional int32 maxStreamingHeight = 3;
97*b9df5ad1SAndroid Build Coastguard Worker        optional float minZoomRatio = 4;
98*b9df5ad1SAndroid Build Coastguard Worker        optional float maxZoomRatio = 5;
99*b9df5ad1SAndroid Build Coastguard Worker    }
100*b9df5ad1SAndroid Build Coastguard Worker
101*b9df5ad1SAndroid Build Coastguard Worker    message DynamicRangeProfiles {
102*b9df5ad1SAndroid Build Coastguard Worker        repeated int64 dynamic_range_profiles = 1 [packed = true];
103*b9df5ad1SAndroid Build Coastguard Worker    }
104*b9df5ad1SAndroid Build Coastguard Worker
105*b9df5ad1SAndroid Build Coastguard Worker    message DeviceStateSensorOrientationMap {
106*b9df5ad1SAndroid Build Coastguard Worker        repeated int64 elements = 1 [packed = true];
107*b9df5ad1SAndroid Build Coastguard Worker    }
108*b9df5ad1SAndroid Build Coastguard Worker
109*b9df5ad1SAndroid Build Coastguard Worker    message ColorSpaceProfiles {
110*b9df5ad1SAndroid Build Coastguard Worker        message ColorSpaceProfile {
111*b9df5ad1SAndroid Build Coastguard Worker            message FormatAndDynamicRangeProfiles {
112*b9df5ad1SAndroid Build Coastguard Worker                optional int32 image_format = 1;
113*b9df5ad1SAndroid Build Coastguard Worker                repeated int64 dynamic_range_profiles = 2 [packed = true];
114*b9df5ad1SAndroid Build Coastguard Worker            }
115*b9df5ad1SAndroid Build Coastguard Worker            optional int32 color_space = 1;
116*b9df5ad1SAndroid Build Coastguard Worker            repeated FormatAndDynamicRangeProfiles image_formats = 2;
117*b9df5ad1SAndroid Build Coastguard Worker        }
118*b9df5ad1SAndroid Build Coastguard Worker        repeated ColorSpaceProfile color_space_profiles = 1;
119*b9df5ad1SAndroid Build Coastguard Worker    }
120*b9df5ad1SAndroid Build Coastguard Worker
121*b9df5ad1SAndroid Build Coastguard Worker    // Start of codegen fields
122*b9df5ad1SAndroid Build Coastguard Worker<%
123*b9df5ad1SAndroid Build Coastguard Worker  section_idx = 1
124*b9df5ad1SAndroid Build Coastguard Worker%>\
125*b9df5ad1SAndroid Build Coastguard Worker% for sec in find_all_sections(metadata):
126*b9df5ad1SAndroid Build Coastguard Worker## Reserve 2^16 tag id space for each section
127*b9df5ad1SAndroid Build Coastguard Worker<%
128*b9df5ad1SAndroid Build Coastguard Worker  idx = section_idx * pow(2,16)
129*b9df5ad1SAndroid Build Coastguard Worker%>\
130*b9df5ad1SAndroid Build Coastguard Worker% for entry in find_unique_entries(sec):
131*b9df5ad1SAndroid Build Coastguard Worker% if entry.kind == 'static' and entry.visibility in ("public", "java_public",\
132*b9df5ad1SAndroid Build Coastguard Worker      "fwk_java_public", "fwk_public"):
133*b9df5ad1SAndroid Build Coastguard Worker    ${protobuf_type(entry)} ${protobuf_name(entry)} = ${idx};
134*b9df5ad1SAndroid Build Coastguard Worker<%
135*b9df5ad1SAndroid Build Coastguard Worker    idx += 1
136*b9df5ad1SAndroid Build Coastguard Worker%>\
137*b9df5ad1SAndroid Build Coastguard Worker% endif
138*b9df5ad1SAndroid Build Coastguard Worker% endfor
139*b9df5ad1SAndroid Build Coastguard Worker<%
140*b9df5ad1SAndroid Build Coastguard Worker  section_idx += 1
141*b9df5ad1SAndroid Build Coastguard Worker%>\
142*b9df5ad1SAndroid Build Coastguard Worker% endfor
143*b9df5ad1SAndroid Build Coastguard Worker    // End of codegen fields
144*b9df5ad1SAndroid Build Coastguard Worker  }
145*b9df5ad1SAndroid Build Coastguard Worker
146*b9df5ad1SAndroid Build Coastguard Worker  // Per camera (front/back) informations
147*b9df5ad1SAndroid Build Coastguard Worker  repeated PerCameraInfo per_camera_info = 8;
148*b9df5ad1SAndroid Build Coastguard Worker} // CameraDeviceInfo
149*b9df5ad1SAndroid Build Coastguard Worker
150