1syntax = "proto2"; 2 3package android.automotive.computepipe.proto; 4 5message ImageFileConfig { 6 enum ImageFileType { 7 JPEG = 0; 8 PNG = 1; 9 } 10 11 optional ImageFileType file_type = 1; 12 13 optional string image_dir = 2; 14} 15 16message VideoFileConfig { 17 enum VideoFileType { 18 MPEG = 0; 19 } 20 21 optional VideoFileType file_type = 1; 22 23 optional string file_path = 2; 24} 25 26message CameraConfig { 27 enum CameraType { 28 DRIVER_VIEW_CAMERA = 0; 29 OCCUPANT_VIEW_CAMERA = 1; 30 EXTERNAL_CAMERA = 2; 31 SURROUND_VIEW_CAMERA = 3; 32 }; 33 34 optional CameraType camera_type = 1; 35 36 optional string cam_id = 2; 37} 38 39message InputStreamConfig { 40 enum InputType { 41 CAMERA = 1; 42 IMAGE_FILES = 2; 43 VIDEO_FILE = 3; 44 } 45 46 optional InputType type = 1; 47 48 enum FormatType { 49 RGB = 0; 50 NIR = 1; 51 NIR_DEPTH = 2; 52 } 53 54 optional FormatType format = 2; 55 56 optional int32 width = 3; 57 58 optional int32 height = 4; 59 60 optional int32 stride = 5; 61 62 // The camera id string essential to start the camera. 63 optional CameraConfig cam_config = 6; 64 65 // for image file input type the following attributes apply 66 optional ImageFileConfig image_config = 7; 67 68 // Must be present when InputType is ImageFile 69 optional VideoFileConfig video_config = 8; 70 71 optional int32 stream_id = 9; 72 73 enum PixelLayout { 74 UNKNOWN = 0; 75 76 // one byte for R, then one byte for G, then one byte for B for each pixel. 77 RGB24 = 1; 78 79 // one byte for R, one byte for G, one byte for B, one byte for alpha or 80 // unused. 81 RGBA32 = 2; 82 83 // Grayscale, one byte per pixel. 84 GRAY8 = 3; 85 86 // Grayscale, one uint16 per pixel. 87 GRAY16 = 4; 88 } 89 90 // Represent pixel layout of image expected by graph. 91 optional PixelLayout pixel_layout = 10 [default = RGB24]; 92} 93 94// A graph could require streams from multiple cameras simultaneously, so each possible input 95// config could specify multiple camera configs. 96message InputConfig { 97 repeated InputStreamConfig input_stream = 1; 98 99 // config id which would be used to set the config rather than passing the entire config proto 100 optional int32 config_id = 2; 101} 102