1/*
2 * Copyright (C) 2020 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18
19package android.stats.camera;
20
21option java_package = "android.stats.camera";
22option java_outer_classname = "CameraProtos";
23
24/**
25 * CameraStreamProto from atoms.proto, duplicated here so that it's accessible from the
26 * logging code. Must be kept in sync with the definition in atoms.proto.
27 */
28message CameraStreamProto {
29    // The stream width (in pixels)
30    optional int32 width = 1;
31    // The stream height (in pixels)
32    optional int32 height = 2;
33    // The format of the stream
34    optional int32 format = 3;
35    // The dataspace of the stream
36    optional int32 data_space = 4;
37    // The usage flag of the stream
38    optional int64 usage = 5;
39
40    // The number of requests for this stream
41    optional int64 request_count = 6;
42    // The number of buffer error for this stream
43    optional int64 error_count = 7;
44    // The capture latency of first request for this stream
45    optional int32 first_capture_latency_millis = 8;
46
47    // The maximum number of hal buffers
48    optional int32 max_hal_buffers = 9;
49    // The maximum number of app buffers
50    optional int32 max_app_buffers = 10;
51
52    // Type of stream histogram
53    // 1: Capture latency: bin size in milliseconds
54    enum HistogramType {
55        UNKNOWN = 0;
56        CAPTURE_LATENCY = 1;
57    }
58    optional HistogramType histogram_type = 11;
59    // The boundary values between histogram bins
60    // Expected number of fields: 9
61    repeated float histogram_bins = 12;
62    // The frame counts for each histogram bins
63    // Expected number of fields: 10
64    repeated int64 histogram_counts = 13;
65
66    // The dynamic range profile of the stream
67    optional int64 dynamic_range_profile = 14;
68    // The stream use case
69    optional int64 stream_use_case = 15;
70    // The color space of the stream
71    optional int32 color_space = 16;
72}
73