#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ClipMetaHeader {
#[prost(string, tag="1")]
pub proto_file_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub library_proto_version: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub product_proto_version: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub product_sn: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub product_firmware_version: ::prost::alloc::string::String,
#[prost(enumeration="clip_meta_header::MetaEncryptionType", tag="7")]
pub meta_encryption_type: i32,
#[prost(enumeration="clip_meta_header::MetaCompressionType", tag="8")]
pub meta_compression_type: i32,
#[prost(uint64, tag="9")]
pub clip_timestamp: u64,
#[prost(string, tag="10")]
pub product_name: ::prost::alloc::string::String,
}
pub mod clip_meta_header {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MetaEncryptionType {
None = 0,
}
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MetaCompressionType {
None = 0,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct StreamMetaHeader {
#[prost(uint32, tag="1")]
pub stream_id: u32,
#[prost(enumeration="stream_meta_header::StreamType", tag="2")]
pub stream_type: i32,
#[prost(string, tag="3")]
pub stream_name: ::prost::alloc::string::String,
}
pub mod stream_meta_header {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum StreamType {
Video = 0,
Audio = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct FrameMetaHeader {
#[prost(uint64, tag="1")]
pub frame_seq_num: u64,
#[prost(uint64, tag="2")]
pub frame_timestamp: u64,
#[prost(uint32, tag="3")]
pub stream_id: u32,
#[prost(bool, tag="4")]
pub check_code_enable: bool,
#[prost(enumeration="frame_meta_header::CheckCodeType", tag="5")]
pub check_code_type: i32,
#[prost(uint64, tag="6")]
pub check_code: u64,
}
pub mod frame_meta_header {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CheckCodeType {
None = 0,
Crc32 = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct MetaHeaderOfDevice {
#[prost(uint32, tag="1")]
pub device_id: u32,
#[prost(enumeration="meta_header_of_device::DeviceType", tag="2")]
pub device_type: i32,
#[prost(enumeration="meta_header_of_device::DeviceSubType", tag="3")]
pub device_sub_type: i32,
#[prost(string, tag="4")]
pub device_name: ::prost::alloc::string::String,
#[prost(float, tag="5")]
pub device_frequency: f32,
#[prost(uint64, tag="6")]
pub device_timestamp: u64,
}
pub mod meta_header_of_device {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DeviceType {
Undefined = 0,
Physical = 1,
Virtual = 2,
}
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DeviceSubType {
Undefined = 0,
CameraBody = 1,
Drone = 2,
Gimbal = 3,
GimbalZaxis = 4,
Recorder = 5,
LaserRanging = 6,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct MetaHeaderOfSubDevice {
#[prost(uint32, tag="1")]
pub sub_dev_id: u32,
#[prost(enumeration="meta_header_of_sub_device::SubDeviceType", tag="2")]
pub sub_device_type: i32,
#[prost(enumeration="meta_header_of_sub_device::SubDeviceSubType", tag="3")]
pub sub_device_sub_type: i32,
#[prost(string, tag="4")]
pub sub_device_name: ::prost::alloc::string::String,
#[prost(float, tag="5")]
pub sub_device_frequency: f32,
#[prost(uint64, tag="6")]
pub sub_device_timestamp: u64,
}
pub mod meta_header_of_sub_device {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SubDeviceType {
Undefined = 0,
Physical = 1,
Virtual = 2,
}
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SubDeviceSubType {
Undefined = 0,
Lens = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct VideoStreamMeta {
#[prost(uint32, tag="1")]
pub resolution_width: u32,
#[prost(uint32, tag="2")]
pub resolution_height: u32,
#[prost(float, tag="3")]
pub framerate: f32,
#[prost(uint32, tag="5")]
pub bit_depth: u32,
#[prost(enumeration="video_stream_meta::BitFormatType", tag="6")]
pub bit_format: i32,
#[prost(enumeration="video_stream_meta::VideoStreamType", tag="7")]
pub video_stream_type: i32,
#[prost(enumeration="video_stream_meta::VideoCodecType", tag="8")]
pub video_codec_type: i32,
}
pub mod video_stream_meta {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BitFormatType {
Unknown = 0,
Raw = 1,
Rgb = 2,
Rgba = 3,
Yuv420 = 4,
Yuv422 = 5,
Yuv444 = 6,
}
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VideoStreamType {
Normal = 0,
Delay = 1,
SlowMotion = 2,
QuickMovie = 3,
Timelapse = 4,
Motionlapse = 5,
Hyperlapse = 6,
Hdr = 7,
LoopRecord = 8,
}
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VideoCodecType {
H264 = 0,
H265 = 1,
Prores = 2,
Proresraw = 3,
Jpeg = 4,
Jpeg2000 = 5,
JpegLossless = 6,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ImageProcessingQuality {
#[prost(enumeration="image_processing_quality::ImageProcessingQualityType", tag="1")]
pub image_processing_quality: i32,
}
pub mod image_processing_quality {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ImageProcessingQualityType {
Normal = 0,
High = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ProresCodecQuality {
#[prost(enumeration="prores_codec_quality::ProresCodecQualityType", tag="1")]
pub prores_codec_quality: i32,
}
pub mod prores_codec_quality {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProresCodecQualityType {
Undefined = 0,
Proxy = 1,
Lt = 2,
Sd = 3,
Hq = 4,
Xq = 5,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ClipStreamsMeta {
#[prost(uint32, tag="1")]
pub video_stream_num: u32,
#[prost(uint32, tag="2")]
pub audio_stream_num: u32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct DeviceSn {
#[prost(string, tag="1")]
pub device_sn: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct DeviceVersion {
#[prost(string, tag="1")]
pub device_hw_version: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub device_sw_version: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct CinemaProductionInfo {
#[prost(string, tag="1")]
pub production: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub production_company: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub director: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub cinematographer: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub cinema_operator: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub location: ::prost::alloc::string::String,
#[prost(uint32, tag="7")]
pub scene: u32,
#[prost(uint32, tag="8")]
pub take: u32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct CinemaClipNaming {
#[prost(string, tag="1")]
pub camera_index: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub reel_name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub camera_id: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub clip_name: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub spin_name: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ProjectFps {
#[prost(float, tag="1")]
pub project_fps: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ImageSizeType {
#[prost(enumeration="image_size_type::ImageSizeType", tag="1")]
pub image_size_type: i32,
}
pub mod image_size_type {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ImageSizeType {
Default = 0,
OpenGate = 1,
FullFrame = 2,
S35 = 3,
ImageSizeType43 = 4,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct FovType {
#[prost(enumeration="fov_type::FovType", tag="1")]
pub fov_type: i32,
}
pub mod fov_type {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FovType {
Default = 0,
Normal = 1,
Narrow = 2,
Wide = 3,
Snarrow = 4,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ImageArea {
#[prost(uint32, repeated, tag="1")]
pub active_image_area: ::prost::alloc::vec::Vec<u32>,
#[prost(uint32, repeated, tag="2")]
pub full_image_area: ::prost::alloc::vec::Vec<u32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct CfaPattern {
#[prost(enumeration="cfa_pattern::CfaPatternType", tag="1")]
pub cfa_pattern: i32,
}
pub mod cfa_pattern {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CfaPatternType {
Rggb = 0,
Grbg = 1,
Bggr = 2,
Gbrg = 3,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct BayerGreenSplit {
#[prost(float, tag="1")]
pub bayer_green_split: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ColorSpace {
#[prost(enumeration="color_space::ColorSpaceType", tag="1")]
pub color_space: i32,
}
pub mod color_space {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ColorSpaceType {
Default = 0,
Dgamut = 1,
Rec709 = 2,
Bt2020 = 3,
Bt2100 = 4,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ColorMatrixBox {
#[prost(float, repeated, tag="1")]
pub color_matrix: ::prost::alloc::vec::Vec<f32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ColorMatrix {
#[prost(message, repeated, tag="1")]
pub color_matrix_box: ::prost::alloc::vec::Vec<ColorMatrixBox>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct CalibrationIlluminant {
#[prost(int32, repeated, tag="1")]
pub calibration_illuminant: ::prost::alloc::vec::Vec<i32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct NoiseReductionApplied {
#[prost(float, tag="1")]
pub noise_reduction_applied: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct Saturation {
#[prost(float, tag="1")]
pub saturation: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct Sharpness {
#[prost(float, tag="1")]
pub sharpness: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct PixelAspectRatio {
#[prost(float, tag="1")]
pub pixel_aspect_ratio: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct LookUpTable3DFile {
#[prost(string, tag="1")]
pub lut3d_file_name: ::prost::alloc::string::String,
#[prost(bytes="vec", tag="2")]
pub lut3d_file_data: ::prost::alloc::vec::Vec<u8>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ColorProcessingVersion {
#[prost(string, tag="1")]
pub color_processing_version: ::prost::alloc::string::String,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct OpBox {
#[prost(enumeration="op_box::OpType", tag="1")]
pub r#type: i32,
#[prost(bytes="vec", tag="2")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
pub mod op_box {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OpType {
WarpRectilinear = 0,
WarpFisheye = 1,
FixVignetteRadial = 2,
TrimBounds = 3,
MapTable = 4,
MapPolynomial = 5,
GainMap = 6,
DeltaPerRow = 7,
DeltaPerColumn = 8,
ScalePerRow = 9,
ScalePerColumn = 10,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct OpGroup {
#[prost(message, repeated, tag="1")]
pub op_group1: ::prost::alloc::vec::Vec<OpBox>,
#[prost(message, repeated, tag="2")]
pub op_group2: ::prost::alloc::vec::Vec<OpBox>,
#[prost(message, repeated, tag="3")]
pub op_group3: ::prost::alloc::vec::Vec<OpBox>,
#[prost(message, repeated, tag="4")]
pub op_group4: ::prost::alloc::vec::Vec<OpBox>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct NoiseProfile {
#[prost(double, repeated, tag="1")]
pub noise_profile: ::prost::alloc::vec::Vec<f64>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ImageDataSize {
#[prost(uint32, tag="1")]
pub image_data_size: u32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ExposureIndex {
#[prost(float, tag="1")]
pub exposure_index: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct Iso {
#[prost(float, tag="1")]
pub iso: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ExposureTime {
#[prost(int32, repeated, tag="1")]
pub exposure_time: ::prost::alloc::vec::Vec<i32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct FNumber {
#[prost(uint32, repeated, tag="1")]
pub f_number: ::prost::alloc::vec::Vec<u32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ApertureValue {
#[prost(uint32, repeated, tag="1")]
pub aperture_value: ::prost::alloc::vec::Vec<u32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ShutterAngle {
#[prost(float, tag="1")]
pub shutter_angle: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct FocusDistance {
#[prost(enumeration="focus_distance::FocusUnit", tag="1")]
pub focus_unit: i32,
#[prost(int32, tag="2")]
pub focus_distance: i32,
}
pub mod focus_distance {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FocusUnit {
FocusUnit1000Inch = 0,
Millimetre = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct FocalLength {
#[prost(int32, repeated, tag="1")]
pub focal_length: ::prost::alloc::vec::Vec<i32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct DigitalZoomRatio {
#[prost(float, tag="1")]
pub digital_zoom_ratio: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct WhiteBalanceCct {
#[prost(uint32, tag="1")]
pub white_balance_cct: u32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct WhiteBalanceTint {
#[prost(float, tag="1")]
pub white_balance_tint: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct AsShotNeutral {
#[prost(float, repeated, tag="1")]
pub as_shot_neutral: ::prost::alloc::vec::Vec<f32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct NdFilter {
#[prost(bool, tag="1")]
pub nd_filter_enable: bool,
#[prost(float, tag="2")]
pub nd_density: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct BlackLevel {
#[prost(float, repeated, tag="1")]
pub black_level: ::prost::alloc::vec::Vec<f32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct WhiteLevel {
#[prost(float, tag="1")]
pub white_level: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct TimeCode {
#[prost(enumeration="time_code::TimecodeRunMode", tag="1")]
pub timecode_run_mode: i32,
#[prost(string, tag="2")]
pub timecode: ::prost::alloc::string::String,
#[prost(uint32, tag="3")]
pub sub_second_frame_count: u32,
}
pub mod time_code {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TimecodeRunMode {
Free = 0,
Record = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct Orientation {
#[prost(enumeration="orientation::OrientationType", tag="1")]
pub orientation: i32,
}
pub mod orientation {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OrientationType {
OrientationNoReverse = 0,
OrientationHReverse = 1,
OrientationVReverse = 2,
OrientationHvReverse = 3,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ColorMode {
#[prost(enumeration="color_mode::ColorModeType", tag="1")]
pub color_mode: i32,
}
pub mod color_mode {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ColorModeType {
ColorModeDefault = 0,
ColorModeDCinelike = 1,
ColorModeDLog = 2,
ColorModeFilmA = 3,
ColorModeFilmB = 4,
ColorModeFilmC = 5,
ColorModeFilmD = 6,
ColorModeFilmE = 7,
ColorModeFilmF = 8,
ColorModeHlg = 9,
ColorModeArt = 10,
ColorModeBw = 11,
ColorModeVivid = 12,
ColorModeBeach = 13,
ColorModeDream = 14,
ColorModeSrgb = 15,
ColorModeAdobergb = 16,
ColorModeIrCut = 17,
ColorModeRacing = 18,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ExposureIndexMode {
#[prost(enumeration="exposure_index_mode::ExposureIndexModeType", tag="1")]
pub exposure_index_mode: i32,
}
pub mod exposure_index_mode {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ExposureIndexModeType {
EiModeOff = 0,
EiModeOn = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct GainMode {
#[prost(enumeration="gain_mode::GainModeType", tag="1")]
pub gain_mode: i32,
}
pub mod gain_mode {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GainModeType {
Auto = 0,
LowGain = 1,
HighGain = 2,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct BaselineExposure {
#[prost(float, tag="1")]
pub baseline_exposure: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct Quaternion {
#[prost(float, tag="1")]
pub quaternion_w: f32,
#[prost(float, tag="2")]
pub quaternion_x: f32,
#[prost(float, tag="3")]
pub quaternion_y: f32,
#[prost(float, tag="4")]
pub quaternion_z: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct Velocity {
#[prost(float, tag="1")]
pub velocity_x: f32,
#[prost(float, tag="2")]
pub velocity_y: f32,
#[prost(float, tag="3")]
pub velocity_z: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct Position {
#[prost(float, tag="1")]
pub position_x: f32,
#[prost(float, tag="2")]
pub position_y: f32,
#[prost(float, tag="3")]
pub position_z: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct AbsoluteAltitude {
#[prost(float, tag="1")]
pub absolute_altitude: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct RelativeAltitude {
#[prost(float, tag="1")]
pub relative_altitude: f32,
#[prost(bool, tag="2")]
pub is_relative_altitude_valid: bool,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct RelativeDistance {
#[prost(int32, tag="1")]
pub relative_distance: i32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct GimbalInstallPosition {
#[prost(enumeration="gimbal_install_position::GimbalInstallPositionType", tag="1")]
pub gimbal_install_position: i32,
}
pub mod gimbal_install_position {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GimbalInstallPositionType {
Normal = 0,
Reverse = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct GimbalMode {
#[prost(enumeration="gimbal_mode::GimbalModeType", tag="1")]
pub gimbal_mode: i32,
}
pub mod gimbal_mode {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GimbalModeType {
GimbalModeOff = 0,
GimbalModeLock = 1,
GimbalModeFollow = 2,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct GimbalModeFollowSubStatus {
#[prost(bool, tag="1")]
pub pan_follow: bool,
#[prost(bool, tag="2")]
pub tilt_follow: bool,
#[prost(bool, tag="3")]
pub roll_follow: bool,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct EulerAngle {
#[prost(int32, tag="1")]
pub pitch_decidegree: i32,
#[prost(int32, tag="2")]
pub roll_decidegree: i32,
#[prost(int32, tag="3")]
pub yaw_decidegree: i32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct PositionCoord {
#[prost(enumeration="position_coord::PositionCoordUnit", tag="1")]
pub position_coord_unit: i32,
#[prost(double, tag="2")]
pub latitude: f64,
#[prost(double, tag="3")]
pub longitude: f64,
}
pub mod position_coord {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PositionCoordUnit {
UnitRad = 0,
UnitDeg = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct GpsBasic {
#[prost(message, optional, tag="1")]
pub gps_coordinates: ::core::option::Option<PositionCoord>,
#[prost(int32, tag="2")]
pub gps_altitude_mm: i32,
#[prost(enumeration="gps_basic::GpsStatus", tag="3")]
pub gps_status: i32,
#[prost(enumeration="gps_basic::GpsAltType", tag="4")]
pub gps_altitude_type: i32,
}
pub mod gps_basic {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GpsStatus {
GpsNormal = 0,
GpsInvalid = 1,
GpsRtk = 2,
}
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GpsAltType {
PressureAltitude = 0,
GpsFusionAltitude = 1,
RtkAltitude = 2,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct Accelerometer {
#[prost(uint64, tag="1")]
pub msg_timestamp: u64,
#[prost(float, tag="2")]
pub accelerometer_x: f32,
#[prost(float, tag="3")]
pub accelerometer_y: f32,
#[prost(float, tag="4")]
pub accelerometer_z: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct Gyroscope {
#[prost(uint64, tag="1")]
pub msg_timestamp: u64,
#[prost(float, tag="2")]
pub gyroscope_x: f32,
#[prost(float, tag="3")]
pub gyroscope_y: f32,
#[prost(float, tag="4")]
pub gyroscope_z: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct LaserStatus {
#[prost(enumeration="laser_status::LaserStatusType", tag="1")]
pub laser_status: i32,
}
pub mod laser_status {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LaserStatusType {
LaserNormal = 0,
LaserTooClose = 1,
LaserTooFar = 2,
LaserClosed = 3,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct LaserRawData {
#[prost(uint32, repeated, tag="1")]
pub distance: ::prost::alloc::vec::Vec<u32>,
#[prost(uint32, repeated, tag="2")]
pub intensity: ::prost::alloc::vec::Vec<u32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct RangingStatus {
#[prost(enumeration="ranging_status::RangingStatusType", tag="1")]
pub ranging_status: i32,
}
pub mod ranging_status {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RangingStatusType {
RangingOff = 0,
RangingOn = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ScreenOffset {
#[prost(uint32, tag="1")]
pub screen_offset_x: u32,
#[prost(uint32, tag="2")]
pub screen_offset_y: u32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct InfraredSceneMode {
#[prost(enumeration="infrared_scene_mode::InfraredSceneModeType", tag="1")]
pub infrared_scene_mode: i32,
#[prost(uint32, tag="2")]
pub infrared_dde_percent: u32,
#[prost(uint32, tag="3")]
pub infrared_contrast_percent: u32,
#[prost(uint32, tag="4")]
pub infrared_brightness_percent: u32,
}
pub mod infrared_scene_mode {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum InfraredSceneModeType {
SceneModeManual = 0,
SceneModeCommon = 1,
SceneModeInspection = 2,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct InfraredPseudoColor {
#[prost(enumeration="infrared_pseudo_color::InfraredPseudoColorType", tag="1")]
pub infrared_pseudo_color: i32,
}
pub mod infrared_pseudo_color {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum InfraredPseudoColorType {
InfraredPseudoColorWhitehot = 0,
InfraredPseudoColorLava = 1,
InfraredPseudoColorIronRed = 2,
InfraredPseudoColorHotiron = 3,
InfraredPseudoColorMedicine = 4,
InfraredPseudoColorNorthpole = 5,
InfraredPseudoColorRainbow1 = 6,
InfraredPseudoColorRainbow2 = 7,
InfraredPseudoColorTracered = 8,
InfraredPseudoColorBlackhot = 9,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct InfraredIsotherm {
#[prost(enumeration="infrared_isotherm::InfraredIsothermModeType", tag="1")]
pub infrared_isotherm_mode: i32,
#[prost(int32, tag="2")]
pub infrared_isotherm_high_threshold: i32,
#[prost(int32, tag="3")]
pub infrared_isotherm_low_threshold: i32,
}
pub mod infrared_isotherm {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum InfraredIsothermModeType {
InfraredIsothermModeOff = 0,
InfraredIsothermModeOn = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct InfraredGainMode {
#[prost(enumeration="infrared_gain_mode::InfraredGainModeType", tag="1")]
pub infrared_gain_mode: i32,
}
pub mod infrared_gain_mode {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum InfraredGainModeType {
InfraredGainModeHigh = 0,
InfraredGainModeLow = 1,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct DeviceAttitude {
#[prost(uint32, tag="1")]
pub timestamp: u32,
#[prost(uint32, tag="2")]
pub vsync: u32,
#[prost(message, repeated, tag="3")]
pub attitude: ::prost::alloc::vec::Vec<Quaternion>,
#[prost(float, tag="4")]
pub offset: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct SensorFrameReadOutTime {
#[prost(uint64, tag="1")]
pub readout_time: u64,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct SensorReadDirection {
#[prost(enumeration="sensor_read_direction::SenorReadDirectionType", tag="1")]
pub direction: i32,
}
pub mod sensor_read_direction {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SenorReadDirectionType {
TopLeft = 0,
TopRight = 1,
BottomRight = 2,
BottomLeft = 3,
LeftTop = 4,
RightTop = 5,
RightBottom = 6,
LeftBottom = 7,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct SensorFrameRate {
#[prost(float, tag="1")]
pub sensor_frame_rate: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ImuSamplingRate {
#[prost(uint32, tag="1")]
pub imu_sampling_rate: u32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct DigitalFocalLength {
#[prost(float, tag="1")]
pub focal_length: f32,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct LensDistortionCoefficients {
#[prost(float, repeated, tag="1")]
pub coeffients: ::prost::alloc::vec::Vec<f32>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct EisStatus {
#[prost(enumeration="eis_status::EisStatusType", tag="1")]
pub status: i32,
}
pub mod eis_status {
#[derive(::serde::Serialize, Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EisStatusType {
EisOff = 0,
EisRockSteady = 1,
EisHorizonSteady = 2,
}
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ProductMeta {
#[prost(message, optional, tag="1")]
pub clip_meta: ::core::option::Option<ClipMeta>,
#[prost(message, optional, tag="2")]
pub stream_meta: ::core::option::Option<StreamMeta>,
#[prost(message, optional, tag="3")]
pub frame_meta: ::core::option::Option<FrameMeta>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct ClipMeta {
#[prost(message, optional, tag="1")]
pub clip_meta_header: ::core::option::Option<ClipMetaHeader>,
#[prost(message, optional, tag="2")]
pub clip_streams_meta: ::core::option::Option<ClipStreamsMeta>,
#[prost(message, optional, tag="3")]
pub distortion_coefficients: ::core::option::Option<LensDistortionCoefficients>,
#[prost(message, optional, tag="4")]
pub sensor_readout_time: ::core::option::Option<SensorFrameReadOutTime>,
#[prost(message, optional, tag="5")]
pub sensor_read_direction: ::core::option::Option<SensorReadDirection>,
#[prost(message, optional, tag="8")]
pub digital_focal_length: ::core::option::Option<DigitalFocalLength>,
#[prost(message, optional, tag="9")]
pub eis_status: ::core::option::Option<EisStatus>,
#[prost(message, optional, tag="10")]
pub imu_sampling_rate: ::core::option::Option<ImuSamplingRate>,
#[prost(message, optional, tag="11")]
pub sensor_fps: ::core::option::Option<SensorFrameRate>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct StreamMeta {
#[prost(message, optional, tag="1")]
pub stream_meta_header: ::core::option::Option<StreamMetaHeader>,
#[prost(message, optional, tag="3")]
pub video_stream_meta: ::core::option::Option<VideoStreamMeta>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct FrameMeta {
#[prost(message, optional, tag="1")]
pub frame_meta_header: ::core::option::Option<FrameMetaHeader>,
#[prost(message, optional, tag="2")]
pub camera_frame_meta: ::core::option::Option<FrameMetaOfCamera>,
#[prost(message, optional, tag="3")]
pub imu_frame_meta: ::core::option::Option<FrameMetaOfImu>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct FrameMetaOfCamera {
#[prost(message, optional, tag="1")]
pub camera_dev_header: ::core::option::Option<MetaHeaderOfDevice>,
#[prost(message, optional, tag="2")]
pub exposure_index: ::core::option::Option<ExposureIndex>,
#[prost(message, optional, tag="3")]
pub iso: ::core::option::Option<Iso>,
#[prost(message, optional, tag="4")]
pub exposure_time: ::core::option::Option<ExposureTime>,
#[prost(message, optional, tag="5")]
pub digital_zoom_ratio: ::core::option::Option<DigitalZoomRatio>,
#[prost(message, optional, tag="6")]
pub white_balance_cct: ::core::option::Option<WhiteBalanceCct>,
#[prost(message, optional, tag="7")]
pub orientation: ::core::option::Option<Orientation>,
}
#[derive(::serde::Serialize, Clone, PartialEq, ::prost::Message)]
pub struct FrameMetaOfImu {
#[prost(message, optional, tag="1")]
pub imu_dev_header: ::core::option::Option<MetaHeaderOfDevice>,
#[prost(message, optional, tag="2")]
pub imu_attitude_after_fusion: ::core::option::Option<DeviceAttitude>,
}