blob: 2d82706b1a68c84e244b65d1daee7188c2c4520f [file] [log] [blame]
syntax = "proto2";
package android.automotive.computepipe.proto;
message ImageFileConfig {
enum ImageFileType {
JPEG = 0;
PNG = 1;
}
optional ImageFileType file_type = 1;
optional string image_dir = 2;
}
message VideoFileConfig {
enum VideoFileType {
MPEG = 0;
}
optional VideoFileType file_type = 1;
optional string file_path = 2;
}
message CameraConfig {
enum CameraType {
DRIVER_VIEW_CAMERA = 0;
OCCUPANT_VIEW_CAMERA = 1;
EXTERNAL_CAMERA = 2;
SURROUND_VIEW_CAMERA = 3;
};
optional CameraType camera_type = 1;
optional string cam_id = 2;
}
message InputStreamConfig {
enum InputType {
CAMERA = 1;
IMAGE_FILES = 2;
VIDEO_FILE = 3;
}
optional InputType type = 1;
enum FormatType {
RGB = 0;
NIR = 1;
NIR_DEPTH = 2;
}
optional FormatType format = 2;
optional int32 width = 3;
optional int32 height = 4;
optional int32 stride = 5;
// The camera id string essential to start the camera.
optional CameraConfig cam_config = 6;
// for image file input type the following attributes apply
optional ImageFileConfig image_config = 7;
// Must be present when InputType is ImageFile
optional VideoFileConfig video_config = 8;
optional int32 stream_id = 9;
enum PixelLayout {
UNKNOWN = 0;
// one byte for R, then one byte for G, then one byte for B for each pixel.
RGB24 = 1;
// one byte for R, one byte for G, one byte for B, one byte for alpha or
// unused.
RGBA32 = 2;
// Grayscale, one byte per pixel.
GRAY8 = 3;
// Grayscale, one uint16 per pixel.
GRAY16 = 4;
}
// Represent pixel layout of image expected by graph.
optional PixelLayout pixel_layout = 10 [default = RGB24];
}
// A graph could require streams from multiple cameras simultaneously, so each possible input
// config could specify multiple camera configs.
message InputConfig {
repeated InputStreamConfig input_stream = 1;
// config id which would be used to set the config rather than passing the entire config proto
optional int32 config_id = 2;
}