1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/cloud/videointelligence/v1/video_intelligence.proto 3 4package videointelligence 5 6import ( 7 context "context" 8 fmt "fmt" 9 math "math" 10 11 proto "github.com/golang/protobuf/proto" 12 duration "github.com/golang/protobuf/ptypes/duration" 13 timestamp "github.com/golang/protobuf/ptypes/timestamp" 14 _ "google.golang.org/genproto/googleapis/api/annotations" 15 longrunning "google.golang.org/genproto/googleapis/longrunning" 16 status "google.golang.org/genproto/googleapis/rpc/status" 17 grpc "google.golang.org/grpc" 18) 19 20// Reference imports to suppress errors if they are not otherwise used. 21var _ = proto.Marshal 22var _ = fmt.Errorf 23var _ = math.Inf 24 25// This is a compile-time assertion to ensure that this generated file 26// is compatible with the proto package it is being compiled against. 27// A compilation error at this line likely means your copy of the 28// proto package needs to be updated. 29const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 30 31// Video annotation feature. 32type Feature int32 33 34const ( 35 // Unspecified. 36 Feature_FEATURE_UNSPECIFIED Feature = 0 37 // Label detection. Detect objects, such as dog or flower. 38 Feature_LABEL_DETECTION Feature = 1 39 // Shot change detection. 40 Feature_SHOT_CHANGE_DETECTION Feature = 2 41 // Explicit content detection. 42 Feature_EXPLICIT_CONTENT_DETECTION Feature = 3 43 // Human face detection and tracking. 44 Feature_FACE_DETECTION Feature = 4 45 // Speech transcription. 46 Feature_SPEECH_TRANSCRIPTION Feature = 6 47 // OCR text detection and tracking. 48 Feature_TEXT_DETECTION Feature = 7 49 // Object detection and tracking. 50 Feature_OBJECT_TRACKING Feature = 9 51) 52 53var Feature_name = map[int32]string{ 54 0: "FEATURE_UNSPECIFIED", 55 1: "LABEL_DETECTION", 56 2: "SHOT_CHANGE_DETECTION", 57 3: "EXPLICIT_CONTENT_DETECTION", 58 4: "FACE_DETECTION", 59 6: "SPEECH_TRANSCRIPTION", 60 7: "TEXT_DETECTION", 61 9: "OBJECT_TRACKING", 62} 63 64var Feature_value = map[string]int32{ 65 "FEATURE_UNSPECIFIED": 0, 66 "LABEL_DETECTION": 1, 67 "SHOT_CHANGE_DETECTION": 2, 68 "EXPLICIT_CONTENT_DETECTION": 3, 69 "FACE_DETECTION": 4, 70 "SPEECH_TRANSCRIPTION": 6, 71 "TEXT_DETECTION": 7, 72 "OBJECT_TRACKING": 9, 73} 74 75func (x Feature) String() string { 76 return proto.EnumName(Feature_name, int32(x)) 77} 78 79func (Feature) EnumDescriptor() ([]byte, []int) { 80 return fileDescriptor_7638dbca9a7e63fa, []int{0} 81} 82 83// Label detection mode. 84type LabelDetectionMode int32 85 86const ( 87 // Unspecified. 88 LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED LabelDetectionMode = 0 89 // Detect shot-level labels. 90 LabelDetectionMode_SHOT_MODE LabelDetectionMode = 1 91 // Detect frame-level labels. 92 LabelDetectionMode_FRAME_MODE LabelDetectionMode = 2 93 // Detect both shot-level and frame-level labels. 94 LabelDetectionMode_SHOT_AND_FRAME_MODE LabelDetectionMode = 3 95) 96 97var LabelDetectionMode_name = map[int32]string{ 98 0: "LABEL_DETECTION_MODE_UNSPECIFIED", 99 1: "SHOT_MODE", 100 2: "FRAME_MODE", 101 3: "SHOT_AND_FRAME_MODE", 102} 103 104var LabelDetectionMode_value = map[string]int32{ 105 "LABEL_DETECTION_MODE_UNSPECIFIED": 0, 106 "SHOT_MODE": 1, 107 "FRAME_MODE": 2, 108 "SHOT_AND_FRAME_MODE": 3, 109} 110 111func (x LabelDetectionMode) String() string { 112 return proto.EnumName(LabelDetectionMode_name, int32(x)) 113} 114 115func (LabelDetectionMode) EnumDescriptor() ([]byte, []int) { 116 return fileDescriptor_7638dbca9a7e63fa, []int{1} 117} 118 119// Bucketized representation of likelihood. 120type Likelihood int32 121 122const ( 123 // Unspecified likelihood. 124 Likelihood_LIKELIHOOD_UNSPECIFIED Likelihood = 0 125 // Very unlikely. 126 Likelihood_VERY_UNLIKELY Likelihood = 1 127 // Unlikely. 128 Likelihood_UNLIKELY Likelihood = 2 129 // Possible. 130 Likelihood_POSSIBLE Likelihood = 3 131 // Likely. 132 Likelihood_LIKELY Likelihood = 4 133 // Very likely. 134 Likelihood_VERY_LIKELY Likelihood = 5 135) 136 137var Likelihood_name = map[int32]string{ 138 0: "LIKELIHOOD_UNSPECIFIED", 139 1: "VERY_UNLIKELY", 140 2: "UNLIKELY", 141 3: "POSSIBLE", 142 4: "LIKELY", 143 5: "VERY_LIKELY", 144} 145 146var Likelihood_value = map[string]int32{ 147 "LIKELIHOOD_UNSPECIFIED": 0, 148 "VERY_UNLIKELY": 1, 149 "UNLIKELY": 2, 150 "POSSIBLE": 3, 151 "LIKELY": 4, 152 "VERY_LIKELY": 5, 153} 154 155func (x Likelihood) String() string { 156 return proto.EnumName(Likelihood_name, int32(x)) 157} 158 159func (Likelihood) EnumDescriptor() ([]byte, []int) { 160 return fileDescriptor_7638dbca9a7e63fa, []int{2} 161} 162 163// Video annotation request. 164type AnnotateVideoRequest struct { 165 // Input video location. Currently, only 166 // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are 167 // supported, which must be specified in the following format: 168 // `gs://bucket-id/object-id` (other URI formats return 169 // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For 170 // more information, see [Request URIs](/storage/docs/reference-uris). A video 171 // URI may include wildcards in `object-id`, and thus identify multiple 172 // videos. Supported wildcards: '*' to match 0 or more characters; 173 // '?' to match 1 character. If unset, the input video should be embedded 174 // in the request as `input_content`. If set, `input_content` should be unset. 175 InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"` 176 // The video data bytes. 177 // If unset, the input video(s) should be specified via `input_uri`. 178 // If set, `input_uri` should be unset. 179 InputContent []byte `protobuf:"bytes,6,opt,name=input_content,json=inputContent,proto3" json:"input_content,omitempty"` 180 // Requested video annotation features. 181 Features []Feature `protobuf:"varint,2,rep,packed,name=features,proto3,enum=google.cloud.videointelligence.v1.Feature" json:"features,omitempty"` 182 // Additional video context and/or feature-specific parameters. 183 VideoContext *VideoContext `protobuf:"bytes,3,opt,name=video_context,json=videoContext,proto3" json:"video_context,omitempty"` 184 // Optional location where the output (in JSON format) should be stored. 185 // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/) 186 // URIs are supported, which must be specified in the following format: 187 // `gs://bucket-id/object-id` (other URI formats return 188 // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For 189 // more information, see [Request URIs](/storage/docs/reference-uris). 190 OutputUri string `protobuf:"bytes,4,opt,name=output_uri,json=outputUri,proto3" json:"output_uri,omitempty"` 191 // Optional cloud region where annotation should take place. Supported cloud 192 // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region 193 // is specified, a region will be determined based on video file location. 194 LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 195 XXX_NoUnkeyedLiteral struct{} `json:"-"` 196 XXX_unrecognized []byte `json:"-"` 197 XXX_sizecache int32 `json:"-"` 198} 199 200func (m *AnnotateVideoRequest) Reset() { *m = AnnotateVideoRequest{} } 201func (m *AnnotateVideoRequest) String() string { return proto.CompactTextString(m) } 202func (*AnnotateVideoRequest) ProtoMessage() {} 203func (*AnnotateVideoRequest) Descriptor() ([]byte, []int) { 204 return fileDescriptor_7638dbca9a7e63fa, []int{0} 205} 206 207func (m *AnnotateVideoRequest) XXX_Unmarshal(b []byte) error { 208 return xxx_messageInfo_AnnotateVideoRequest.Unmarshal(m, b) 209} 210func (m *AnnotateVideoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 211 return xxx_messageInfo_AnnotateVideoRequest.Marshal(b, m, deterministic) 212} 213func (m *AnnotateVideoRequest) XXX_Merge(src proto.Message) { 214 xxx_messageInfo_AnnotateVideoRequest.Merge(m, src) 215} 216func (m *AnnotateVideoRequest) XXX_Size() int { 217 return xxx_messageInfo_AnnotateVideoRequest.Size(m) 218} 219func (m *AnnotateVideoRequest) XXX_DiscardUnknown() { 220 xxx_messageInfo_AnnotateVideoRequest.DiscardUnknown(m) 221} 222 223var xxx_messageInfo_AnnotateVideoRequest proto.InternalMessageInfo 224 225func (m *AnnotateVideoRequest) GetInputUri() string { 226 if m != nil { 227 return m.InputUri 228 } 229 return "" 230} 231 232func (m *AnnotateVideoRequest) GetInputContent() []byte { 233 if m != nil { 234 return m.InputContent 235 } 236 return nil 237} 238 239func (m *AnnotateVideoRequest) GetFeatures() []Feature { 240 if m != nil { 241 return m.Features 242 } 243 return nil 244} 245 246func (m *AnnotateVideoRequest) GetVideoContext() *VideoContext { 247 if m != nil { 248 return m.VideoContext 249 } 250 return nil 251} 252 253func (m *AnnotateVideoRequest) GetOutputUri() string { 254 if m != nil { 255 return m.OutputUri 256 } 257 return "" 258} 259 260func (m *AnnotateVideoRequest) GetLocationId() string { 261 if m != nil { 262 return m.LocationId 263 } 264 return "" 265} 266 267// Video context and/or feature-specific parameters. 268type VideoContext struct { 269 // Video segments to annotate. The segments may overlap and are not required 270 // to be contiguous or span the whole video. If unspecified, each video is 271 // treated as a single segment. 272 Segments []*VideoSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` 273 // Config for LABEL_DETECTION. 274 LabelDetectionConfig *LabelDetectionConfig `protobuf:"bytes,2,opt,name=label_detection_config,json=labelDetectionConfig,proto3" json:"label_detection_config,omitempty"` 275 // Config for SHOT_CHANGE_DETECTION. 276 ShotChangeDetectionConfig *ShotChangeDetectionConfig `protobuf:"bytes,3,opt,name=shot_change_detection_config,json=shotChangeDetectionConfig,proto3" json:"shot_change_detection_config,omitempty"` 277 // Config for EXPLICIT_CONTENT_DETECTION. 278 ExplicitContentDetectionConfig *ExplicitContentDetectionConfig `protobuf:"bytes,4,opt,name=explicit_content_detection_config,json=explicitContentDetectionConfig,proto3" json:"explicit_content_detection_config,omitempty"` 279 // Config for FACE_DETECTION. 280 FaceDetectionConfig *FaceDetectionConfig `protobuf:"bytes,5,opt,name=face_detection_config,json=faceDetectionConfig,proto3" json:"face_detection_config,omitempty"` 281 // Config for SPEECH_TRANSCRIPTION. 282 SpeechTranscriptionConfig *SpeechTranscriptionConfig `protobuf:"bytes,6,opt,name=speech_transcription_config,json=speechTranscriptionConfig,proto3" json:"speech_transcription_config,omitempty"` 283 // Config for TEXT_DETECTION. 284 TextDetectionConfig *TextDetectionConfig `protobuf:"bytes,8,opt,name=text_detection_config,json=textDetectionConfig,proto3" json:"text_detection_config,omitempty"` 285 // Config for OBJECT_TRACKING. 286 ObjectTrackingConfig *ObjectTrackingConfig `protobuf:"bytes,13,opt,name=object_tracking_config,json=objectTrackingConfig,proto3" json:"object_tracking_config,omitempty"` 287 XXX_NoUnkeyedLiteral struct{} `json:"-"` 288 XXX_unrecognized []byte `json:"-"` 289 XXX_sizecache int32 `json:"-"` 290} 291 292func (m *VideoContext) Reset() { *m = VideoContext{} } 293func (m *VideoContext) String() string { return proto.CompactTextString(m) } 294func (*VideoContext) ProtoMessage() {} 295func (*VideoContext) Descriptor() ([]byte, []int) { 296 return fileDescriptor_7638dbca9a7e63fa, []int{1} 297} 298 299func (m *VideoContext) XXX_Unmarshal(b []byte) error { 300 return xxx_messageInfo_VideoContext.Unmarshal(m, b) 301} 302func (m *VideoContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 303 return xxx_messageInfo_VideoContext.Marshal(b, m, deterministic) 304} 305func (m *VideoContext) XXX_Merge(src proto.Message) { 306 xxx_messageInfo_VideoContext.Merge(m, src) 307} 308func (m *VideoContext) XXX_Size() int { 309 return xxx_messageInfo_VideoContext.Size(m) 310} 311func (m *VideoContext) XXX_DiscardUnknown() { 312 xxx_messageInfo_VideoContext.DiscardUnknown(m) 313} 314 315var xxx_messageInfo_VideoContext proto.InternalMessageInfo 316 317func (m *VideoContext) GetSegments() []*VideoSegment { 318 if m != nil { 319 return m.Segments 320 } 321 return nil 322} 323 324func (m *VideoContext) GetLabelDetectionConfig() *LabelDetectionConfig { 325 if m != nil { 326 return m.LabelDetectionConfig 327 } 328 return nil 329} 330 331func (m *VideoContext) GetShotChangeDetectionConfig() *ShotChangeDetectionConfig { 332 if m != nil { 333 return m.ShotChangeDetectionConfig 334 } 335 return nil 336} 337 338func (m *VideoContext) GetExplicitContentDetectionConfig() *ExplicitContentDetectionConfig { 339 if m != nil { 340 return m.ExplicitContentDetectionConfig 341 } 342 return nil 343} 344 345func (m *VideoContext) GetFaceDetectionConfig() *FaceDetectionConfig { 346 if m != nil { 347 return m.FaceDetectionConfig 348 } 349 return nil 350} 351 352func (m *VideoContext) GetSpeechTranscriptionConfig() *SpeechTranscriptionConfig { 353 if m != nil { 354 return m.SpeechTranscriptionConfig 355 } 356 return nil 357} 358 359func (m *VideoContext) GetTextDetectionConfig() *TextDetectionConfig { 360 if m != nil { 361 return m.TextDetectionConfig 362 } 363 return nil 364} 365 366func (m *VideoContext) GetObjectTrackingConfig() *ObjectTrackingConfig { 367 if m != nil { 368 return m.ObjectTrackingConfig 369 } 370 return nil 371} 372 373// Config for LABEL_DETECTION. 374type LabelDetectionConfig struct { 375 // What labels should be detected with LABEL_DETECTION, in addition to 376 // video-level labels or segment-level labels. 377 // If unspecified, defaults to `SHOT_MODE`. 378 LabelDetectionMode LabelDetectionMode `protobuf:"varint,1,opt,name=label_detection_mode,json=labelDetectionMode,proto3,enum=google.cloud.videointelligence.v1.LabelDetectionMode" json:"label_detection_mode,omitempty"` 379 // Whether the video has been shot from a stationary (i.e. non-moving) camera. 380 // When set to true, might improve detection accuracy for moving objects. 381 // Should be used with `SHOT_AND_FRAME_MODE` enabled. 382 StationaryCamera bool `protobuf:"varint,2,opt,name=stationary_camera,json=stationaryCamera,proto3" json:"stationary_camera,omitempty"` 383 // Model to use for label detection. 384 // Supported values: "builtin/stable" (the default if unset) and 385 // "builtin/latest". 386 Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` 387 // The confidence threshold we perform filtering on the labels from 388 // frame-level detection. If not set, it is set to 0.4 by default. The valid 389 // range for this threshold is [0.1, 0.9]. Any value set outside of this 390 // range will be clipped. 391 // Note: for best results please follow the default threshold. We will update 392 // the default threshold everytime when we release a new model. 393 FrameConfidenceThreshold float32 `protobuf:"fixed32,4,opt,name=frame_confidence_threshold,json=frameConfidenceThreshold,proto3" json:"frame_confidence_threshold,omitempty"` 394 // The confidence threshold we perform filtering on the labels from 395 // video-level and shot-level detections. If not set, it is set to 0.3 by 396 // default. The valid range for this threshold is [0.1, 0.9]. Any value set 397 // outside of this range will be clipped. 398 // Note: for best results please follow the default threshold. We will update 399 // the default threshold everytime when we release a new model. 400 VideoConfidenceThreshold float32 `protobuf:"fixed32,5,opt,name=video_confidence_threshold,json=videoConfidenceThreshold,proto3" json:"video_confidence_threshold,omitempty"` 401 XXX_NoUnkeyedLiteral struct{} `json:"-"` 402 XXX_unrecognized []byte `json:"-"` 403 XXX_sizecache int32 `json:"-"` 404} 405 406func (m *LabelDetectionConfig) Reset() { *m = LabelDetectionConfig{} } 407func (m *LabelDetectionConfig) String() string { return proto.CompactTextString(m) } 408func (*LabelDetectionConfig) ProtoMessage() {} 409func (*LabelDetectionConfig) Descriptor() ([]byte, []int) { 410 return fileDescriptor_7638dbca9a7e63fa, []int{2} 411} 412 413func (m *LabelDetectionConfig) XXX_Unmarshal(b []byte) error { 414 return xxx_messageInfo_LabelDetectionConfig.Unmarshal(m, b) 415} 416func (m *LabelDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 417 return xxx_messageInfo_LabelDetectionConfig.Marshal(b, m, deterministic) 418} 419func (m *LabelDetectionConfig) XXX_Merge(src proto.Message) { 420 xxx_messageInfo_LabelDetectionConfig.Merge(m, src) 421} 422func (m *LabelDetectionConfig) XXX_Size() int { 423 return xxx_messageInfo_LabelDetectionConfig.Size(m) 424} 425func (m *LabelDetectionConfig) XXX_DiscardUnknown() { 426 xxx_messageInfo_LabelDetectionConfig.DiscardUnknown(m) 427} 428 429var xxx_messageInfo_LabelDetectionConfig proto.InternalMessageInfo 430 431func (m *LabelDetectionConfig) GetLabelDetectionMode() LabelDetectionMode { 432 if m != nil { 433 return m.LabelDetectionMode 434 } 435 return LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED 436} 437 438func (m *LabelDetectionConfig) GetStationaryCamera() bool { 439 if m != nil { 440 return m.StationaryCamera 441 } 442 return false 443} 444 445func (m *LabelDetectionConfig) GetModel() string { 446 if m != nil { 447 return m.Model 448 } 449 return "" 450} 451 452func (m *LabelDetectionConfig) GetFrameConfidenceThreshold() float32 { 453 if m != nil { 454 return m.FrameConfidenceThreshold 455 } 456 return 0 457} 458 459func (m *LabelDetectionConfig) GetVideoConfidenceThreshold() float32 { 460 if m != nil { 461 return m.VideoConfidenceThreshold 462 } 463 return 0 464} 465 466// Config for SHOT_CHANGE_DETECTION. 467type ShotChangeDetectionConfig struct { 468 // Model to use for shot change detection. 469 // Supported values: "builtin/stable" (the default if unset) and 470 // "builtin/latest". 471 Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` 472 XXX_NoUnkeyedLiteral struct{} `json:"-"` 473 XXX_unrecognized []byte `json:"-"` 474 XXX_sizecache int32 `json:"-"` 475} 476 477func (m *ShotChangeDetectionConfig) Reset() { *m = ShotChangeDetectionConfig{} } 478func (m *ShotChangeDetectionConfig) String() string { return proto.CompactTextString(m) } 479func (*ShotChangeDetectionConfig) ProtoMessage() {} 480func (*ShotChangeDetectionConfig) Descriptor() ([]byte, []int) { 481 return fileDescriptor_7638dbca9a7e63fa, []int{3} 482} 483 484func (m *ShotChangeDetectionConfig) XXX_Unmarshal(b []byte) error { 485 return xxx_messageInfo_ShotChangeDetectionConfig.Unmarshal(m, b) 486} 487func (m *ShotChangeDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 488 return xxx_messageInfo_ShotChangeDetectionConfig.Marshal(b, m, deterministic) 489} 490func (m *ShotChangeDetectionConfig) XXX_Merge(src proto.Message) { 491 xxx_messageInfo_ShotChangeDetectionConfig.Merge(m, src) 492} 493func (m *ShotChangeDetectionConfig) XXX_Size() int { 494 return xxx_messageInfo_ShotChangeDetectionConfig.Size(m) 495} 496func (m *ShotChangeDetectionConfig) XXX_DiscardUnknown() { 497 xxx_messageInfo_ShotChangeDetectionConfig.DiscardUnknown(m) 498} 499 500var xxx_messageInfo_ShotChangeDetectionConfig proto.InternalMessageInfo 501 502func (m *ShotChangeDetectionConfig) GetModel() string { 503 if m != nil { 504 return m.Model 505 } 506 return "" 507} 508 509// Config for EXPLICIT_CONTENT_DETECTION. 510type ExplicitContentDetectionConfig struct { 511 // Model to use for explicit content detection. 512 // Supported values: "builtin/stable" (the default if unset) and 513 // "builtin/latest". 514 Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` 515 XXX_NoUnkeyedLiteral struct{} `json:"-"` 516 XXX_unrecognized []byte `json:"-"` 517 XXX_sizecache int32 `json:"-"` 518} 519 520func (m *ExplicitContentDetectionConfig) Reset() { *m = ExplicitContentDetectionConfig{} } 521func (m *ExplicitContentDetectionConfig) String() string { return proto.CompactTextString(m) } 522func (*ExplicitContentDetectionConfig) ProtoMessage() {} 523func (*ExplicitContentDetectionConfig) Descriptor() ([]byte, []int) { 524 return fileDescriptor_7638dbca9a7e63fa, []int{4} 525} 526 527func (m *ExplicitContentDetectionConfig) XXX_Unmarshal(b []byte) error { 528 return xxx_messageInfo_ExplicitContentDetectionConfig.Unmarshal(m, b) 529} 530func (m *ExplicitContentDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 531 return xxx_messageInfo_ExplicitContentDetectionConfig.Marshal(b, m, deterministic) 532} 533func (m *ExplicitContentDetectionConfig) XXX_Merge(src proto.Message) { 534 xxx_messageInfo_ExplicitContentDetectionConfig.Merge(m, src) 535} 536func (m *ExplicitContentDetectionConfig) XXX_Size() int { 537 return xxx_messageInfo_ExplicitContentDetectionConfig.Size(m) 538} 539func (m *ExplicitContentDetectionConfig) XXX_DiscardUnknown() { 540 xxx_messageInfo_ExplicitContentDetectionConfig.DiscardUnknown(m) 541} 542 543var xxx_messageInfo_ExplicitContentDetectionConfig proto.InternalMessageInfo 544 545func (m *ExplicitContentDetectionConfig) GetModel() string { 546 if m != nil { 547 return m.Model 548 } 549 return "" 550} 551 552// Config for FACE_DETECTION. 553type FaceDetectionConfig struct { 554 // Model to use for face detection. 555 // Supported values: "builtin/stable" (the default if unset) and 556 // "builtin/latest". 557 Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` 558 // Whether bounding boxes be included in the face annotation output. 559 IncludeBoundingBoxes bool `protobuf:"varint,2,opt,name=include_bounding_boxes,json=includeBoundingBoxes,proto3" json:"include_bounding_boxes,omitempty"` 560 XXX_NoUnkeyedLiteral struct{} `json:"-"` 561 XXX_unrecognized []byte `json:"-"` 562 XXX_sizecache int32 `json:"-"` 563} 564 565func (m *FaceDetectionConfig) Reset() { *m = FaceDetectionConfig{} } 566func (m *FaceDetectionConfig) String() string { return proto.CompactTextString(m) } 567func (*FaceDetectionConfig) ProtoMessage() {} 568func (*FaceDetectionConfig) Descriptor() ([]byte, []int) { 569 return fileDescriptor_7638dbca9a7e63fa, []int{5} 570} 571 572func (m *FaceDetectionConfig) XXX_Unmarshal(b []byte) error { 573 return xxx_messageInfo_FaceDetectionConfig.Unmarshal(m, b) 574} 575func (m *FaceDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 576 return xxx_messageInfo_FaceDetectionConfig.Marshal(b, m, deterministic) 577} 578func (m *FaceDetectionConfig) XXX_Merge(src proto.Message) { 579 xxx_messageInfo_FaceDetectionConfig.Merge(m, src) 580} 581func (m *FaceDetectionConfig) XXX_Size() int { 582 return xxx_messageInfo_FaceDetectionConfig.Size(m) 583} 584func (m *FaceDetectionConfig) XXX_DiscardUnknown() { 585 xxx_messageInfo_FaceDetectionConfig.DiscardUnknown(m) 586} 587 588var xxx_messageInfo_FaceDetectionConfig proto.InternalMessageInfo 589 590func (m *FaceDetectionConfig) GetModel() string { 591 if m != nil { 592 return m.Model 593 } 594 return "" 595} 596 597func (m *FaceDetectionConfig) GetIncludeBoundingBoxes() bool { 598 if m != nil { 599 return m.IncludeBoundingBoxes 600 } 601 return false 602} 603 604// Config for OBJECT_TRACKING. 605type ObjectTrackingConfig struct { 606 // Model to use for object tracking. 607 // Supported values: "builtin/stable" (the default if unset) and 608 // "builtin/latest". 609 Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"` 610 XXX_NoUnkeyedLiteral struct{} `json:"-"` 611 XXX_unrecognized []byte `json:"-"` 612 XXX_sizecache int32 `json:"-"` 613} 614 615func (m *ObjectTrackingConfig) Reset() { *m = ObjectTrackingConfig{} } 616func (m *ObjectTrackingConfig) String() string { return proto.CompactTextString(m) } 617func (*ObjectTrackingConfig) ProtoMessage() {} 618func (*ObjectTrackingConfig) Descriptor() ([]byte, []int) { 619 return fileDescriptor_7638dbca9a7e63fa, []int{6} 620} 621 622func (m *ObjectTrackingConfig) XXX_Unmarshal(b []byte) error { 623 return xxx_messageInfo_ObjectTrackingConfig.Unmarshal(m, b) 624} 625func (m *ObjectTrackingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 626 return xxx_messageInfo_ObjectTrackingConfig.Marshal(b, m, deterministic) 627} 628func (m *ObjectTrackingConfig) XXX_Merge(src proto.Message) { 629 xxx_messageInfo_ObjectTrackingConfig.Merge(m, src) 630} 631func (m *ObjectTrackingConfig) XXX_Size() int { 632 return xxx_messageInfo_ObjectTrackingConfig.Size(m) 633} 634func (m *ObjectTrackingConfig) XXX_DiscardUnknown() { 635 xxx_messageInfo_ObjectTrackingConfig.DiscardUnknown(m) 636} 637 638var xxx_messageInfo_ObjectTrackingConfig proto.InternalMessageInfo 639 640func (m *ObjectTrackingConfig) GetModel() string { 641 if m != nil { 642 return m.Model 643 } 644 return "" 645} 646 647// Config for TEXT_DETECTION. 648type TextDetectionConfig struct { 649 // Language hint can be specified if the language to be detected is known a 650 // priori. It can increase the accuracy of the detection. Language hint must 651 // be language code in BCP-47 format. 652 // 653 // Automatic language detection is performed if no hint is provided. 654 LanguageHints []string `protobuf:"bytes,1,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"` 655 // Model to use for text detection. 656 // Supported values: "builtin/stable" (the default if unset) and 657 // "builtin/latest". 658 Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` 659 XXX_NoUnkeyedLiteral struct{} `json:"-"` 660 XXX_unrecognized []byte `json:"-"` 661 XXX_sizecache int32 `json:"-"` 662} 663 664func (m *TextDetectionConfig) Reset() { *m = TextDetectionConfig{} } 665func (m *TextDetectionConfig) String() string { return proto.CompactTextString(m) } 666func (*TextDetectionConfig) ProtoMessage() {} 667func (*TextDetectionConfig) Descriptor() ([]byte, []int) { 668 return fileDescriptor_7638dbca9a7e63fa, []int{7} 669} 670 671func (m *TextDetectionConfig) XXX_Unmarshal(b []byte) error { 672 return xxx_messageInfo_TextDetectionConfig.Unmarshal(m, b) 673} 674func (m *TextDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 675 return xxx_messageInfo_TextDetectionConfig.Marshal(b, m, deterministic) 676} 677func (m *TextDetectionConfig) XXX_Merge(src proto.Message) { 678 xxx_messageInfo_TextDetectionConfig.Merge(m, src) 679} 680func (m *TextDetectionConfig) XXX_Size() int { 681 return xxx_messageInfo_TextDetectionConfig.Size(m) 682} 683func (m *TextDetectionConfig) XXX_DiscardUnknown() { 684 xxx_messageInfo_TextDetectionConfig.DiscardUnknown(m) 685} 686 687var xxx_messageInfo_TextDetectionConfig proto.InternalMessageInfo 688 689func (m *TextDetectionConfig) GetLanguageHints() []string { 690 if m != nil { 691 return m.LanguageHints 692 } 693 return nil 694} 695 696func (m *TextDetectionConfig) GetModel() string { 697 if m != nil { 698 return m.Model 699 } 700 return "" 701} 702 703// Video segment. 704type VideoSegment struct { 705 // Time-offset, relative to the beginning of the video, 706 // corresponding to the start of the segment (inclusive). 707 StartTimeOffset *duration.Duration `protobuf:"bytes,1,opt,name=start_time_offset,json=startTimeOffset,proto3" json:"start_time_offset,omitempty"` 708 // Time-offset, relative to the beginning of the video, 709 // corresponding to the end of the segment (inclusive). 710 EndTimeOffset *duration.Duration `protobuf:"bytes,2,opt,name=end_time_offset,json=endTimeOffset,proto3" json:"end_time_offset,omitempty"` 711 XXX_NoUnkeyedLiteral struct{} `json:"-"` 712 XXX_unrecognized []byte `json:"-"` 713 XXX_sizecache int32 `json:"-"` 714} 715 716func (m *VideoSegment) Reset() { *m = VideoSegment{} } 717func (m *VideoSegment) String() string { return proto.CompactTextString(m) } 718func (*VideoSegment) ProtoMessage() {} 719func (*VideoSegment) Descriptor() ([]byte, []int) { 720 return fileDescriptor_7638dbca9a7e63fa, []int{8} 721} 722 723func (m *VideoSegment) XXX_Unmarshal(b []byte) error { 724 return xxx_messageInfo_VideoSegment.Unmarshal(m, b) 725} 726func (m *VideoSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 727 return xxx_messageInfo_VideoSegment.Marshal(b, m, deterministic) 728} 729func (m *VideoSegment) XXX_Merge(src proto.Message) { 730 xxx_messageInfo_VideoSegment.Merge(m, src) 731} 732func (m *VideoSegment) XXX_Size() int { 733 return xxx_messageInfo_VideoSegment.Size(m) 734} 735func (m *VideoSegment) XXX_DiscardUnknown() { 736 xxx_messageInfo_VideoSegment.DiscardUnknown(m) 737} 738 739var xxx_messageInfo_VideoSegment proto.InternalMessageInfo 740 741func (m *VideoSegment) GetStartTimeOffset() *duration.Duration { 742 if m != nil { 743 return m.StartTimeOffset 744 } 745 return nil 746} 747 748func (m *VideoSegment) GetEndTimeOffset() *duration.Duration { 749 if m != nil { 750 return m.EndTimeOffset 751 } 752 return nil 753} 754 755// Video segment level annotation results for label detection. 756type LabelSegment struct { 757 // Video segment where a label was detected. 758 Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"` 759 // Confidence that the label is accurate. Range: [0, 1]. 760 Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"` 761 XXX_NoUnkeyedLiteral struct{} `json:"-"` 762 XXX_unrecognized []byte `json:"-"` 763 XXX_sizecache int32 `json:"-"` 764} 765 766func (m *LabelSegment) Reset() { *m = LabelSegment{} } 767func (m *LabelSegment) String() string { return proto.CompactTextString(m) } 768func (*LabelSegment) ProtoMessage() {} 769func (*LabelSegment) Descriptor() ([]byte, []int) { 770 return fileDescriptor_7638dbca9a7e63fa, []int{9} 771} 772 773func (m *LabelSegment) XXX_Unmarshal(b []byte) error { 774 return xxx_messageInfo_LabelSegment.Unmarshal(m, b) 775} 776func (m *LabelSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 777 return xxx_messageInfo_LabelSegment.Marshal(b, m, deterministic) 778} 779func (m *LabelSegment) XXX_Merge(src proto.Message) { 780 xxx_messageInfo_LabelSegment.Merge(m, src) 781} 782func (m *LabelSegment) XXX_Size() int { 783 return xxx_messageInfo_LabelSegment.Size(m) 784} 785func (m *LabelSegment) XXX_DiscardUnknown() { 786 xxx_messageInfo_LabelSegment.DiscardUnknown(m) 787} 788 789var xxx_messageInfo_LabelSegment proto.InternalMessageInfo 790 791func (m *LabelSegment) GetSegment() *VideoSegment { 792 if m != nil { 793 return m.Segment 794 } 795 return nil 796} 797 798func (m *LabelSegment) GetConfidence() float32 { 799 if m != nil { 800 return m.Confidence 801 } 802 return 0 803} 804 805// Video frame level annotation results for label detection. 806type LabelFrame struct { 807 // Time-offset, relative to the beginning of the video, corresponding to the 808 // video frame for this location. 809 TimeOffset *duration.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"` 810 // Confidence that the label is accurate. Range: [0, 1]. 811 Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"` 812 XXX_NoUnkeyedLiteral struct{} `json:"-"` 813 XXX_unrecognized []byte `json:"-"` 814 XXX_sizecache int32 `json:"-"` 815} 816 817func (m *LabelFrame) Reset() { *m = LabelFrame{} } 818func (m *LabelFrame) String() string { return proto.CompactTextString(m) } 819func (*LabelFrame) ProtoMessage() {} 820func (*LabelFrame) Descriptor() ([]byte, []int) { 821 return fileDescriptor_7638dbca9a7e63fa, []int{10} 822} 823 824func (m *LabelFrame) XXX_Unmarshal(b []byte) error { 825 return xxx_messageInfo_LabelFrame.Unmarshal(m, b) 826} 827func (m *LabelFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 828 return xxx_messageInfo_LabelFrame.Marshal(b, m, deterministic) 829} 830func (m *LabelFrame) XXX_Merge(src proto.Message) { 831 xxx_messageInfo_LabelFrame.Merge(m, src) 832} 833func (m *LabelFrame) XXX_Size() int { 834 return xxx_messageInfo_LabelFrame.Size(m) 835} 836func (m *LabelFrame) XXX_DiscardUnknown() { 837 xxx_messageInfo_LabelFrame.DiscardUnknown(m) 838} 839 840var xxx_messageInfo_LabelFrame proto.InternalMessageInfo 841 842func (m *LabelFrame) GetTimeOffset() *duration.Duration { 843 if m != nil { 844 return m.TimeOffset 845 } 846 return nil 847} 848 849func (m *LabelFrame) GetConfidence() float32 { 850 if m != nil { 851 return m.Confidence 852 } 853 return 0 854} 855 856// Detected entity from video analysis. 857type Entity struct { 858 // Opaque entity ID. Some IDs may be available in 859 // [Google Knowledge Graph Search 860 // API](https://developers.google.com/knowledge-graph/). 861 EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` 862 // Textual description, e.g. `Fixed-gear bicycle`. 863 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 864 // Language code for `description` in BCP-47 format. 865 LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 866 XXX_NoUnkeyedLiteral struct{} `json:"-"` 867 XXX_unrecognized []byte `json:"-"` 868 XXX_sizecache int32 `json:"-"` 869} 870 871func (m *Entity) Reset() { *m = Entity{} } 872func (m *Entity) String() string { return proto.CompactTextString(m) } 873func (*Entity) ProtoMessage() {} 874func (*Entity) Descriptor() ([]byte, []int) { 875 return fileDescriptor_7638dbca9a7e63fa, []int{11} 876} 877 878func (m *Entity) XXX_Unmarshal(b []byte) error { 879 return xxx_messageInfo_Entity.Unmarshal(m, b) 880} 881func (m *Entity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 882 return xxx_messageInfo_Entity.Marshal(b, m, deterministic) 883} 884func (m *Entity) XXX_Merge(src proto.Message) { 885 xxx_messageInfo_Entity.Merge(m, src) 886} 887func (m *Entity) XXX_Size() int { 888 return xxx_messageInfo_Entity.Size(m) 889} 890func (m *Entity) XXX_DiscardUnknown() { 891 xxx_messageInfo_Entity.DiscardUnknown(m) 892} 893 894var xxx_messageInfo_Entity proto.InternalMessageInfo 895 896func (m *Entity) GetEntityId() string { 897 if m != nil { 898 return m.EntityId 899 } 900 return "" 901} 902 903func (m *Entity) GetDescription() string { 904 if m != nil { 905 return m.Description 906 } 907 return "" 908} 909 910func (m *Entity) GetLanguageCode() string { 911 if m != nil { 912 return m.LanguageCode 913 } 914 return "" 915} 916 917// Label annotation. 918type LabelAnnotation struct { 919 // Detected entity. 920 Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` 921 // Common categories for the detected entity. 922 // E.g. when the label is `Terrier` the category is likely `dog`. And in some 923 // cases there might be more than one categories e.g. `Terrier` could also be 924 // a `pet`. 925 CategoryEntities []*Entity `protobuf:"bytes,2,rep,name=category_entities,json=categoryEntities,proto3" json:"category_entities,omitempty"` 926 // All video segments where a label was detected. 927 Segments []*LabelSegment `protobuf:"bytes,3,rep,name=segments,proto3" json:"segments,omitempty"` 928 // All video frames where a label was detected. 929 Frames []*LabelFrame `protobuf:"bytes,4,rep,name=frames,proto3" json:"frames,omitempty"` 930 XXX_NoUnkeyedLiteral struct{} `json:"-"` 931 XXX_unrecognized []byte `json:"-"` 932 XXX_sizecache int32 `json:"-"` 933} 934 935func (m *LabelAnnotation) Reset() { *m = LabelAnnotation{} } 936func (m *LabelAnnotation) String() string { return proto.CompactTextString(m) } 937func (*LabelAnnotation) ProtoMessage() {} 938func (*LabelAnnotation) Descriptor() ([]byte, []int) { 939 return fileDescriptor_7638dbca9a7e63fa, []int{12} 940} 941 942func (m *LabelAnnotation) XXX_Unmarshal(b []byte) error { 943 return xxx_messageInfo_LabelAnnotation.Unmarshal(m, b) 944} 945func (m *LabelAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 946 return xxx_messageInfo_LabelAnnotation.Marshal(b, m, deterministic) 947} 948func (m *LabelAnnotation) XXX_Merge(src proto.Message) { 949 xxx_messageInfo_LabelAnnotation.Merge(m, src) 950} 951func (m *LabelAnnotation) XXX_Size() int { 952 return xxx_messageInfo_LabelAnnotation.Size(m) 953} 954func (m *LabelAnnotation) XXX_DiscardUnknown() { 955 xxx_messageInfo_LabelAnnotation.DiscardUnknown(m) 956} 957 958var xxx_messageInfo_LabelAnnotation proto.InternalMessageInfo 959 960func (m *LabelAnnotation) GetEntity() *Entity { 961 if m != nil { 962 return m.Entity 963 } 964 return nil 965} 966 967func (m *LabelAnnotation) GetCategoryEntities() []*Entity { 968 if m != nil { 969 return m.CategoryEntities 970 } 971 return nil 972} 973 974func (m *LabelAnnotation) GetSegments() []*LabelSegment { 975 if m != nil { 976 return m.Segments 977 } 978 return nil 979} 980 981func (m *LabelAnnotation) GetFrames() []*LabelFrame { 982 if m != nil { 983 return m.Frames 984 } 985 return nil 986} 987 988// Video frame level annotation results for explicit content. 989type ExplicitContentFrame struct { 990 // Time-offset, relative to the beginning of the video, corresponding to the 991 // video frame for this location. 992 TimeOffset *duration.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"` 993 // Likelihood of the pornography content.. 994 PornographyLikelihood Likelihood `protobuf:"varint,2,opt,name=pornography_likelihood,json=pornographyLikelihood,proto3,enum=google.cloud.videointelligence.v1.Likelihood" json:"pornography_likelihood,omitempty"` 995 XXX_NoUnkeyedLiteral struct{} `json:"-"` 996 XXX_unrecognized []byte `json:"-"` 997 XXX_sizecache int32 `json:"-"` 998} 999 1000func (m *ExplicitContentFrame) Reset() { *m = ExplicitContentFrame{} } 1001func (m *ExplicitContentFrame) String() string { return proto.CompactTextString(m) } 1002func (*ExplicitContentFrame) ProtoMessage() {} 1003func (*ExplicitContentFrame) Descriptor() ([]byte, []int) { 1004 return fileDescriptor_7638dbca9a7e63fa, []int{13} 1005} 1006 1007func (m *ExplicitContentFrame) XXX_Unmarshal(b []byte) error { 1008 return xxx_messageInfo_ExplicitContentFrame.Unmarshal(m, b) 1009} 1010func (m *ExplicitContentFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1011 return xxx_messageInfo_ExplicitContentFrame.Marshal(b, m, deterministic) 1012} 1013func (m *ExplicitContentFrame) XXX_Merge(src proto.Message) { 1014 xxx_messageInfo_ExplicitContentFrame.Merge(m, src) 1015} 1016func (m *ExplicitContentFrame) XXX_Size() int { 1017 return xxx_messageInfo_ExplicitContentFrame.Size(m) 1018} 1019func (m *ExplicitContentFrame) XXX_DiscardUnknown() { 1020 xxx_messageInfo_ExplicitContentFrame.DiscardUnknown(m) 1021} 1022 1023var xxx_messageInfo_ExplicitContentFrame proto.InternalMessageInfo 1024 1025func (m *ExplicitContentFrame) GetTimeOffset() *duration.Duration { 1026 if m != nil { 1027 return m.TimeOffset 1028 } 1029 return nil 1030} 1031 1032func (m *ExplicitContentFrame) GetPornographyLikelihood() Likelihood { 1033 if m != nil { 1034 return m.PornographyLikelihood 1035 } 1036 return Likelihood_LIKELIHOOD_UNSPECIFIED 1037} 1038 1039// Explicit content annotation (based on per-frame visual signals only). 1040// If no explicit content has been detected in a frame, no annotations are 1041// present for that frame. 1042type ExplicitContentAnnotation struct { 1043 // All video frames where explicit content was detected. 1044 Frames []*ExplicitContentFrame `protobuf:"bytes,1,rep,name=frames,proto3" json:"frames,omitempty"` 1045 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1046 XXX_unrecognized []byte `json:"-"` 1047 XXX_sizecache int32 `json:"-"` 1048} 1049 1050func (m *ExplicitContentAnnotation) Reset() { *m = ExplicitContentAnnotation{} } 1051func (m *ExplicitContentAnnotation) String() string { return proto.CompactTextString(m) } 1052func (*ExplicitContentAnnotation) ProtoMessage() {} 1053func (*ExplicitContentAnnotation) Descriptor() ([]byte, []int) { 1054 return fileDescriptor_7638dbca9a7e63fa, []int{14} 1055} 1056 1057func (m *ExplicitContentAnnotation) XXX_Unmarshal(b []byte) error { 1058 return xxx_messageInfo_ExplicitContentAnnotation.Unmarshal(m, b) 1059} 1060func (m *ExplicitContentAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1061 return xxx_messageInfo_ExplicitContentAnnotation.Marshal(b, m, deterministic) 1062} 1063func (m *ExplicitContentAnnotation) XXX_Merge(src proto.Message) { 1064 xxx_messageInfo_ExplicitContentAnnotation.Merge(m, src) 1065} 1066func (m *ExplicitContentAnnotation) XXX_Size() int { 1067 return xxx_messageInfo_ExplicitContentAnnotation.Size(m) 1068} 1069func (m *ExplicitContentAnnotation) XXX_DiscardUnknown() { 1070 xxx_messageInfo_ExplicitContentAnnotation.DiscardUnknown(m) 1071} 1072 1073var xxx_messageInfo_ExplicitContentAnnotation proto.InternalMessageInfo 1074 1075func (m *ExplicitContentAnnotation) GetFrames() []*ExplicitContentFrame { 1076 if m != nil { 1077 return m.Frames 1078 } 1079 return nil 1080} 1081 1082// Normalized bounding box. 1083// The normalized vertex coordinates are relative to the original image. 1084// Range: [0, 1]. 1085type NormalizedBoundingBox struct { 1086 // Left X coordinate. 1087 Left float32 `protobuf:"fixed32,1,opt,name=left,proto3" json:"left,omitempty"` 1088 // Top Y coordinate. 1089 Top float32 `protobuf:"fixed32,2,opt,name=top,proto3" json:"top,omitempty"` 1090 // Right X coordinate. 1091 Right float32 `protobuf:"fixed32,3,opt,name=right,proto3" json:"right,omitempty"` 1092 // Bottom Y coordinate. 1093 Bottom float32 `protobuf:"fixed32,4,opt,name=bottom,proto3" json:"bottom,omitempty"` 1094 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1095 XXX_unrecognized []byte `json:"-"` 1096 XXX_sizecache int32 `json:"-"` 1097} 1098 1099func (m *NormalizedBoundingBox) Reset() { *m = NormalizedBoundingBox{} } 1100func (m *NormalizedBoundingBox) String() string { return proto.CompactTextString(m) } 1101func (*NormalizedBoundingBox) ProtoMessage() {} 1102func (*NormalizedBoundingBox) Descriptor() ([]byte, []int) { 1103 return fileDescriptor_7638dbca9a7e63fa, []int{15} 1104} 1105 1106func (m *NormalizedBoundingBox) XXX_Unmarshal(b []byte) error { 1107 return xxx_messageInfo_NormalizedBoundingBox.Unmarshal(m, b) 1108} 1109func (m *NormalizedBoundingBox) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1110 return xxx_messageInfo_NormalizedBoundingBox.Marshal(b, m, deterministic) 1111} 1112func (m *NormalizedBoundingBox) XXX_Merge(src proto.Message) { 1113 xxx_messageInfo_NormalizedBoundingBox.Merge(m, src) 1114} 1115func (m *NormalizedBoundingBox) XXX_Size() int { 1116 return xxx_messageInfo_NormalizedBoundingBox.Size(m) 1117} 1118func (m *NormalizedBoundingBox) XXX_DiscardUnknown() { 1119 xxx_messageInfo_NormalizedBoundingBox.DiscardUnknown(m) 1120} 1121 1122var xxx_messageInfo_NormalizedBoundingBox proto.InternalMessageInfo 1123 1124func (m *NormalizedBoundingBox) GetLeft() float32 { 1125 if m != nil { 1126 return m.Left 1127 } 1128 return 0 1129} 1130 1131func (m *NormalizedBoundingBox) GetTop() float32 { 1132 if m != nil { 1133 return m.Top 1134 } 1135 return 0 1136} 1137 1138func (m *NormalizedBoundingBox) GetRight() float32 { 1139 if m != nil { 1140 return m.Right 1141 } 1142 return 0 1143} 1144 1145func (m *NormalizedBoundingBox) GetBottom() float32 { 1146 if m != nil { 1147 return m.Bottom 1148 } 1149 return 0 1150} 1151 1152// Video segment level annotation results for face detection. 1153type FaceSegment struct { 1154 // Video segment where a face was detected. 1155 Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"` 1156 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1157 XXX_unrecognized []byte `json:"-"` 1158 XXX_sizecache int32 `json:"-"` 1159} 1160 1161func (m *FaceSegment) Reset() { *m = FaceSegment{} } 1162func (m *FaceSegment) String() string { return proto.CompactTextString(m) } 1163func (*FaceSegment) ProtoMessage() {} 1164func (*FaceSegment) Descriptor() ([]byte, []int) { 1165 return fileDescriptor_7638dbca9a7e63fa, []int{16} 1166} 1167 1168func (m *FaceSegment) XXX_Unmarshal(b []byte) error { 1169 return xxx_messageInfo_FaceSegment.Unmarshal(m, b) 1170} 1171func (m *FaceSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1172 return xxx_messageInfo_FaceSegment.Marshal(b, m, deterministic) 1173} 1174func (m *FaceSegment) XXX_Merge(src proto.Message) { 1175 xxx_messageInfo_FaceSegment.Merge(m, src) 1176} 1177func (m *FaceSegment) XXX_Size() int { 1178 return xxx_messageInfo_FaceSegment.Size(m) 1179} 1180func (m *FaceSegment) XXX_DiscardUnknown() { 1181 xxx_messageInfo_FaceSegment.DiscardUnknown(m) 1182} 1183 1184var xxx_messageInfo_FaceSegment proto.InternalMessageInfo 1185 1186func (m *FaceSegment) GetSegment() *VideoSegment { 1187 if m != nil { 1188 return m.Segment 1189 } 1190 return nil 1191} 1192 1193// Video frame level annotation results for face detection. 1194type FaceFrame struct { 1195 // Normalized Bounding boxes in a frame. 1196 // There can be more than one boxes if the same face is detected in multiple 1197 // locations within the current frame. 1198 NormalizedBoundingBoxes []*NormalizedBoundingBox `protobuf:"bytes,1,rep,name=normalized_bounding_boxes,json=normalizedBoundingBoxes,proto3" json:"normalized_bounding_boxes,omitempty"` 1199 // Time-offset, relative to the beginning of the video, 1200 // corresponding to the video frame for this location. 1201 TimeOffset *duration.Duration `protobuf:"bytes,2,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"` 1202 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1203 XXX_unrecognized []byte `json:"-"` 1204 XXX_sizecache int32 `json:"-"` 1205} 1206 1207func (m *FaceFrame) Reset() { *m = FaceFrame{} } 1208func (m *FaceFrame) String() string { return proto.CompactTextString(m) } 1209func (*FaceFrame) ProtoMessage() {} 1210func (*FaceFrame) Descriptor() ([]byte, []int) { 1211 return fileDescriptor_7638dbca9a7e63fa, []int{17} 1212} 1213 1214func (m *FaceFrame) XXX_Unmarshal(b []byte) error { 1215 return xxx_messageInfo_FaceFrame.Unmarshal(m, b) 1216} 1217func (m *FaceFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1218 return xxx_messageInfo_FaceFrame.Marshal(b, m, deterministic) 1219} 1220func (m *FaceFrame) XXX_Merge(src proto.Message) { 1221 xxx_messageInfo_FaceFrame.Merge(m, src) 1222} 1223func (m *FaceFrame) XXX_Size() int { 1224 return xxx_messageInfo_FaceFrame.Size(m) 1225} 1226func (m *FaceFrame) XXX_DiscardUnknown() { 1227 xxx_messageInfo_FaceFrame.DiscardUnknown(m) 1228} 1229 1230var xxx_messageInfo_FaceFrame proto.InternalMessageInfo 1231 1232func (m *FaceFrame) GetNormalizedBoundingBoxes() []*NormalizedBoundingBox { 1233 if m != nil { 1234 return m.NormalizedBoundingBoxes 1235 } 1236 return nil 1237} 1238 1239func (m *FaceFrame) GetTimeOffset() *duration.Duration { 1240 if m != nil { 1241 return m.TimeOffset 1242 } 1243 return nil 1244} 1245 1246// Face annotation. 1247type FaceAnnotation struct { 1248 // Thumbnail of a representative face view (in JPEG format). 1249 Thumbnail []byte `protobuf:"bytes,1,opt,name=thumbnail,proto3" json:"thumbnail,omitempty"` 1250 // All video segments where a face was detected. 1251 Segments []*FaceSegment `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"` 1252 // All video frames where a face was detected. 1253 Frames []*FaceFrame `protobuf:"bytes,3,rep,name=frames,proto3" json:"frames,omitempty"` 1254 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1255 XXX_unrecognized []byte `json:"-"` 1256 XXX_sizecache int32 `json:"-"` 1257} 1258 1259func (m *FaceAnnotation) Reset() { *m = FaceAnnotation{} } 1260func (m *FaceAnnotation) String() string { return proto.CompactTextString(m) } 1261func (*FaceAnnotation) ProtoMessage() {} 1262func (*FaceAnnotation) Descriptor() ([]byte, []int) { 1263 return fileDescriptor_7638dbca9a7e63fa, []int{18} 1264} 1265 1266func (m *FaceAnnotation) XXX_Unmarshal(b []byte) error { 1267 return xxx_messageInfo_FaceAnnotation.Unmarshal(m, b) 1268} 1269func (m *FaceAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1270 return xxx_messageInfo_FaceAnnotation.Marshal(b, m, deterministic) 1271} 1272func (m *FaceAnnotation) XXX_Merge(src proto.Message) { 1273 xxx_messageInfo_FaceAnnotation.Merge(m, src) 1274} 1275func (m *FaceAnnotation) XXX_Size() int { 1276 return xxx_messageInfo_FaceAnnotation.Size(m) 1277} 1278func (m *FaceAnnotation) XXX_DiscardUnknown() { 1279 xxx_messageInfo_FaceAnnotation.DiscardUnknown(m) 1280} 1281 1282var xxx_messageInfo_FaceAnnotation proto.InternalMessageInfo 1283 1284func (m *FaceAnnotation) GetThumbnail() []byte { 1285 if m != nil { 1286 return m.Thumbnail 1287 } 1288 return nil 1289} 1290 1291func (m *FaceAnnotation) GetSegments() []*FaceSegment { 1292 if m != nil { 1293 return m.Segments 1294 } 1295 return nil 1296} 1297 1298func (m *FaceAnnotation) GetFrames() []*FaceFrame { 1299 if m != nil { 1300 return m.Frames 1301 } 1302 return nil 1303} 1304 1305// Annotation results for a single video. 1306type VideoAnnotationResults struct { 1307 // Video file location in 1308 // [Google Cloud Storage](https://cloud.google.com/storage/). 1309 InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"` 1310 // Video segment on which the annotation is run. 1311 Segment *VideoSegment `protobuf:"bytes,10,opt,name=segment,proto3" json:"segment,omitempty"` 1312 // Topical label annotations on video level or user specified segment level. 1313 // There is exactly one element for each unique label. 1314 SegmentLabelAnnotations []*LabelAnnotation `protobuf:"bytes,2,rep,name=segment_label_annotations,json=segmentLabelAnnotations,proto3" json:"segment_label_annotations,omitempty"` 1315 // Presence label annotations on video level or user specified segment level. 1316 // There is exactly one element for each unique label. This will eventually 1317 // get publicly exposed and the restriction will be removed. 1318 SegmentPresenceLabelAnnotations []*LabelAnnotation `protobuf:"bytes,23,rep,name=segment_presence_label_annotations,json=segmentPresenceLabelAnnotations,proto3" json:"segment_presence_label_annotations,omitempty"` 1319 // Topical label annotations on shot level. 1320 // There is exactly one element for each unique label. 1321 ShotLabelAnnotations []*LabelAnnotation `protobuf:"bytes,3,rep,name=shot_label_annotations,json=shotLabelAnnotations,proto3" json:"shot_label_annotations,omitempty"` 1322 // Presence label annotations on shot level. There is exactly one element for 1323 // each unique label. This will eventually get publicly exposed and the 1324 // restriction will be removed. 1325 ShotPresenceLabelAnnotations []*LabelAnnotation `protobuf:"bytes,24,rep,name=shot_presence_label_annotations,json=shotPresenceLabelAnnotations,proto3" json:"shot_presence_label_annotations,omitempty"` 1326 // Label annotations on frame level. 1327 // There is exactly one element for each unique label. 1328 FrameLabelAnnotations []*LabelAnnotation `protobuf:"bytes,4,rep,name=frame_label_annotations,json=frameLabelAnnotations,proto3" json:"frame_label_annotations,omitempty"` 1329 // Face annotations. There is exactly one element for each unique face. 1330 FaceAnnotations []*FaceAnnotation `protobuf:"bytes,5,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"` 1331 // Shot annotations. Each shot is represented as a video segment. 1332 ShotAnnotations []*VideoSegment `protobuf:"bytes,6,rep,name=shot_annotations,json=shotAnnotations,proto3" json:"shot_annotations,omitempty"` 1333 // Explicit content annotation. 1334 ExplicitAnnotation *ExplicitContentAnnotation `protobuf:"bytes,7,opt,name=explicit_annotation,json=explicitAnnotation,proto3" json:"explicit_annotation,omitempty"` 1335 // Speech transcription. 1336 SpeechTranscriptions []*SpeechTranscription `protobuf:"bytes,11,rep,name=speech_transcriptions,json=speechTranscriptions,proto3" json:"speech_transcriptions,omitempty"` 1337 // OCR text detection and tracking. 1338 // Annotations for list of detected text snippets. Each will have list of 1339 // frame information associated with it. 1340 TextAnnotations []*TextAnnotation `protobuf:"bytes,12,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"` 1341 // Annotations for list of objects detected and tracked in video. 1342 ObjectAnnotations []*ObjectTrackingAnnotation `protobuf:"bytes,14,rep,name=object_annotations,json=objectAnnotations,proto3" json:"object_annotations,omitempty"` 1343 // If set, indicates an error. Note that for a single `AnnotateVideoRequest` 1344 // some videos may succeed and some may fail. 1345 Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"` 1346 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1347 XXX_unrecognized []byte `json:"-"` 1348 XXX_sizecache int32 `json:"-"` 1349} 1350 1351func (m *VideoAnnotationResults) Reset() { *m = VideoAnnotationResults{} } 1352func (m *VideoAnnotationResults) String() string { return proto.CompactTextString(m) } 1353func (*VideoAnnotationResults) ProtoMessage() {} 1354func (*VideoAnnotationResults) Descriptor() ([]byte, []int) { 1355 return fileDescriptor_7638dbca9a7e63fa, []int{19} 1356} 1357 1358func (m *VideoAnnotationResults) XXX_Unmarshal(b []byte) error { 1359 return xxx_messageInfo_VideoAnnotationResults.Unmarshal(m, b) 1360} 1361func (m *VideoAnnotationResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1362 return xxx_messageInfo_VideoAnnotationResults.Marshal(b, m, deterministic) 1363} 1364func (m *VideoAnnotationResults) XXX_Merge(src proto.Message) { 1365 xxx_messageInfo_VideoAnnotationResults.Merge(m, src) 1366} 1367func (m *VideoAnnotationResults) XXX_Size() int { 1368 return xxx_messageInfo_VideoAnnotationResults.Size(m) 1369} 1370func (m *VideoAnnotationResults) XXX_DiscardUnknown() { 1371 xxx_messageInfo_VideoAnnotationResults.DiscardUnknown(m) 1372} 1373 1374var xxx_messageInfo_VideoAnnotationResults proto.InternalMessageInfo 1375 1376func (m *VideoAnnotationResults) GetInputUri() string { 1377 if m != nil { 1378 return m.InputUri 1379 } 1380 return "" 1381} 1382 1383func (m *VideoAnnotationResults) GetSegment() *VideoSegment { 1384 if m != nil { 1385 return m.Segment 1386 } 1387 return nil 1388} 1389 1390func (m *VideoAnnotationResults) GetSegmentLabelAnnotations() []*LabelAnnotation { 1391 if m != nil { 1392 return m.SegmentLabelAnnotations 1393 } 1394 return nil 1395} 1396 1397func (m *VideoAnnotationResults) GetSegmentPresenceLabelAnnotations() []*LabelAnnotation { 1398 if m != nil { 1399 return m.SegmentPresenceLabelAnnotations 1400 } 1401 return nil 1402} 1403 1404func (m *VideoAnnotationResults) GetShotLabelAnnotations() []*LabelAnnotation { 1405 if m != nil { 1406 return m.ShotLabelAnnotations 1407 } 1408 return nil 1409} 1410 1411func (m *VideoAnnotationResults) GetShotPresenceLabelAnnotations() []*LabelAnnotation { 1412 if m != nil { 1413 return m.ShotPresenceLabelAnnotations 1414 } 1415 return nil 1416} 1417 1418func (m *VideoAnnotationResults) GetFrameLabelAnnotations() []*LabelAnnotation { 1419 if m != nil { 1420 return m.FrameLabelAnnotations 1421 } 1422 return nil 1423} 1424 1425func (m *VideoAnnotationResults) GetFaceAnnotations() []*FaceAnnotation { 1426 if m != nil { 1427 return m.FaceAnnotations 1428 } 1429 return nil 1430} 1431 1432func (m *VideoAnnotationResults) GetShotAnnotations() []*VideoSegment { 1433 if m != nil { 1434 return m.ShotAnnotations 1435 } 1436 return nil 1437} 1438 1439func (m *VideoAnnotationResults) GetExplicitAnnotation() *ExplicitContentAnnotation { 1440 if m != nil { 1441 return m.ExplicitAnnotation 1442 } 1443 return nil 1444} 1445 1446func (m *VideoAnnotationResults) GetSpeechTranscriptions() []*SpeechTranscription { 1447 if m != nil { 1448 return m.SpeechTranscriptions 1449 } 1450 return nil 1451} 1452 1453func (m *VideoAnnotationResults) GetTextAnnotations() []*TextAnnotation { 1454 if m != nil { 1455 return m.TextAnnotations 1456 } 1457 return nil 1458} 1459 1460func (m *VideoAnnotationResults) GetObjectAnnotations() []*ObjectTrackingAnnotation { 1461 if m != nil { 1462 return m.ObjectAnnotations 1463 } 1464 return nil 1465} 1466 1467func (m *VideoAnnotationResults) GetError() *status.Status { 1468 if m != nil { 1469 return m.Error 1470 } 1471 return nil 1472} 1473 1474// Video annotation response. Included in the `response` 1475// field of the `Operation` returned by the `GetOperation` 1476// call of the `google::longrunning::Operations` service. 1477type AnnotateVideoResponse struct { 1478 // Annotation results for all videos specified in `AnnotateVideoRequest`. 1479 AnnotationResults []*VideoAnnotationResults `protobuf:"bytes,1,rep,name=annotation_results,json=annotationResults,proto3" json:"annotation_results,omitempty"` 1480 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1481 XXX_unrecognized []byte `json:"-"` 1482 XXX_sizecache int32 `json:"-"` 1483} 1484 1485func (m *AnnotateVideoResponse) Reset() { *m = AnnotateVideoResponse{} } 1486func (m *AnnotateVideoResponse) String() string { return proto.CompactTextString(m) } 1487func (*AnnotateVideoResponse) ProtoMessage() {} 1488func (*AnnotateVideoResponse) Descriptor() ([]byte, []int) { 1489 return fileDescriptor_7638dbca9a7e63fa, []int{20} 1490} 1491 1492func (m *AnnotateVideoResponse) XXX_Unmarshal(b []byte) error { 1493 return xxx_messageInfo_AnnotateVideoResponse.Unmarshal(m, b) 1494} 1495func (m *AnnotateVideoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1496 return xxx_messageInfo_AnnotateVideoResponse.Marshal(b, m, deterministic) 1497} 1498func (m *AnnotateVideoResponse) XXX_Merge(src proto.Message) { 1499 xxx_messageInfo_AnnotateVideoResponse.Merge(m, src) 1500} 1501func (m *AnnotateVideoResponse) XXX_Size() int { 1502 return xxx_messageInfo_AnnotateVideoResponse.Size(m) 1503} 1504func (m *AnnotateVideoResponse) XXX_DiscardUnknown() { 1505 xxx_messageInfo_AnnotateVideoResponse.DiscardUnknown(m) 1506} 1507 1508var xxx_messageInfo_AnnotateVideoResponse proto.InternalMessageInfo 1509 1510func (m *AnnotateVideoResponse) GetAnnotationResults() []*VideoAnnotationResults { 1511 if m != nil { 1512 return m.AnnotationResults 1513 } 1514 return nil 1515} 1516 1517// Annotation progress for a single video. 1518type VideoAnnotationProgress struct { 1519 // Video file location in 1520 // [Google Cloud Storage](https://cloud.google.com/storage/). 1521 InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"` 1522 // Approximate percentage processed thus far. Guaranteed to be 1523 // 100 when fully processed. 1524 ProgressPercent int32 `protobuf:"varint,2,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"` 1525 // Time when the request was received. 1526 StartTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 1527 // Time of the most recent update. 1528 UpdateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 1529 // Specifies which feature is being tracked if the request contains more than 1530 // one features. 1531 Feature Feature `protobuf:"varint,5,opt,name=feature,proto3,enum=google.cloud.videointelligence.v1.Feature" json:"feature,omitempty"` 1532 // Specifies which segment is being tracked if the request contains more than 1533 // one segments. 1534 Segment *VideoSegment `protobuf:"bytes,6,opt,name=segment,proto3" json:"segment,omitempty"` 1535 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1536 XXX_unrecognized []byte `json:"-"` 1537 XXX_sizecache int32 `json:"-"` 1538} 1539 1540func (m *VideoAnnotationProgress) Reset() { *m = VideoAnnotationProgress{} } 1541func (m *VideoAnnotationProgress) String() string { return proto.CompactTextString(m) } 1542func (*VideoAnnotationProgress) ProtoMessage() {} 1543func (*VideoAnnotationProgress) Descriptor() ([]byte, []int) { 1544 return fileDescriptor_7638dbca9a7e63fa, []int{21} 1545} 1546 1547func (m *VideoAnnotationProgress) XXX_Unmarshal(b []byte) error { 1548 return xxx_messageInfo_VideoAnnotationProgress.Unmarshal(m, b) 1549} 1550func (m *VideoAnnotationProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1551 return xxx_messageInfo_VideoAnnotationProgress.Marshal(b, m, deterministic) 1552} 1553func (m *VideoAnnotationProgress) XXX_Merge(src proto.Message) { 1554 xxx_messageInfo_VideoAnnotationProgress.Merge(m, src) 1555} 1556func (m *VideoAnnotationProgress) XXX_Size() int { 1557 return xxx_messageInfo_VideoAnnotationProgress.Size(m) 1558} 1559func (m *VideoAnnotationProgress) XXX_DiscardUnknown() { 1560 xxx_messageInfo_VideoAnnotationProgress.DiscardUnknown(m) 1561} 1562 1563var xxx_messageInfo_VideoAnnotationProgress proto.InternalMessageInfo 1564 1565func (m *VideoAnnotationProgress) GetInputUri() string { 1566 if m != nil { 1567 return m.InputUri 1568 } 1569 return "" 1570} 1571 1572func (m *VideoAnnotationProgress) GetProgressPercent() int32 { 1573 if m != nil { 1574 return m.ProgressPercent 1575 } 1576 return 0 1577} 1578 1579func (m *VideoAnnotationProgress) GetStartTime() *timestamp.Timestamp { 1580 if m != nil { 1581 return m.StartTime 1582 } 1583 return nil 1584} 1585 1586func (m *VideoAnnotationProgress) GetUpdateTime() *timestamp.Timestamp { 1587 if m != nil { 1588 return m.UpdateTime 1589 } 1590 return nil 1591} 1592 1593func (m *VideoAnnotationProgress) GetFeature() Feature { 1594 if m != nil { 1595 return m.Feature 1596 } 1597 return Feature_FEATURE_UNSPECIFIED 1598} 1599 1600func (m *VideoAnnotationProgress) GetSegment() *VideoSegment { 1601 if m != nil { 1602 return m.Segment 1603 } 1604 return nil 1605} 1606 1607// Video annotation progress. Included in the `metadata` 1608// field of the `Operation` returned by the `GetOperation` 1609// call of the `google::longrunning::Operations` service. 1610type AnnotateVideoProgress struct { 1611 // Progress metadata for all videos specified in `AnnotateVideoRequest`. 1612 AnnotationProgress []*VideoAnnotationProgress `protobuf:"bytes,1,rep,name=annotation_progress,json=annotationProgress,proto3" json:"annotation_progress,omitempty"` 1613 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1614 XXX_unrecognized []byte `json:"-"` 1615 XXX_sizecache int32 `json:"-"` 1616} 1617 1618func (m *AnnotateVideoProgress) Reset() { *m = AnnotateVideoProgress{} } 1619func (m *AnnotateVideoProgress) String() string { return proto.CompactTextString(m) } 1620func (*AnnotateVideoProgress) ProtoMessage() {} 1621func (*AnnotateVideoProgress) Descriptor() ([]byte, []int) { 1622 return fileDescriptor_7638dbca9a7e63fa, []int{22} 1623} 1624 1625func (m *AnnotateVideoProgress) XXX_Unmarshal(b []byte) error { 1626 return xxx_messageInfo_AnnotateVideoProgress.Unmarshal(m, b) 1627} 1628func (m *AnnotateVideoProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1629 return xxx_messageInfo_AnnotateVideoProgress.Marshal(b, m, deterministic) 1630} 1631func (m *AnnotateVideoProgress) XXX_Merge(src proto.Message) { 1632 xxx_messageInfo_AnnotateVideoProgress.Merge(m, src) 1633} 1634func (m *AnnotateVideoProgress) XXX_Size() int { 1635 return xxx_messageInfo_AnnotateVideoProgress.Size(m) 1636} 1637func (m *AnnotateVideoProgress) XXX_DiscardUnknown() { 1638 xxx_messageInfo_AnnotateVideoProgress.DiscardUnknown(m) 1639} 1640 1641var xxx_messageInfo_AnnotateVideoProgress proto.InternalMessageInfo 1642 1643func (m *AnnotateVideoProgress) GetAnnotationProgress() []*VideoAnnotationProgress { 1644 if m != nil { 1645 return m.AnnotationProgress 1646 } 1647 return nil 1648} 1649 1650// Config for SPEECH_TRANSCRIPTION. 1651type SpeechTranscriptionConfig struct { 1652 // *Required* The language of the supplied audio as a 1653 // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. 1654 // Example: "en-US". 1655 // See [Language Support](https://cloud.google.com/speech/docs/languages) 1656 // for a list of the currently supported language codes. 1657 LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 1658 // *Optional* Maximum number of recognition hypotheses to be returned. 1659 // Specifically, the maximum number of `SpeechRecognitionAlternative` messages 1660 // within each `SpeechTranscription`. The server may return fewer than 1661 // `max_alternatives`. Valid values are `0`-`30`. A value of `0` or `1` will 1662 // return a maximum of one. If omitted, will return a maximum of one. 1663 MaxAlternatives int32 `protobuf:"varint,2,opt,name=max_alternatives,json=maxAlternatives,proto3" json:"max_alternatives,omitempty"` 1664 // *Optional* If set to `true`, the server will attempt to filter out 1665 // profanities, replacing all but the initial character in each filtered word 1666 // with asterisks, e.g. "f***". If set to `false` or omitted, profanities 1667 // won't be filtered out. 1668 FilterProfanity bool `protobuf:"varint,3,opt,name=filter_profanity,json=filterProfanity,proto3" json:"filter_profanity,omitempty"` 1669 // *Optional* A means to provide context to assist the speech recognition. 1670 SpeechContexts []*SpeechContext `protobuf:"bytes,4,rep,name=speech_contexts,json=speechContexts,proto3" json:"speech_contexts,omitempty"` 1671 // *Optional* If 'true', adds punctuation to recognition result hypotheses. 1672 // This feature is only available in select languages. Setting this for 1673 // requests in other languages has no effect at all. The default 'false' value 1674 // does not add punctuation to result hypotheses. NOTE: "This is currently 1675 // offered as an experimental service, complimentary to all users. In the 1676 // future this may be exclusively available as a premium feature." 1677 EnableAutomaticPunctuation bool `protobuf:"varint,5,opt,name=enable_automatic_punctuation,json=enableAutomaticPunctuation,proto3" json:"enable_automatic_punctuation,omitempty"` 1678 // *Optional* For file formats, such as MXF or MKV, supporting multiple audio 1679 // tracks, specify up to two tracks. Default: track 0. 1680 AudioTracks []int32 `protobuf:"varint,6,rep,packed,name=audio_tracks,json=audioTracks,proto3" json:"audio_tracks,omitempty"` 1681 // *Optional* If 'true', enables speaker detection for each recognized word in 1682 // the top alternative of the recognition result using a speaker_tag provided 1683 // in the WordInfo. 1684 // Note: When this is true, we send all the words from the beginning of the 1685 // audio for the top alternative in every consecutive responses. 1686 // This is done in order to improve our speaker tags as our models learn to 1687 // identify the speakers in the conversation over time. 1688 EnableSpeakerDiarization bool `protobuf:"varint,7,opt,name=enable_speaker_diarization,json=enableSpeakerDiarization,proto3" json:"enable_speaker_diarization,omitempty"` 1689 // *Optional* 1690 // If set, specifies the estimated number of speakers in the conversation. 1691 // If not set, defaults to '2'. 1692 // Ignored unless enable_speaker_diarization is set to true. 1693 DiarizationSpeakerCount int32 `protobuf:"varint,8,opt,name=diarization_speaker_count,json=diarizationSpeakerCount,proto3" json:"diarization_speaker_count,omitempty"` 1694 // *Optional* If `true`, the top result includes a list of words and the 1695 // confidence for those words. If `false`, no word-level confidence 1696 // information is returned. The default is `false`. 1697 EnableWordConfidence bool `protobuf:"varint,9,opt,name=enable_word_confidence,json=enableWordConfidence,proto3" json:"enable_word_confidence,omitempty"` 1698 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1699 XXX_unrecognized []byte `json:"-"` 1700 XXX_sizecache int32 `json:"-"` 1701} 1702 1703func (m *SpeechTranscriptionConfig) Reset() { *m = SpeechTranscriptionConfig{} } 1704func (m *SpeechTranscriptionConfig) String() string { return proto.CompactTextString(m) } 1705func (*SpeechTranscriptionConfig) ProtoMessage() {} 1706func (*SpeechTranscriptionConfig) Descriptor() ([]byte, []int) { 1707 return fileDescriptor_7638dbca9a7e63fa, []int{23} 1708} 1709 1710func (m *SpeechTranscriptionConfig) XXX_Unmarshal(b []byte) error { 1711 return xxx_messageInfo_SpeechTranscriptionConfig.Unmarshal(m, b) 1712} 1713func (m *SpeechTranscriptionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1714 return xxx_messageInfo_SpeechTranscriptionConfig.Marshal(b, m, deterministic) 1715} 1716func (m *SpeechTranscriptionConfig) XXX_Merge(src proto.Message) { 1717 xxx_messageInfo_SpeechTranscriptionConfig.Merge(m, src) 1718} 1719func (m *SpeechTranscriptionConfig) XXX_Size() int { 1720 return xxx_messageInfo_SpeechTranscriptionConfig.Size(m) 1721} 1722func (m *SpeechTranscriptionConfig) XXX_DiscardUnknown() { 1723 xxx_messageInfo_SpeechTranscriptionConfig.DiscardUnknown(m) 1724} 1725 1726var xxx_messageInfo_SpeechTranscriptionConfig proto.InternalMessageInfo 1727 1728func (m *SpeechTranscriptionConfig) GetLanguageCode() string { 1729 if m != nil { 1730 return m.LanguageCode 1731 } 1732 return "" 1733} 1734 1735func (m *SpeechTranscriptionConfig) GetMaxAlternatives() int32 { 1736 if m != nil { 1737 return m.MaxAlternatives 1738 } 1739 return 0 1740} 1741 1742func (m *SpeechTranscriptionConfig) GetFilterProfanity() bool { 1743 if m != nil { 1744 return m.FilterProfanity 1745 } 1746 return false 1747} 1748 1749func (m *SpeechTranscriptionConfig) GetSpeechContexts() []*SpeechContext { 1750 if m != nil { 1751 return m.SpeechContexts 1752 } 1753 return nil 1754} 1755 1756func (m *SpeechTranscriptionConfig) GetEnableAutomaticPunctuation() bool { 1757 if m != nil { 1758 return m.EnableAutomaticPunctuation 1759 } 1760 return false 1761} 1762 1763func (m *SpeechTranscriptionConfig) GetAudioTracks() []int32 { 1764 if m != nil { 1765 return m.AudioTracks 1766 } 1767 return nil 1768} 1769 1770func (m *SpeechTranscriptionConfig) GetEnableSpeakerDiarization() bool { 1771 if m != nil { 1772 return m.EnableSpeakerDiarization 1773 } 1774 return false 1775} 1776 1777func (m *SpeechTranscriptionConfig) GetDiarizationSpeakerCount() int32 { 1778 if m != nil { 1779 return m.DiarizationSpeakerCount 1780 } 1781 return 0 1782} 1783 1784func (m *SpeechTranscriptionConfig) GetEnableWordConfidence() bool { 1785 if m != nil { 1786 return m.EnableWordConfidence 1787 } 1788 return false 1789} 1790 1791// Provides "hints" to the speech recognizer to favor specific words and phrases 1792// in the results. 1793type SpeechContext struct { 1794 // *Optional* A list of strings containing words and phrases "hints" so that 1795 // the speech recognition is more likely to recognize them. This can be used 1796 // to improve the accuracy for specific words and phrases, for example, if 1797 // specific commands are typically spoken by the user. This can also be used 1798 // to add additional words to the vocabulary of the recognizer. See 1799 // [usage limits](https://cloud.google.com/speech/limits#content). 1800 Phrases []string `protobuf:"bytes,1,rep,name=phrases,proto3" json:"phrases,omitempty"` 1801 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1802 XXX_unrecognized []byte `json:"-"` 1803 XXX_sizecache int32 `json:"-"` 1804} 1805 1806func (m *SpeechContext) Reset() { *m = SpeechContext{} } 1807func (m *SpeechContext) String() string { return proto.CompactTextString(m) } 1808func (*SpeechContext) ProtoMessage() {} 1809func (*SpeechContext) Descriptor() ([]byte, []int) { 1810 return fileDescriptor_7638dbca9a7e63fa, []int{24} 1811} 1812 1813func (m *SpeechContext) XXX_Unmarshal(b []byte) error { 1814 return xxx_messageInfo_SpeechContext.Unmarshal(m, b) 1815} 1816func (m *SpeechContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1817 return xxx_messageInfo_SpeechContext.Marshal(b, m, deterministic) 1818} 1819func (m *SpeechContext) XXX_Merge(src proto.Message) { 1820 xxx_messageInfo_SpeechContext.Merge(m, src) 1821} 1822func (m *SpeechContext) XXX_Size() int { 1823 return xxx_messageInfo_SpeechContext.Size(m) 1824} 1825func (m *SpeechContext) XXX_DiscardUnknown() { 1826 xxx_messageInfo_SpeechContext.DiscardUnknown(m) 1827} 1828 1829var xxx_messageInfo_SpeechContext proto.InternalMessageInfo 1830 1831func (m *SpeechContext) GetPhrases() []string { 1832 if m != nil { 1833 return m.Phrases 1834 } 1835 return nil 1836} 1837 1838// A speech recognition result corresponding to a portion of the audio. 1839type SpeechTranscription struct { 1840 // May contain one or more recognition hypotheses (up to the maximum specified 1841 // in `max_alternatives`). These alternatives are ordered in terms of 1842 // accuracy, with the top (first) alternative being the most probable, as 1843 // ranked by the recognizer. 1844 Alternatives []*SpeechRecognitionAlternative `protobuf:"bytes,1,rep,name=alternatives,proto3" json:"alternatives,omitempty"` 1845 // Output only. The 1846 // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the 1847 // language in this result. This language code was detected to have the most 1848 // likelihood of being spoken in the audio. 1849 LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 1850 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1851 XXX_unrecognized []byte `json:"-"` 1852 XXX_sizecache int32 `json:"-"` 1853} 1854 1855func (m *SpeechTranscription) Reset() { *m = SpeechTranscription{} } 1856func (m *SpeechTranscription) String() string { return proto.CompactTextString(m) } 1857func (*SpeechTranscription) ProtoMessage() {} 1858func (*SpeechTranscription) Descriptor() ([]byte, []int) { 1859 return fileDescriptor_7638dbca9a7e63fa, []int{25} 1860} 1861 1862func (m *SpeechTranscription) XXX_Unmarshal(b []byte) error { 1863 return xxx_messageInfo_SpeechTranscription.Unmarshal(m, b) 1864} 1865func (m *SpeechTranscription) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1866 return xxx_messageInfo_SpeechTranscription.Marshal(b, m, deterministic) 1867} 1868func (m *SpeechTranscription) XXX_Merge(src proto.Message) { 1869 xxx_messageInfo_SpeechTranscription.Merge(m, src) 1870} 1871func (m *SpeechTranscription) XXX_Size() int { 1872 return xxx_messageInfo_SpeechTranscription.Size(m) 1873} 1874func (m *SpeechTranscription) XXX_DiscardUnknown() { 1875 xxx_messageInfo_SpeechTranscription.DiscardUnknown(m) 1876} 1877 1878var xxx_messageInfo_SpeechTranscription proto.InternalMessageInfo 1879 1880func (m *SpeechTranscription) GetAlternatives() []*SpeechRecognitionAlternative { 1881 if m != nil { 1882 return m.Alternatives 1883 } 1884 return nil 1885} 1886 1887func (m *SpeechTranscription) GetLanguageCode() string { 1888 if m != nil { 1889 return m.LanguageCode 1890 } 1891 return "" 1892} 1893 1894// Alternative hypotheses (a.k.a. n-best list). 1895type SpeechRecognitionAlternative struct { 1896 // Transcript text representing the words that the user spoke. 1897 Transcript string `protobuf:"bytes,1,opt,name=transcript,proto3" json:"transcript,omitempty"` 1898 // Output only. The confidence estimate between 0.0 and 1.0. A higher number 1899 // indicates an estimated greater likelihood that the recognized words are 1900 // correct. This field is set only for the top alternative. 1901 // This field is not guaranteed to be accurate and users should not rely on it 1902 // to be always provided. 1903 // The default of 0.0 is a sentinel value indicating `confidence` was not set. 1904 Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"` 1905 // Output only. A list of word-specific information for each recognized word. 1906 // Note: When `enable_speaker_diarization` is true, you will see all the words 1907 // from the beginning of the audio. 1908 Words []*WordInfo `protobuf:"bytes,3,rep,name=words,proto3" json:"words,omitempty"` 1909 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1910 XXX_unrecognized []byte `json:"-"` 1911 XXX_sizecache int32 `json:"-"` 1912} 1913 1914func (m *SpeechRecognitionAlternative) Reset() { *m = SpeechRecognitionAlternative{} } 1915func (m *SpeechRecognitionAlternative) String() string { return proto.CompactTextString(m) } 1916func (*SpeechRecognitionAlternative) ProtoMessage() {} 1917func (*SpeechRecognitionAlternative) Descriptor() ([]byte, []int) { 1918 return fileDescriptor_7638dbca9a7e63fa, []int{26} 1919} 1920 1921func (m *SpeechRecognitionAlternative) XXX_Unmarshal(b []byte) error { 1922 return xxx_messageInfo_SpeechRecognitionAlternative.Unmarshal(m, b) 1923} 1924func (m *SpeechRecognitionAlternative) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1925 return xxx_messageInfo_SpeechRecognitionAlternative.Marshal(b, m, deterministic) 1926} 1927func (m *SpeechRecognitionAlternative) XXX_Merge(src proto.Message) { 1928 xxx_messageInfo_SpeechRecognitionAlternative.Merge(m, src) 1929} 1930func (m *SpeechRecognitionAlternative) XXX_Size() int { 1931 return xxx_messageInfo_SpeechRecognitionAlternative.Size(m) 1932} 1933func (m *SpeechRecognitionAlternative) XXX_DiscardUnknown() { 1934 xxx_messageInfo_SpeechRecognitionAlternative.DiscardUnknown(m) 1935} 1936 1937var xxx_messageInfo_SpeechRecognitionAlternative proto.InternalMessageInfo 1938 1939func (m *SpeechRecognitionAlternative) GetTranscript() string { 1940 if m != nil { 1941 return m.Transcript 1942 } 1943 return "" 1944} 1945 1946func (m *SpeechRecognitionAlternative) GetConfidence() float32 { 1947 if m != nil { 1948 return m.Confidence 1949 } 1950 return 0 1951} 1952 1953func (m *SpeechRecognitionAlternative) GetWords() []*WordInfo { 1954 if m != nil { 1955 return m.Words 1956 } 1957 return nil 1958} 1959 1960// Word-specific information for recognized words. Word information is only 1961// included in the response when certain request parameters are set, such 1962// as `enable_word_time_offsets`. 1963type WordInfo struct { 1964 // Time offset relative to the beginning of the audio, and 1965 // corresponding to the start of the spoken word. This field is only set if 1966 // `enable_word_time_offsets=true` and only in the top hypothesis. This is an 1967 // experimental feature and the accuracy of the time offset can vary. 1968 StartTime *duration.Duration `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 1969 // Time offset relative to the beginning of the audio, and 1970 // corresponding to the end of the spoken word. This field is only set if 1971 // `enable_word_time_offsets=true` and only in the top hypothesis. This is an 1972 // experimental feature and the accuracy of the time offset can vary. 1973 EndTime *duration.Duration `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 1974 // The word corresponding to this set of information. 1975 Word string `protobuf:"bytes,3,opt,name=word,proto3" json:"word,omitempty"` 1976 // Output only. The confidence estimate between 0.0 and 1.0. A higher number 1977 // indicates an estimated greater likelihood that the recognized words are 1978 // correct. This field is set only for the top alternative. 1979 // This field is not guaranteed to be accurate and users should not rely on it 1980 // to be always provided. 1981 // The default of 0.0 is a sentinel value indicating `confidence` was not set. 1982 Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"` 1983 // Output only. A distinct integer value is assigned for every speaker within 1984 // the audio. This field specifies which one of those speakers was detected to 1985 // have spoken this word. Value ranges from 1 up to diarization_speaker_count, 1986 // and is only set if speaker diarization is enabled. 1987 SpeakerTag int32 `protobuf:"varint,5,opt,name=speaker_tag,json=speakerTag,proto3" json:"speaker_tag,omitempty"` 1988 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1989 XXX_unrecognized []byte `json:"-"` 1990 XXX_sizecache int32 `json:"-"` 1991} 1992 1993func (m *WordInfo) Reset() { *m = WordInfo{} } 1994func (m *WordInfo) String() string { return proto.CompactTextString(m) } 1995func (*WordInfo) ProtoMessage() {} 1996func (*WordInfo) Descriptor() ([]byte, []int) { 1997 return fileDescriptor_7638dbca9a7e63fa, []int{27} 1998} 1999 2000func (m *WordInfo) XXX_Unmarshal(b []byte) error { 2001 return xxx_messageInfo_WordInfo.Unmarshal(m, b) 2002} 2003func (m *WordInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2004 return xxx_messageInfo_WordInfo.Marshal(b, m, deterministic) 2005} 2006func (m *WordInfo) XXX_Merge(src proto.Message) { 2007 xxx_messageInfo_WordInfo.Merge(m, src) 2008} 2009func (m *WordInfo) XXX_Size() int { 2010 return xxx_messageInfo_WordInfo.Size(m) 2011} 2012func (m *WordInfo) XXX_DiscardUnknown() { 2013 xxx_messageInfo_WordInfo.DiscardUnknown(m) 2014} 2015 2016var xxx_messageInfo_WordInfo proto.InternalMessageInfo 2017 2018func (m *WordInfo) GetStartTime() *duration.Duration { 2019 if m != nil { 2020 return m.StartTime 2021 } 2022 return nil 2023} 2024 2025func (m *WordInfo) GetEndTime() *duration.Duration { 2026 if m != nil { 2027 return m.EndTime 2028 } 2029 return nil 2030} 2031 2032func (m *WordInfo) GetWord() string { 2033 if m != nil { 2034 return m.Word 2035 } 2036 return "" 2037} 2038 2039func (m *WordInfo) GetConfidence() float32 { 2040 if m != nil { 2041 return m.Confidence 2042 } 2043 return 0 2044} 2045 2046func (m *WordInfo) GetSpeakerTag() int32 { 2047 if m != nil { 2048 return m.SpeakerTag 2049 } 2050 return 0 2051} 2052 2053// A vertex represents a 2D point in the image. 2054// NOTE: the normalized vertex coordinates are relative to the original image 2055// and range from 0 to 1. 2056type NormalizedVertex struct { 2057 // X coordinate. 2058 X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"` 2059 // Y coordinate. 2060 Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"` 2061 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2062 XXX_unrecognized []byte `json:"-"` 2063 XXX_sizecache int32 `json:"-"` 2064} 2065 2066func (m *NormalizedVertex) Reset() { *m = NormalizedVertex{} } 2067func (m *NormalizedVertex) String() string { return proto.CompactTextString(m) } 2068func (*NormalizedVertex) ProtoMessage() {} 2069func (*NormalizedVertex) Descriptor() ([]byte, []int) { 2070 return fileDescriptor_7638dbca9a7e63fa, []int{28} 2071} 2072 2073func (m *NormalizedVertex) XXX_Unmarshal(b []byte) error { 2074 return xxx_messageInfo_NormalizedVertex.Unmarshal(m, b) 2075} 2076func (m *NormalizedVertex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2077 return xxx_messageInfo_NormalizedVertex.Marshal(b, m, deterministic) 2078} 2079func (m *NormalizedVertex) XXX_Merge(src proto.Message) { 2080 xxx_messageInfo_NormalizedVertex.Merge(m, src) 2081} 2082func (m *NormalizedVertex) XXX_Size() int { 2083 return xxx_messageInfo_NormalizedVertex.Size(m) 2084} 2085func (m *NormalizedVertex) XXX_DiscardUnknown() { 2086 xxx_messageInfo_NormalizedVertex.DiscardUnknown(m) 2087} 2088 2089var xxx_messageInfo_NormalizedVertex proto.InternalMessageInfo 2090 2091func (m *NormalizedVertex) GetX() float32 { 2092 if m != nil { 2093 return m.X 2094 } 2095 return 0 2096} 2097 2098func (m *NormalizedVertex) GetY() float32 { 2099 if m != nil { 2100 return m.Y 2101 } 2102 return 0 2103} 2104 2105// Normalized bounding polygon for text (that might not be aligned with axis). 2106// Contains list of the corner points in clockwise order starting from 2107// top-left corner. For example, for a rectangular bounding box: 2108// When the text is horizontal it might look like: 2109// 0----1 2110// | | 2111// 3----2 2112// 2113// When it's clockwise rotated 180 degrees around the top-left corner it 2114// becomes: 2115// 2----3 2116// | | 2117// 1----0 2118// 2119// and the vertex order will still be (0, 1, 2, 3). Note that values can be less 2120// than 0, or greater than 1 due to trignometric calculations for location of 2121// the box. 2122type NormalizedBoundingPoly struct { 2123 // Normalized vertices of the bounding polygon. 2124 Vertices []*NormalizedVertex `protobuf:"bytes,1,rep,name=vertices,proto3" json:"vertices,omitempty"` 2125 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2126 XXX_unrecognized []byte `json:"-"` 2127 XXX_sizecache int32 `json:"-"` 2128} 2129 2130func (m *NormalizedBoundingPoly) Reset() { *m = NormalizedBoundingPoly{} } 2131func (m *NormalizedBoundingPoly) String() string { return proto.CompactTextString(m) } 2132func (*NormalizedBoundingPoly) ProtoMessage() {} 2133func (*NormalizedBoundingPoly) Descriptor() ([]byte, []int) { 2134 return fileDescriptor_7638dbca9a7e63fa, []int{29} 2135} 2136 2137func (m *NormalizedBoundingPoly) XXX_Unmarshal(b []byte) error { 2138 return xxx_messageInfo_NormalizedBoundingPoly.Unmarshal(m, b) 2139} 2140func (m *NormalizedBoundingPoly) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2141 return xxx_messageInfo_NormalizedBoundingPoly.Marshal(b, m, deterministic) 2142} 2143func (m *NormalizedBoundingPoly) XXX_Merge(src proto.Message) { 2144 xxx_messageInfo_NormalizedBoundingPoly.Merge(m, src) 2145} 2146func (m *NormalizedBoundingPoly) XXX_Size() int { 2147 return xxx_messageInfo_NormalizedBoundingPoly.Size(m) 2148} 2149func (m *NormalizedBoundingPoly) XXX_DiscardUnknown() { 2150 xxx_messageInfo_NormalizedBoundingPoly.DiscardUnknown(m) 2151} 2152 2153var xxx_messageInfo_NormalizedBoundingPoly proto.InternalMessageInfo 2154 2155func (m *NormalizedBoundingPoly) GetVertices() []*NormalizedVertex { 2156 if m != nil { 2157 return m.Vertices 2158 } 2159 return nil 2160} 2161 2162// Video segment level annotation results for text detection. 2163type TextSegment struct { 2164 // Video segment where a text snippet was detected. 2165 Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"` 2166 // Confidence for the track of detected text. It is calculated as the highest 2167 // over all frames where OCR detected text appears. 2168 Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"` 2169 // Information related to the frames where OCR detected text appears. 2170 Frames []*TextFrame `protobuf:"bytes,3,rep,name=frames,proto3" json:"frames,omitempty"` 2171 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2172 XXX_unrecognized []byte `json:"-"` 2173 XXX_sizecache int32 `json:"-"` 2174} 2175 2176func (m *TextSegment) Reset() { *m = TextSegment{} } 2177func (m *TextSegment) String() string { return proto.CompactTextString(m) } 2178func (*TextSegment) ProtoMessage() {} 2179func (*TextSegment) Descriptor() ([]byte, []int) { 2180 return fileDescriptor_7638dbca9a7e63fa, []int{30} 2181} 2182 2183func (m *TextSegment) XXX_Unmarshal(b []byte) error { 2184 return xxx_messageInfo_TextSegment.Unmarshal(m, b) 2185} 2186func (m *TextSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2187 return xxx_messageInfo_TextSegment.Marshal(b, m, deterministic) 2188} 2189func (m *TextSegment) XXX_Merge(src proto.Message) { 2190 xxx_messageInfo_TextSegment.Merge(m, src) 2191} 2192func (m *TextSegment) XXX_Size() int { 2193 return xxx_messageInfo_TextSegment.Size(m) 2194} 2195func (m *TextSegment) XXX_DiscardUnknown() { 2196 xxx_messageInfo_TextSegment.DiscardUnknown(m) 2197} 2198 2199var xxx_messageInfo_TextSegment proto.InternalMessageInfo 2200 2201func (m *TextSegment) GetSegment() *VideoSegment { 2202 if m != nil { 2203 return m.Segment 2204 } 2205 return nil 2206} 2207 2208func (m *TextSegment) GetConfidence() float32 { 2209 if m != nil { 2210 return m.Confidence 2211 } 2212 return 0 2213} 2214 2215func (m *TextSegment) GetFrames() []*TextFrame { 2216 if m != nil { 2217 return m.Frames 2218 } 2219 return nil 2220} 2221 2222// Video frame level annotation results for text annotation (OCR). 2223// Contains information regarding timestamp and bounding box locations for the 2224// frames containing detected OCR text snippets. 2225type TextFrame struct { 2226 // Bounding polygon of the detected text for this frame. 2227 RotatedBoundingBox *NormalizedBoundingPoly `protobuf:"bytes,1,opt,name=rotated_bounding_box,json=rotatedBoundingBox,proto3" json:"rotated_bounding_box,omitempty"` 2228 // Timestamp of this frame. 2229 TimeOffset *duration.Duration `protobuf:"bytes,2,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"` 2230 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2231 XXX_unrecognized []byte `json:"-"` 2232 XXX_sizecache int32 `json:"-"` 2233} 2234 2235func (m *TextFrame) Reset() { *m = TextFrame{} } 2236func (m *TextFrame) String() string { return proto.CompactTextString(m) } 2237func (*TextFrame) ProtoMessage() {} 2238func (*TextFrame) Descriptor() ([]byte, []int) { 2239 return fileDescriptor_7638dbca9a7e63fa, []int{31} 2240} 2241 2242func (m *TextFrame) XXX_Unmarshal(b []byte) error { 2243 return xxx_messageInfo_TextFrame.Unmarshal(m, b) 2244} 2245func (m *TextFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2246 return xxx_messageInfo_TextFrame.Marshal(b, m, deterministic) 2247} 2248func (m *TextFrame) XXX_Merge(src proto.Message) { 2249 xxx_messageInfo_TextFrame.Merge(m, src) 2250} 2251func (m *TextFrame) XXX_Size() int { 2252 return xxx_messageInfo_TextFrame.Size(m) 2253} 2254func (m *TextFrame) XXX_DiscardUnknown() { 2255 xxx_messageInfo_TextFrame.DiscardUnknown(m) 2256} 2257 2258var xxx_messageInfo_TextFrame proto.InternalMessageInfo 2259 2260func (m *TextFrame) GetRotatedBoundingBox() *NormalizedBoundingPoly { 2261 if m != nil { 2262 return m.RotatedBoundingBox 2263 } 2264 return nil 2265} 2266 2267func (m *TextFrame) GetTimeOffset() *duration.Duration { 2268 if m != nil { 2269 return m.TimeOffset 2270 } 2271 return nil 2272} 2273 2274// Annotations related to one detected OCR text snippet. This will contain the 2275// corresponding text, confidence value, and frame level information for each 2276// detection. 2277type TextAnnotation struct { 2278 // The detected text. 2279 Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` 2280 // All video segments where OCR detected text appears. 2281 Segments []*TextSegment `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"` 2282 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2283 XXX_unrecognized []byte `json:"-"` 2284 XXX_sizecache int32 `json:"-"` 2285} 2286 2287func (m *TextAnnotation) Reset() { *m = TextAnnotation{} } 2288func (m *TextAnnotation) String() string { return proto.CompactTextString(m) } 2289func (*TextAnnotation) ProtoMessage() {} 2290func (*TextAnnotation) Descriptor() ([]byte, []int) { 2291 return fileDescriptor_7638dbca9a7e63fa, []int{32} 2292} 2293 2294func (m *TextAnnotation) XXX_Unmarshal(b []byte) error { 2295 return xxx_messageInfo_TextAnnotation.Unmarshal(m, b) 2296} 2297func (m *TextAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2298 return xxx_messageInfo_TextAnnotation.Marshal(b, m, deterministic) 2299} 2300func (m *TextAnnotation) XXX_Merge(src proto.Message) { 2301 xxx_messageInfo_TextAnnotation.Merge(m, src) 2302} 2303func (m *TextAnnotation) XXX_Size() int { 2304 return xxx_messageInfo_TextAnnotation.Size(m) 2305} 2306func (m *TextAnnotation) XXX_DiscardUnknown() { 2307 xxx_messageInfo_TextAnnotation.DiscardUnknown(m) 2308} 2309 2310var xxx_messageInfo_TextAnnotation proto.InternalMessageInfo 2311 2312func (m *TextAnnotation) GetText() string { 2313 if m != nil { 2314 return m.Text 2315 } 2316 return "" 2317} 2318 2319func (m *TextAnnotation) GetSegments() []*TextSegment { 2320 if m != nil { 2321 return m.Segments 2322 } 2323 return nil 2324} 2325 2326// Video frame level annotations for object detection and tracking. This field 2327// stores per frame location, time offset, and confidence. 2328type ObjectTrackingFrame struct { 2329 // The normalized bounding box location of this object track for the frame. 2330 NormalizedBoundingBox *NormalizedBoundingBox `protobuf:"bytes,1,opt,name=normalized_bounding_box,json=normalizedBoundingBox,proto3" json:"normalized_bounding_box,omitempty"` 2331 // The timestamp of the frame in microseconds. 2332 TimeOffset *duration.Duration `protobuf:"bytes,2,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"` 2333 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2334 XXX_unrecognized []byte `json:"-"` 2335 XXX_sizecache int32 `json:"-"` 2336} 2337 2338func (m *ObjectTrackingFrame) Reset() { *m = ObjectTrackingFrame{} } 2339func (m *ObjectTrackingFrame) String() string { return proto.CompactTextString(m) } 2340func (*ObjectTrackingFrame) ProtoMessage() {} 2341func (*ObjectTrackingFrame) Descriptor() ([]byte, []int) { 2342 return fileDescriptor_7638dbca9a7e63fa, []int{33} 2343} 2344 2345func (m *ObjectTrackingFrame) XXX_Unmarshal(b []byte) error { 2346 return xxx_messageInfo_ObjectTrackingFrame.Unmarshal(m, b) 2347} 2348func (m *ObjectTrackingFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2349 return xxx_messageInfo_ObjectTrackingFrame.Marshal(b, m, deterministic) 2350} 2351func (m *ObjectTrackingFrame) XXX_Merge(src proto.Message) { 2352 xxx_messageInfo_ObjectTrackingFrame.Merge(m, src) 2353} 2354func (m *ObjectTrackingFrame) XXX_Size() int { 2355 return xxx_messageInfo_ObjectTrackingFrame.Size(m) 2356} 2357func (m *ObjectTrackingFrame) XXX_DiscardUnknown() { 2358 xxx_messageInfo_ObjectTrackingFrame.DiscardUnknown(m) 2359} 2360 2361var xxx_messageInfo_ObjectTrackingFrame proto.InternalMessageInfo 2362 2363func (m *ObjectTrackingFrame) GetNormalizedBoundingBox() *NormalizedBoundingBox { 2364 if m != nil { 2365 return m.NormalizedBoundingBox 2366 } 2367 return nil 2368} 2369 2370func (m *ObjectTrackingFrame) GetTimeOffset() *duration.Duration { 2371 if m != nil { 2372 return m.TimeOffset 2373 } 2374 return nil 2375} 2376 2377// Annotations corresponding to one tracked object. 2378type ObjectTrackingAnnotation struct { 2379 // Different representation of tracking info in non-streaming batch 2380 // and streaming modes. 2381 // 2382 // Types that are valid to be assigned to TrackInfo: 2383 // *ObjectTrackingAnnotation_Segment 2384 // *ObjectTrackingAnnotation_TrackId 2385 TrackInfo isObjectTrackingAnnotation_TrackInfo `protobuf_oneof:"track_info"` 2386 // Entity to specify the object category that this track is labeled as. 2387 Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` 2388 // Object category's labeling confidence of this track. 2389 Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"` 2390 // Information corresponding to all frames where this object track appears. 2391 // Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame 2392 // messages in frames. 2393 // Streaming mode: it can only be one ObjectTrackingFrame message in frames. 2394 Frames []*ObjectTrackingFrame `protobuf:"bytes,2,rep,name=frames,proto3" json:"frames,omitempty"` 2395 XXX_NoUnkeyedLiteral struct{} `json:"-"` 2396 XXX_unrecognized []byte `json:"-"` 2397 XXX_sizecache int32 `json:"-"` 2398} 2399 2400func (m *ObjectTrackingAnnotation) Reset() { *m = ObjectTrackingAnnotation{} } 2401func (m *ObjectTrackingAnnotation) String() string { return proto.CompactTextString(m) } 2402func (*ObjectTrackingAnnotation) ProtoMessage() {} 2403func (*ObjectTrackingAnnotation) Descriptor() ([]byte, []int) { 2404 return fileDescriptor_7638dbca9a7e63fa, []int{34} 2405} 2406 2407func (m *ObjectTrackingAnnotation) XXX_Unmarshal(b []byte) error { 2408 return xxx_messageInfo_ObjectTrackingAnnotation.Unmarshal(m, b) 2409} 2410func (m *ObjectTrackingAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 2411 return xxx_messageInfo_ObjectTrackingAnnotation.Marshal(b, m, deterministic) 2412} 2413func (m *ObjectTrackingAnnotation) XXX_Merge(src proto.Message) { 2414 xxx_messageInfo_ObjectTrackingAnnotation.Merge(m, src) 2415} 2416func (m *ObjectTrackingAnnotation) XXX_Size() int { 2417 return xxx_messageInfo_ObjectTrackingAnnotation.Size(m) 2418} 2419func (m *ObjectTrackingAnnotation) XXX_DiscardUnknown() { 2420 xxx_messageInfo_ObjectTrackingAnnotation.DiscardUnknown(m) 2421} 2422 2423var xxx_messageInfo_ObjectTrackingAnnotation proto.InternalMessageInfo 2424 2425type isObjectTrackingAnnotation_TrackInfo interface { 2426 isObjectTrackingAnnotation_TrackInfo() 2427} 2428 2429type ObjectTrackingAnnotation_Segment struct { 2430 Segment *VideoSegment `protobuf:"bytes,3,opt,name=segment,proto3,oneof"` 2431} 2432 2433type ObjectTrackingAnnotation_TrackId struct { 2434 TrackId int64 `protobuf:"varint,5,opt,name=track_id,json=trackId,proto3,oneof"` 2435} 2436 2437func (*ObjectTrackingAnnotation_Segment) isObjectTrackingAnnotation_TrackInfo() {} 2438 2439func (*ObjectTrackingAnnotation_TrackId) isObjectTrackingAnnotation_TrackInfo() {} 2440 2441func (m *ObjectTrackingAnnotation) GetTrackInfo() isObjectTrackingAnnotation_TrackInfo { 2442 if m != nil { 2443 return m.TrackInfo 2444 } 2445 return nil 2446} 2447 2448func (m *ObjectTrackingAnnotation) GetSegment() *VideoSegment { 2449 if x, ok := m.GetTrackInfo().(*ObjectTrackingAnnotation_Segment); ok { 2450 return x.Segment 2451 } 2452 return nil 2453} 2454 2455func (m *ObjectTrackingAnnotation) GetTrackId() int64 { 2456 if x, ok := m.GetTrackInfo().(*ObjectTrackingAnnotation_TrackId); ok { 2457 return x.TrackId 2458 } 2459 return 0 2460} 2461 2462func (m *ObjectTrackingAnnotation) GetEntity() *Entity { 2463 if m != nil { 2464 return m.Entity 2465 } 2466 return nil 2467} 2468 2469func (m *ObjectTrackingAnnotation) GetConfidence() float32 { 2470 if m != nil { 2471 return m.Confidence 2472 } 2473 return 0 2474} 2475 2476func (m *ObjectTrackingAnnotation) GetFrames() []*ObjectTrackingFrame { 2477 if m != nil { 2478 return m.Frames 2479 } 2480 return nil 2481} 2482 2483// XXX_OneofWrappers is for the internal use of the proto package. 2484func (*ObjectTrackingAnnotation) XXX_OneofWrappers() []interface{} { 2485 return []interface{}{ 2486 (*ObjectTrackingAnnotation_Segment)(nil), 2487 (*ObjectTrackingAnnotation_TrackId)(nil), 2488 } 2489} 2490 2491func init() { 2492 proto.RegisterEnum("google.cloud.videointelligence.v1.Feature", Feature_name, Feature_value) 2493 proto.RegisterEnum("google.cloud.videointelligence.v1.LabelDetectionMode", LabelDetectionMode_name, LabelDetectionMode_value) 2494 proto.RegisterEnum("google.cloud.videointelligence.v1.Likelihood", Likelihood_name, Likelihood_value) 2495 proto.RegisterType((*AnnotateVideoRequest)(nil), "google.cloud.videointelligence.v1.AnnotateVideoRequest") 2496 proto.RegisterType((*VideoContext)(nil), "google.cloud.videointelligence.v1.VideoContext") 2497 proto.RegisterType((*LabelDetectionConfig)(nil), "google.cloud.videointelligence.v1.LabelDetectionConfig") 2498 proto.RegisterType((*ShotChangeDetectionConfig)(nil), "google.cloud.videointelligence.v1.ShotChangeDetectionConfig") 2499 proto.RegisterType((*ExplicitContentDetectionConfig)(nil), "google.cloud.videointelligence.v1.ExplicitContentDetectionConfig") 2500 proto.RegisterType((*FaceDetectionConfig)(nil), "google.cloud.videointelligence.v1.FaceDetectionConfig") 2501 proto.RegisterType((*ObjectTrackingConfig)(nil), "google.cloud.videointelligence.v1.ObjectTrackingConfig") 2502 proto.RegisterType((*TextDetectionConfig)(nil), "google.cloud.videointelligence.v1.TextDetectionConfig") 2503 proto.RegisterType((*VideoSegment)(nil), "google.cloud.videointelligence.v1.VideoSegment") 2504 proto.RegisterType((*LabelSegment)(nil), "google.cloud.videointelligence.v1.LabelSegment") 2505 proto.RegisterType((*LabelFrame)(nil), "google.cloud.videointelligence.v1.LabelFrame") 2506 proto.RegisterType((*Entity)(nil), "google.cloud.videointelligence.v1.Entity") 2507 proto.RegisterType((*LabelAnnotation)(nil), "google.cloud.videointelligence.v1.LabelAnnotation") 2508 proto.RegisterType((*ExplicitContentFrame)(nil), "google.cloud.videointelligence.v1.ExplicitContentFrame") 2509 proto.RegisterType((*ExplicitContentAnnotation)(nil), "google.cloud.videointelligence.v1.ExplicitContentAnnotation") 2510 proto.RegisterType((*NormalizedBoundingBox)(nil), "google.cloud.videointelligence.v1.NormalizedBoundingBox") 2511 proto.RegisterType((*FaceSegment)(nil), "google.cloud.videointelligence.v1.FaceSegment") 2512 proto.RegisterType((*FaceFrame)(nil), "google.cloud.videointelligence.v1.FaceFrame") 2513 proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.videointelligence.v1.FaceAnnotation") 2514 proto.RegisterType((*VideoAnnotationResults)(nil), "google.cloud.videointelligence.v1.VideoAnnotationResults") 2515 proto.RegisterType((*AnnotateVideoResponse)(nil), "google.cloud.videointelligence.v1.AnnotateVideoResponse") 2516 proto.RegisterType((*VideoAnnotationProgress)(nil), "google.cloud.videointelligence.v1.VideoAnnotationProgress") 2517 proto.RegisterType((*AnnotateVideoProgress)(nil), "google.cloud.videointelligence.v1.AnnotateVideoProgress") 2518 proto.RegisterType((*SpeechTranscriptionConfig)(nil), "google.cloud.videointelligence.v1.SpeechTranscriptionConfig") 2519 proto.RegisterType((*SpeechContext)(nil), "google.cloud.videointelligence.v1.SpeechContext") 2520 proto.RegisterType((*SpeechTranscription)(nil), "google.cloud.videointelligence.v1.SpeechTranscription") 2521 proto.RegisterType((*SpeechRecognitionAlternative)(nil), "google.cloud.videointelligence.v1.SpeechRecognitionAlternative") 2522 proto.RegisterType((*WordInfo)(nil), "google.cloud.videointelligence.v1.WordInfo") 2523 proto.RegisterType((*NormalizedVertex)(nil), "google.cloud.videointelligence.v1.NormalizedVertex") 2524 proto.RegisterType((*NormalizedBoundingPoly)(nil), "google.cloud.videointelligence.v1.NormalizedBoundingPoly") 2525 proto.RegisterType((*TextSegment)(nil), "google.cloud.videointelligence.v1.TextSegment") 2526 proto.RegisterType((*TextFrame)(nil), "google.cloud.videointelligence.v1.TextFrame") 2527 proto.RegisterType((*TextAnnotation)(nil), "google.cloud.videointelligence.v1.TextAnnotation") 2528 proto.RegisterType((*ObjectTrackingFrame)(nil), "google.cloud.videointelligence.v1.ObjectTrackingFrame") 2529 proto.RegisterType((*ObjectTrackingAnnotation)(nil), "google.cloud.videointelligence.v1.ObjectTrackingAnnotation") 2530} 2531 2532func init() { 2533 proto.RegisterFile("google/cloud/videointelligence/v1/video_intelligence.proto", fileDescriptor_7638dbca9a7e63fa) 2534} 2535 2536var fileDescriptor_7638dbca9a7e63fa = []byte{ 2537 // 2671 bytes of a gzipped FileDescriptorProto 2538 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x5a, 0xcd, 0x6f, 0x23, 0xc7, 2539 0xb1, 0xf7, 0x50, 0xa2, 0x3e, 0x4a, 0x94, 0xc4, 0x6d, 0x51, 0x12, 0x25, 0xaf, 0xb5, 0xda, 0xb1, 2540 0x0d, 0xac, 0xd7, 0x36, 0xf9, 0xb4, 0xf6, 0xf3, 0x07, 0x6d, 0xe0, 0x3d, 0x8a, 0xa2, 0xbc, 0xf4, 2541 0xca, 0x22, 0x31, 0xe2, 0xea, 0xd9, 0xc6, 0x02, 0x83, 0xd1, 0x4c, 0x93, 0x1c, 0x6b, 0x38, 0x3d, 2542 0x6f, 0xa6, 0xa9, 0x95, 0x8c, 0x04, 0x41, 0x82, 0x20, 0x39, 0x24, 0xb7, 0x5c, 0x72, 0x09, 0x82, 2543 0x5c, 0x73, 0x0e, 0x82, 0x5c, 0x62, 0x18, 0x08, 0x72, 0x88, 0x11, 0x20, 0x40, 0xf2, 0x2f, 0xe4, 2544 0xe4, 0x3f, 0x21, 0xa7, 0xa0, 0x3f, 0x86, 0x6c, 0x72, 0xa8, 0x15, 0xa5, 0x35, 0x72, 0x63, 0x57, 2545 0x77, 0xfd, 0xea, 0xa3, 0xab, 0xab, 0xbb, 0x8a, 0x03, 0xa5, 0x36, 0x21, 0x6d, 0x0f, 0x17, 0x6d, 2546 0x8f, 0xf4, 0x9c, 0xe2, 0x99, 0xeb, 0x60, 0xe2, 0xfa, 0x14, 0x7b, 0x9e, 0xdb, 0xc6, 0xbe, 0x8d, 2547 0x8b, 0x67, 0x3b, 0x82, 0x68, 0xaa, 0xd4, 0x42, 0x10, 0x12, 0x4a, 0xd0, 0x5d, 0xc1, 0x5b, 0xe0, 2548 0xbc, 0x85, 0x04, 0x6f, 0xe1, 0x6c, 0x67, 0xf3, 0xb6, 0x84, 0xb7, 0x02, 0xb7, 0x68, 0xf9, 0x3e, 2549 0xa1, 0x16, 0x75, 0x89, 0x1f, 0x09, 0x80, 0xcd, 0x75, 0x65, 0xd6, 0xf6, 0x5c, 0xec, 0x53, 0x39, 2550 0xf1, 0xb2, 0x9c, 0xf0, 0x88, 0xdf, 0x0e, 0x7b, 0xbe, 0xef, 0xfa, 0xed, 0x22, 0x09, 0x70, 0x38, 2551 0xc4, 0xbd, 0x25, 0x17, 0xf1, 0xd1, 0x49, 0xaf, 0x55, 0x74, 0x7a, 0x62, 0x81, 0x9c, 0xbf, 0x33, 2552 0x3a, 0x4f, 0xdd, 0x2e, 0x8e, 0xa8, 0xd5, 0x0d, 0x46, 0xc4, 0x87, 0x81, 0x5d, 0x8c, 0xa8, 0x45, 2553 0x7b, 0x12, 0x59, 0xff, 0x7d, 0x0a, 0x72, 0x65, 0xa1, 0x2d, 0x3e, 0x66, 0x66, 0x19, 0xf8, 0xff, 2554 0x7b, 0x38, 0xa2, 0xe8, 0x45, 0x98, 0x77, 0xfd, 0xa0, 0x47, 0xcd, 0x5e, 0xe8, 0xe6, 0xb5, 0x6d, 2555 0xed, 0xde, 0xbc, 0x31, 0xc7, 0x09, 0x8f, 0x43, 0x17, 0xbd, 0x0c, 0x8b, 0x62, 0xd2, 0x26, 0x3e, 2556 0xc5, 0x3e, 0xcd, 0xcf, 0x6c, 0x6b, 0xf7, 0x32, 0x46, 0x86, 0x13, 0x2b, 0x82, 0x86, 0xf6, 0x61, 2557 0xae, 0x85, 0x2d, 0xda, 0x0b, 0x71, 0x94, 0x4f, 0x6d, 0x4f, 0xdd, 0x5b, 0x7a, 0x70, 0xbf, 0x70, 2558 0xa5, 0x1b, 0x0b, 0xfb, 0x82, 0xc5, 0xe8, 0xf3, 0xa2, 0x26, 0x2c, 0x8a, 0x7d, 0xe1, 0xc2, 0xce, 2559 0x69, 0x7e, 0x6a, 0x5b, 0xbb, 0xb7, 0xf0, 0xa0, 0x38, 0x01, 0x18, 0xb7, 0xa8, 0x22, 0xd8, 0x8c, 2560 0xcc, 0x99, 0x32, 0x42, 0x2f, 0x01, 0x90, 0x1e, 0x8d, 0x0d, 0x9c, 0xe6, 0x06, 0xce, 0x0b, 0x0a, 2561 0xb3, 0xf0, 0x0e, 0x2c, 0x78, 0xc4, 0xe6, 0x3e, 0x36, 0x5d, 0x27, 0x9f, 0xe6, 0xf3, 0x10, 0x93, 2562 0x6a, 0x8e, 0xfe, 0xab, 0x59, 0xc8, 0xa8, 0xf0, 0xe8, 0x11, 0xcc, 0x45, 0xb8, 0xdd, 0xc5, 0x3e, 2563 0x8d, 0xf2, 0xda, 0xf6, 0xd4, 0x75, 0x34, 0x3c, 0x12, 0x7c, 0x46, 0x1f, 0x00, 0x75, 0x61, 0xcd, 2564 0xb3, 0x4e, 0xb0, 0x67, 0x3a, 0x98, 0x62, 0x9b, 0x6b, 0x61, 0x13, 0xbf, 0xe5, 0xb6, 0xf3, 0x29, 2565 0x6e, 0xfc, 0xbb, 0x13, 0x40, 0x1f, 0x30, 0x80, 0xbd, 0x98, 0xbf, 0xc2, 0xd9, 0x8d, 0x9c, 0x37, 2566 0x86, 0x8a, 0xbe, 0x0f, 0xb7, 0xa3, 0x0e, 0xa1, 0xa6, 0xdd, 0xb1, 0xfc, 0x36, 0x4e, 0x0a, 0x15, 2567 0x1e, 0xff, 0x70, 0x02, 0xa1, 0x47, 0x1d, 0x42, 0x2b, 0x1c, 0x65, 0x54, 0xf2, 0x46, 0x74, 0xd9, 2568 0x14, 0xfa, 0xb9, 0x06, 0x77, 0xf1, 0x79, 0xe0, 0xb9, 0xb6, 0xdb, 0x0f, 0xa9, 0xa4, 0x12, 0xd3, 2569 0x5c, 0x89, 0xf2, 0x04, 0x4a, 0x54, 0x25, 0x96, 0x8c, 0xc4, 0x51, 0x4d, 0xb6, 0xf0, 0x33, 0xe7, 2570 0xd1, 0x17, 0xb0, 0xda, 0xb2, 0xec, 0x31, 0x6e, 0x48, 0x73, 0x0d, 0xde, 0x99, 0x24, 0x8a, 0x2d, 2571 0x3b, 0xe1, 0x80, 0x95, 0x56, 0x92, 0x88, 0xbe, 0x07, 0x2f, 0x46, 0x01, 0xc6, 0x76, 0xc7, 0xa4, 2572 0xa1, 0xe5, 0x47, 0x76, 0xe8, 0x06, 0xaa, 0xc4, 0x99, 0xc9, 0x1d, 0xcf, 0x51, 0x9a, 0x2a, 0x48, 2573 0xdf, 0xf1, 0x97, 0x4d, 0x31, 0x4b, 0x59, 0xec, 0x26, 0x2d, 0x9d, 0x9b, 0xd8, 0xd2, 0x26, 0x3e, 2574 0x4f, 0x38, 0x78, 0x85, 0x26, 0x89, 0x2c, 0xa4, 0xc9, 0xc9, 0x17, 0xd8, 0xa6, 0xcc, 0x52, 0xfb, 2575 0xd4, 0xf5, 0xdb, 0xb1, 0xb0, 0xc5, 0x89, 0x43, 0xba, 0xce, 0x01, 0x9a, 0x92, 0x3f, 0x0e, 0x69, 2576 0x32, 0x86, 0xaa, 0x7f, 0x95, 0x82, 0xdc, 0xb8, 0x13, 0x80, 0xda, 0x90, 0x1b, 0x3d, 0x5a, 0x5d, 2577 0xe2, 0x60, 0x9e, 0xe3, 0x96, 0x1e, 0xfc, 0xf7, 0xb5, 0x0f, 0xd6, 0x27, 0xc4, 0xc1, 0x06, 0xf2, 2578 0x12, 0x34, 0xf4, 0x3a, 0xdc, 0x8a, 0xc4, 0x25, 0x60, 0x85, 0x17, 0xa6, 0x6d, 0x75, 0x71, 0x68, 2579 0xf1, 0xe3, 0x3b, 0x67, 0x64, 0x07, 0x13, 0x15, 0x4e, 0x47, 0x39, 0x48, 0x33, 0x2d, 0x3c, 0x7e, 2580 0xd4, 0xe6, 0x0d, 0x31, 0x40, 0x1f, 0xc2, 0x66, 0x2b, 0xb4, 0xba, 0x58, 0x78, 0xca, 0x61, 0x0a, 2581 0x98, 0xb4, 0x13, 0xe2, 0xa8, 0x43, 0x3c, 0x87, 0x1f, 0x88, 0x94, 0x91, 0xe7, 0x2b, 0x2a, 0xfd, 2582 0x05, 0xcd, 0x78, 0x9e, 0x71, 0xf7, 0x13, 0x67, 0x92, 0x3b, 0x2d, 0xb8, 0xe3, 0xa4, 0x38, 0xca, 2583 0xad, 0xef, 0xc0, 0xc6, 0xa5, 0x87, 0x79, 0xa0, 0xae, 0xa6, 0xa8, 0xab, 0xbf, 0x03, 0x5b, 0xcf, 2584 0x3e, 0x7a, 0x97, 0xf0, 0x59, 0xb0, 0x32, 0xe6, 0xc0, 0x8c, 0x5f, 0x8c, 0xde, 0x86, 0x35, 0xd7, 2585 0xb7, 0xbd, 0x9e, 0x83, 0xcd, 0x13, 0xd2, 0xf3, 0x1d, 0x16, 0x48, 0x27, 0xe4, 0x9c, 0x5f, 0x32, 2586 0xcc, 0xb7, 0x39, 0x39, 0xbb, 0x2b, 0x27, 0x77, 0xd9, 0x9c, 0xfe, 0x06, 0xe4, 0xc6, 0x05, 0xcf, 2587 0x25, 0x0a, 0x19, 0xb0, 0x32, 0x26, 0xae, 0xd1, 0xab, 0xb0, 0xe4, 0x59, 0x7e, 0xbb, 0x67, 0xb5, 2588 0xb1, 0xd9, 0x71, 0xe3, 0x44, 0x3f, 0x6f, 0x2c, 0xc6, 0xd4, 0x87, 0x8c, 0x38, 0xc0, 0x4c, 0xa9, 2589 0x98, 0xbf, 0xd4, 0xe4, 0x85, 0x21, 0xb3, 0x3d, 0xaa, 0xf2, 0xf8, 0x08, 0xa9, 0xc9, 0x2e, 0x6b, 2590 0x93, 0xb4, 0x5a, 0x11, 0xa6, 0x5c, 0x8d, 0x85, 0x07, 0x1b, 0x71, 0x14, 0xc6, 0x17, 0x7a, 0x61, 2591 0x4f, 0x5e, 0xf8, 0xc6, 0x32, 0xe7, 0x69, 0xba, 0x5d, 0x5c, 0xe7, 0x1c, 0xa8, 0x0c, 0xcb, 0xd8, 2592 0x77, 0x86, 0x40, 0x52, 0x57, 0x81, 0x2c, 0x62, 0xdf, 0x19, 0x40, 0xe8, 0x17, 0x90, 0xe1, 0x31, 2593 0x1d, 0x6b, 0x56, 0x83, 0x59, 0x79, 0x13, 0x49, 0x7d, 0xae, 0x7d, 0x93, 0xc5, 0xfc, 0x68, 0x0b, 2594 0x60, 0x10, 0x7d, 0x5c, 0xb1, 0x94, 0xa1, 0x50, 0xf4, 0x0e, 0x00, 0x17, 0xbd, 0xcf, 0x82, 0x18, 2595 0x95, 0x60, 0xe1, 0x5a, 0xce, 0x00, 0x3a, 0xf0, 0xc3, 0x55, 0x92, 0x3c, 0x98, 0xa9, 0xfa, 0xd4, 2596 0xa5, 0x17, 0xec, 0x69, 0x83, 0xf9, 0x2f, 0x76, 0xb3, 0xcb, 0xa7, 0x8d, 0x20, 0xd4, 0x1c, 0xb4, 2597 0x0d, 0x0b, 0x0e, 0xee, 0xe7, 0x49, 0xb9, 0x85, 0x2a, 0x89, 0x3d, 0x7e, 0xfa, 0x51, 0x60, 0xb3, 2598 0xcc, 0x21, 0x8e, 0x6c, 0x26, 0x26, 0x56, 0x88, 0x83, 0xf5, 0xaf, 0x53, 0xb0, 0xcc, 0x0d, 0x2b, 2599 0xf7, 0x9f, 0x82, 0xa8, 0x0c, 0x33, 0x42, 0x8c, 0x34, 0xec, 0xb5, 0x49, 0xae, 0x32, 0xce, 0x60, 2600 0x48, 0x46, 0x74, 0x0c, 0xb7, 0x6c, 0x8b, 0xe2, 0x36, 0x09, 0x2f, 0x4c, 0x4e, 0x72, 0xe5, 0xe3, 2601 0xea, 0x5a, 0x68, 0xd9, 0x18, 0xa3, 0x2a, 0x21, 0x86, 0x1e, 0x2f, 0x53, 0x13, 0x3f, 0x5e, 0xd4, 2602 0xa0, 0x51, 0x1e, 0x2f, 0x55, 0x98, 0xe1, 0x39, 0x29, 0xca, 0x4f, 0x73, 0xa8, 0x37, 0x27, 0x85, 2603 0xe2, 0x41, 0x60, 0x48, 0x66, 0xfd, 0x0f, 0x1a, 0xe4, 0x46, 0xd2, 0xc9, 0xf3, 0x47, 0x89, 0x03, 2604 0x6b, 0x01, 0x09, 0x7d, 0xd2, 0x0e, 0xad, 0xa0, 0x73, 0x61, 0x7a, 0xee, 0x29, 0xf6, 0xdc, 0x0e, 2605 0x21, 0x0e, 0xdf, 0xe9, 0xa5, 0xc9, 0x74, 0xed, 0x33, 0x19, 0xab, 0x0a, 0xd8, 0x80, 0xac, 0x7b, 2606 0xb0, 0x31, 0xa2, 0xb9, 0x12, 0x06, 0xf5, 0xbe, 0x7b, 0xc4, 0x33, 0xf1, 0xdd, 0xeb, 0xbf, 0x68, 2607 0x86, 0x1d, 0x75, 0x0a, 0xab, 0x87, 0x24, 0xec, 0x5a, 0x9e, 0xfb, 0x25, 0x76, 0x94, 0xb4, 0x87, 2608 0x10, 0x4c, 0x7b, 0xb8, 0x25, 0x3c, 0x94, 0x32, 0xf8, 0x6f, 0x94, 0x85, 0x29, 0x4a, 0x02, 0x79, 2609 0x3e, 0xd8, 0x4f, 0x96, 0xae, 0x42, 0xb7, 0xdd, 0x11, 0xef, 0xea, 0x94, 0x21, 0x06, 0x68, 0x0d, 2610 0x66, 0x4e, 0x08, 0xa5, 0xa4, 0x2b, 0xaf, 0x19, 0x39, 0xd2, 0x3f, 0x85, 0x05, 0x96, 0xab, 0xbf, 2611 0xfb, 0x54, 0xa1, 0xff, 0x51, 0x83, 0x79, 0x06, 0x2d, 0x36, 0x99, 0xc2, 0x86, 0xdf, 0x37, 0x6a, 2612 0x34, 0xd3, 0x0b, 0xc7, 0xbd, 0x37, 0x81, 0xa8, 0xb1, 0x8e, 0x31, 0xd6, 0xfd, 0x71, 0x64, 0x1c, 2613 0x8d, 0x86, 0x56, 0xea, 0x1a, 0xa1, 0xa5, 0x7f, 0xad, 0xc1, 0x12, 0xd3, 0x5f, 0xd9, 0xea, 0xdb, 2614 0x30, 0x4f, 0x3b, 0xbd, 0xee, 0x89, 0x6f, 0xb9, 0xe2, 0x86, 0xc9, 0x18, 0x03, 0x02, 0xfa, 0x58, 2615 0x39, 0x74, 0xe2, 0x0c, 0x17, 0x26, 0x7c, 0x5a, 0x26, 0xcf, 0xdc, 0x5e, 0x3f, 0xa8, 0xc4, 0xf1, 2616 0x7d, 0x63, 0x42, 0xa4, 0xe1, 0x48, 0xfa, 0x2b, 0xc0, 0x1a, 0xdf, 0x9c, 0x81, 0x0d, 0x06, 0x8e, 2617 0x7a, 0x1e, 0x8d, 0x9e, 0x5d, 0x0f, 0x2a, 0x51, 0x00, 0xcf, 0x79, 0x61, 0xf8, 0xb0, 0x21, 0x7f, 2618 0x9a, 0xe2, 0x99, 0xa6, 0xd4, 0xd2, 0xd2, 0x4b, 0x0f, 0x26, 0xcd, 0x27, 0x8a, 0x15, 0xeb, 0x12, 2619 0x74, 0x84, 0x1e, 0xa1, 0x1f, 0x80, 0x1e, 0xcb, 0x0b, 0x42, 0x1c, 0xf1, 0x47, 0x52, 0x52, 0xf0, 2620 0xfa, 0x8d, 0x05, 0xdf, 0x91, 0xe8, 0x0d, 0x09, 0x9e, 0x50, 0xa0, 0x03, 0x6b, 0xbc, 0xf6, 0x4a, 2621 0x0a, 0x9d, 0xba, 0xb1, 0xd0, 0x1c, 0x43, 0x4c, 0x48, 0xba, 0x80, 0x3b, 0x5c, 0xd2, 0x33, 0xec, 2622 0xcc, 0xdf, 0x58, 0x24, 0x2f, 0x20, 0x2f, 0x35, 0xf2, 0x0b, 0x58, 0x17, 0x0f, 0xd9, 0xa4, 0xc8, 2623 0xe9, 0x1b, 0x8b, 0x5c, 0xe5, 0x90, 0x09, 0x59, 0x4f, 0x20, 0xcb, 0xcb, 0x37, 0x55, 0x48, 0x9a, 2624 0x0b, 0xd9, 0x99, 0xf0, 0x50, 0x28, 0x32, 0x96, 0x5b, 0x43, 0xe3, 0x08, 0x7d, 0x0e, 0x59, 0xee, 2625 0x44, 0x15, 0x7d, 0xe6, 0x66, 0xe5, 0xfe, 0x32, 0x03, 0x52, 0xb1, 0xbb, 0xb0, 0xd2, 0x2f, 0x83, 2626 0x07, 0xf8, 0xf9, 0xd9, 0x89, 0x8b, 0xc0, 0x4b, 0x2f, 0x1d, 0x03, 0xc5, 0xc0, 0x4a, 0x76, 0x3a, 2627 0x85, 0xd5, 0x71, 0xb5, 0x67, 0x94, 0x5f, 0xe0, 0xf6, 0xbc, 0x73, 0xb3, 0xaa, 0xd3, 0xc8, 0x8d, 2628 0xa9, 0x37, 0xf9, 0xae, 0xf0, 0x52, 0x53, 0xf5, 0x5b, 0x66, 0xe2, 0x5d, 0x61, 0xaf, 0x71, 0x75, 2629 0x57, 0xe8, 0xd0, 0x98, 0xc5, 0x17, 0x92, 0xc5, 0xa5, 0x8a, 0xbf, 0xc4, 0xf1, 0x3f, 0xb8, 0x76, 2630 0x61, 0xa9, 0x48, 0xba, 0x25, 0x60, 0x55, 0x59, 0xf7, 0x20, 0x8d, 0xc3, 0x90, 0x84, 0xf9, 0x79, 2631 0xbe, 0x2f, 0x28, 0x86, 0x0f, 0x03, 0xbb, 0x70, 0xc4, 0x7b, 0x6b, 0x86, 0x58, 0xa0, 0xff, 0x50, 2632 0x83, 0xd5, 0x91, 0xe6, 0x5a, 0x14, 0x10, 0x3f, 0xc2, 0xa8, 0x03, 0x68, 0xa0, 0xa8, 0x19, 0x8a, 2633 0x1c, 0x2b, 0xaf, 0xb5, 0xf7, 0x27, 0x8d, 0xa3, 0x44, 0x92, 0x36, 0x6e, 0x59, 0xa3, 0x24, 0xfd, 2634 0xdb, 0x14, 0xac, 0x8f, 0xac, 0x6e, 0x84, 0xa4, 0x1d, 0xe2, 0xe8, 0x8a, 0x9c, 0xfe, 0x1a, 0x64, 2635 0x03, 0xb9, 0xd0, 0x0c, 0x70, 0x68, 0xb3, 0xe4, 0xce, 0xee, 0xc3, 0xb4, 0xb1, 0x1c, 0xd3, 0x1b, 2636 0x82, 0x8c, 0xde, 0x07, 0x18, 0x54, 0x32, 0xb2, 0x59, 0xb4, 0x99, 0xb8, 0x34, 0x9b, 0x71, 0x4f, 2637 0xd2, 0x98, 0xef, 0xd7, 0x30, 0xe8, 0x03, 0x58, 0xe8, 0x05, 0x8e, 0x45, 0xb1, 0xe0, 0x9d, 0xbe, 2638 0x92, 0x17, 0xc4, 0x72, 0xce, 0xbc, 0x07, 0xb3, 0xb2, 0x4b, 0xc8, 0xab, 0xd9, 0xeb, 0x35, 0x18, 2639 0x63, 0x56, 0xf5, 0xf2, 0x9a, 0x79, 0xce, 0x27, 0xcc, 0x8f, 0x47, 0x37, 0xbc, 0xef, 0xea, 0x53, 2640 0x58, 0x51, 0x36, 0x3c, 0x76, 0xa0, 0xdc, 0xf1, 0xd2, 0xf5, 0x77, 0x3c, 0x06, 0x36, 0x94, 0x38, 2641 0x8a, 0x69, 0xfa, 0x4f, 0xa6, 0x61, 0xe3, 0xd2, 0x7e, 0x50, 0xb2, 0x7e, 0xd1, 0x92, 0xf5, 0x0b, 2642 0xdb, 0xfd, 0xae, 0x75, 0x6e, 0x5a, 0x1e, 0xc5, 0xa1, 0x6f, 0x51, 0xf7, 0x4c, 0xd6, 0xd7, 0x69, 2643 0x63, 0xb9, 0x6b, 0x9d, 0x97, 0x15, 0x32, 0x5b, 0xda, 0x72, 0x19, 0x81, 0x99, 0xd5, 0xb2, 0x7c, 2644 0x56, 0xe0, 0x4c, 0xf1, 0x52, 0x7c, 0x59, 0xd0, 0x1b, 0x31, 0x19, 0x7d, 0x06, 0xcb, 0x32, 0xe3, 2645 0xc8, 0x5e, 0x6e, 0x9c, 0xfe, 0xff, 0x6b, 0xe2, 0x5c, 0x13, 0x77, 0x73, 0x97, 0x22, 0x75, 0x18, 2646 0xa1, 0xff, 0x85, 0xdb, 0xd8, 0xb7, 0x4e, 0x3c, 0x6c, 0x5a, 0x3d, 0x4a, 0xba, 0x16, 0x75, 0x6d, 2647 0x33, 0xe8, 0xf9, 0x36, 0xed, 0x89, 0x24, 0x9a, 0xe6, 0x1a, 0x6d, 0x8a, 0x35, 0xe5, 0x78, 0x49, 2648 0x63, 0xb0, 0x02, 0xdd, 0x85, 0x8c, 0xd5, 0x73, 0x5c, 0x22, 0xfa, 0x53, 0x22, 0xab, 0xa7, 0x8d, 2649 0x05, 0x4e, 0xe3, 0x99, 0x21, 0x42, 0x1f, 0x82, 0x04, 0x30, 0xa3, 0x00, 0x5b, 0xa7, 0x38, 0x34, 2650 0x1d, 0xd7, 0x0a, 0xdd, 0x2f, 0x07, 0x79, 0x7a, 0xce, 0xc8, 0x8b, 0x15, 0x47, 0x62, 0xc1, 0xde, 2651 0x60, 0x1e, 0x95, 0x60, 0x43, 0x59, 0xde, 0x87, 0xb0, 0x49, 0xcf, 0xa7, 0xbc, 0xe3, 0x96, 0x36, 2652 0xd6, 0x95, 0x05, 0x12, 0xa1, 0xc2, 0xa6, 0xd1, 0xdb, 0xb0, 0x26, 0x25, 0x3f, 0x25, 0xa1, 0xa3, 2653 0x74, 0x74, 0x78, 0x16, 0x9a, 0x33, 0x72, 0x62, 0xf6, 0xff, 0x48, 0xe8, 0x0c, 0x9a, 0x39, 0xfa, 2654 0x6b, 0xb0, 0x38, 0xe4, 0x35, 0x94, 0x87, 0xd9, 0xa0, 0x13, 0x5a, 0x11, 0x8e, 0x5b, 0x17, 0xf1, 2655 0x50, 0xff, 0xb5, 0x06, 0x2b, 0x63, 0x62, 0x06, 0xd9, 0x90, 0x19, 0x0a, 0x02, 0x11, 0xb1, 0xff, 2656 0x33, 0xf1, 0x7e, 0x19, 0xd8, 0x26, 0x6d, 0xdf, 0x65, 0x58, 0x4a, 0xd4, 0x18, 0x43, 0xa0, 0xc9, 2657 0x90, 0x4c, 0x8d, 0x29, 0xa9, 0x7f, 0xa3, 0xc1, 0xed, 0x67, 0x61, 0xa2, 0x2d, 0x80, 0xc1, 0x45, 2658 0x26, 0xa3, 0x5a, 0xa1, 0x5c, 0xd5, 0x21, 0x40, 0x65, 0x48, 0x33, 0xe7, 0xc6, 0x0f, 0xaf, 0xd7, 2659 0x27, 0xb0, 0x91, 0xf9, 0xbb, 0xe6, 0xb7, 0x88, 0x21, 0x38, 0xf5, 0xbf, 0x69, 0x30, 0x17, 0xd3, 2660 0xd0, 0x7b, 0x43, 0x69, 0xf1, 0xca, 0x32, 0x55, 0xc9, 0x8a, 0x6f, 0xc3, 0x5c, 0xdc, 0xd3, 0xb9, 2661 0xba, 0x06, 0x99, 0x95, 0xcd, 0x1c, 0x56, 0xee, 0x31, 0x2d, 0x64, 0x3f, 0x82, 0xff, 0x1e, 0xb1, 2662 0x79, 0x3a, 0x61, 0xf3, 0x1d, 0x58, 0x88, 0xe3, 0x90, 0x5a, 0xa2, 0xc3, 0x9d, 0x36, 0x40, 0x92, 2663 0x9a, 0x56, 0x5b, 0x2f, 0x40, 0x76, 0x50, 0x43, 0x1d, 0xe3, 0x90, 0xe2, 0x73, 0x94, 0x01, 0xed, 2664 0x5c, 0x16, 0x95, 0x1a, 0x1f, 0x5d, 0x48, 0x6f, 0x6a, 0x17, 0xba, 0x0b, 0x6b, 0xc9, 0x9a, 0xab, 2665 0x41, 0xbc, 0x0b, 0x54, 0x87, 0xb9, 0x33, 0x1c, 0x52, 0xd7, 0xee, 0x47, 0xd1, 0x5b, 0xd7, 0x2a, 2666 0xe0, 0x84, 0x70, 0xa3, 0x0f, 0xa2, 0x7f, 0xa5, 0xc1, 0x02, 0x7b, 0x18, 0xfc, 0xe7, 0xdb, 0x56, 2667 0x37, 0x2a, 0xb7, 0x98, 0xaa, 0xc3, 0xe5, 0xd6, 0xef, 0x34, 0x98, 0xef, 0x53, 0xd1, 0x29, 0xe4, 2668 0x42, 0x7e, 0x73, 0x0c, 0x97, 0xbb, 0xd2, 0x96, 0xf7, 0x6f, 0x54, 0xec, 0x32, 0xc7, 0x1b, 0x48, 2669 0xc2, 0xaa, 0xad, 0x81, 0xe7, 0x29, 0x74, 0x03, 0x58, 0x1a, 0x7e, 0x8f, 0xb1, 0xc8, 0xe3, 0xff, 2670 0xcc, 0x89, 0x33, 0xc7, 0x7f, 0xdf, 0xb0, 0xba, 0x55, 0xf6, 0x73, 0x50, 0xdd, 0xea, 0x7f, 0xd2, 2671 0x60, 0x65, 0xf8, 0x89, 0x26, 0x5c, 0x16, 0xc0, 0xfa, 0x25, 0x4d, 0x02, 0xe9, 0xb5, 0x9b, 0xb7, 2672 0x08, 0x56, 0xc7, 0xb6, 0x08, 0x9e, 0xcb, 0x6f, 0x7f, 0x4e, 0x41, 0xfe, 0xb2, 0x87, 0x26, 0x7a, 2673 0x34, 0x08, 0xde, 0xa9, 0x1b, 0x05, 0xef, 0xc3, 0x17, 0x06, 0xe1, 0xfb, 0x22, 0xcc, 0xf1, 0x4b, 2674 0x2c, 0xfe, 0xeb, 0x72, 0x8a, 0x4d, 0x72, 0x4a, 0xcd, 0xf9, 0x2e, 0xda, 0x90, 0x57, 0x65, 0x95, 2675 0xc3, 0xfe, 0xf1, 0x48, 0x4d, 0x5c, 0x4a, 0x8c, 0xd9, 0xdf, 0xf8, 0xa0, 0xec, 0x66, 0x78, 0x66, 2676 0x67, 0xf6, 0xf8, 0x2d, 0x72, 0xff, 0x2f, 0x1a, 0xcc, 0xca, 0x57, 0x1c, 0x5a, 0x87, 0x95, 0xfd, 2677 0x6a, 0xb9, 0xf9, 0xd8, 0xa8, 0x9a, 0x8f, 0x0f, 0x8f, 0x1a, 0xd5, 0x4a, 0x6d, 0xbf, 0x56, 0xdd, 2678 0xcb, 0xbe, 0x80, 0x56, 0x60, 0xf9, 0xa0, 0xbc, 0x5b, 0x3d, 0x30, 0xf7, 0xaa, 0xcd, 0x6a, 0xa5, 2679 0x59, 0xab, 0x1f, 0x66, 0x35, 0xb4, 0x01, 0xab, 0x47, 0x0f, 0xeb, 0x4d, 0xb3, 0xf2, 0xb0, 0x7c, 2680 0xf8, 0x51, 0x55, 0x99, 0x4a, 0xa1, 0x2d, 0xd8, 0xac, 0x7e, 0xda, 0x38, 0xa8, 0x55, 0x6a, 0x4d, 2681 0xb3, 0x52, 0x3f, 0x6c, 0x56, 0x0f, 0x9b, 0xca, 0xfc, 0x14, 0x42, 0xb0, 0xb4, 0x5f, 0xae, 0xa8, 2682 0x3c, 0xd3, 0x28, 0x0f, 0xb9, 0xa3, 0x46, 0xb5, 0x5a, 0x79, 0x68, 0x36, 0x8d, 0xf2, 0xe1, 0x51, 2683 0xc5, 0xa8, 0x35, 0xf8, 0xcc, 0x0c, 0x5b, 0xdd, 0xac, 0x7e, 0xaa, 0x22, 0xcc, 0x32, 0x8d, 0xea, 2684 0xbb, 0x1f, 0x57, 0x2b, 0x4d, 0xb6, 0xba, 0xf2, 0xa8, 0x76, 0xf8, 0x51, 0x76, 0xfe, 0x7e, 0x08, 2685 0x28, 0xf9, 0x77, 0x12, 0x7a, 0x05, 0xb6, 0x47, 0x94, 0x37, 0x3f, 0xa9, 0xef, 0x8d, 0x9a, 0xb8, 2686 0x08, 0xf3, 0xdc, 0x1a, 0x36, 0x95, 0xd5, 0xd0, 0x12, 0xc0, 0xbe, 0x51, 0xfe, 0xa4, 0x2a, 0xc6, 2687 0x29, 0xe6, 0x1a, 0x3e, 0x5d, 0x3e, 0xdc, 0x33, 0x95, 0x89, 0xa9, 0xfb, 0x14, 0x60, 0xd0, 0xab, 2688 0x44, 0x9b, 0xb0, 0x76, 0x50, 0x7b, 0x54, 0x3d, 0xa8, 0x3d, 0xac, 0xd7, 0xf7, 0x46, 0x24, 0xdc, 2689 0x82, 0xc5, 0xe3, 0xaa, 0xf1, 0x99, 0xf9, 0xf8, 0x90, 0x2f, 0xf9, 0x2c, 0xab, 0xa1, 0x0c, 0xcc, 2690 0xf5, 0x47, 0x29, 0x36, 0x6a, 0xd4, 0x8f, 0x8e, 0x6a, 0xbb, 0x07, 0xd5, 0xec, 0x14, 0x02, 0x98, 2691 0x91, 0x33, 0xd3, 0x68, 0x19, 0x16, 0x38, 0xab, 0x24, 0xa4, 0x1f, 0xfc, 0x4b, 0x83, 0x3c, 0x8f, 2692 0xd7, 0x9a, 0xb2, 0xf1, 0x47, 0x38, 0x3c, 0x73, 0x6d, 0x8c, 0x7e, 0xaa, 0xc1, 0xe2, 0xd0, 0xc3, 2693 0x19, 0x4d, 0xd2, 0x15, 0x1d, 0xf7, 0xe1, 0xc2, 0xe6, 0x4b, 0x31, 0xa3, 0xf2, 0x45, 0x45, 0xa1, 2694 0x1e, 0x7f, 0x51, 0xa1, 0x6f, 0xfd, 0xe8, 0x1f, 0xff, 0xfc, 0x45, 0x2a, 0xaf, 0xaf, 0xf4, 0xbf, 2695 0xf7, 0x88, 0x4a, 0xf2, 0x09, 0x8d, 0x4b, 0xda, 0xfd, 0xcd, 0xe6, 0x37, 0xe5, 0xed, 0xa4, 0x30, 2696 0x01, 0x69, 0x05, 0x6e, 0x54, 0xb0, 0x49, 0xf7, 0xef, 0xe5, 0x42, 0x87, 0xd2, 0x20, 0x2a, 0x15, 2697 0x8b, 0x4f, 0x9f, 0x3e, 0x1d, 0x99, 0x2c, 0x5a, 0x3d, 0xda, 0x11, 0x1f, 0x99, 0xbc, 0x19, 0x78, 2698 0x16, 0x6d, 0x91, 0xb0, 0xbb, 0xfb, 0xb3, 0x14, 0xbc, 0x6a, 0x93, 0xee, 0xd5, 0x36, 0xed, 0xbe, 2699 0x74, 0x99, 0x8f, 0x1a, 0x2c, 0xb7, 0x34, 0xb4, 0xcf, 0x0d, 0x89, 0xd1, 0x26, 0xec, 0x75, 0x54, 2700 0x20, 0x61, 0xbb, 0xd8, 0xc6, 0x3e, 0xcf, 0x3c, 0xc5, 0x81, 0x26, 0xcf, 0xf8, 0xca, 0xe5, 0x83, 2701 0x04, 0xf1, 0xb7, 0xa9, 0xbb, 0x1f, 0x09, 0xd0, 0x0a, 0x57, 0x2c, 0xa1, 0x42, 0xe1, 0x78, 0xe7, 2702 0x9b, 0x78, 0xcd, 0x13, 0xbe, 0xe6, 0x49, 0x62, 0xcd, 0x93, 0xe3, 0x9d, 0x6f, 0x53, 0xaf, 0x88, 2703 0x35, 0xa5, 0x12, 0x5f, 0x54, 0x2a, 0x25, 0x56, 0x95, 0x4a, 0xc7, 0x3b, 0x27, 0x33, 0x5c, 0xdb, 2704 0xb7, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x6c, 0x11, 0x6a, 0x20, 0x92, 0x23, 0x00, 0x00, 2705} 2706 2707// Reference imports to suppress errors if they are not otherwise used. 2708var _ context.Context 2709var _ grpc.ClientConn 2710 2711// This is a compile-time assertion to ensure that this generated file 2712// is compatible with the grpc package it is being compiled against. 2713const _ = grpc.SupportPackageIsVersion4 2714 2715// VideoIntelligenceServiceClient is the client API for VideoIntelligenceService service. 2716// 2717// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 2718type VideoIntelligenceServiceClient interface { 2719 // Performs asynchronous video annotation. Progress and results can be 2720 // retrieved through the `google.longrunning.Operations` interface. 2721 // `Operation.metadata` contains `AnnotateVideoProgress` (progress). 2722 // `Operation.response` contains `AnnotateVideoResponse` (results). 2723 AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 2724} 2725 2726type videoIntelligenceServiceClient struct { 2727 cc *grpc.ClientConn 2728} 2729 2730func NewVideoIntelligenceServiceClient(cc *grpc.ClientConn) VideoIntelligenceServiceClient { 2731 return &videoIntelligenceServiceClient{cc} 2732} 2733 2734func (c *videoIntelligenceServiceClient) AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 2735 out := new(longrunning.Operation) 2736 err := c.cc.Invoke(ctx, "/google.cloud.videointelligence.v1.VideoIntelligenceService/AnnotateVideo", in, out, opts...) 2737 if err != nil { 2738 return nil, err 2739 } 2740 return out, nil 2741} 2742 2743// VideoIntelligenceServiceServer is the server API for VideoIntelligenceService service. 2744type VideoIntelligenceServiceServer interface { 2745 // Performs asynchronous video annotation. Progress and results can be 2746 // retrieved through the `google.longrunning.Operations` interface. 2747 // `Operation.metadata` contains `AnnotateVideoProgress` (progress). 2748 // `Operation.response` contains `AnnotateVideoResponse` (results). 2749 AnnotateVideo(context.Context, *AnnotateVideoRequest) (*longrunning.Operation, error) 2750} 2751 2752func RegisterVideoIntelligenceServiceServer(s *grpc.Server, srv VideoIntelligenceServiceServer) { 2753 s.RegisterService(&_VideoIntelligenceService_serviceDesc, srv) 2754} 2755 2756func _VideoIntelligenceService_AnnotateVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2757 in := new(AnnotateVideoRequest) 2758 if err := dec(in); err != nil { 2759 return nil, err 2760 } 2761 if interceptor == nil { 2762 return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, in) 2763 } 2764 info := &grpc.UnaryServerInfo{ 2765 Server: srv, 2766 FullMethod: "/google.cloud.videointelligence.v1.VideoIntelligenceService/AnnotateVideo", 2767 } 2768 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2769 return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, req.(*AnnotateVideoRequest)) 2770 } 2771 return interceptor(ctx, in, info, handler) 2772} 2773 2774var _VideoIntelligenceService_serviceDesc = grpc.ServiceDesc{ 2775 ServiceName: "google.cloud.videointelligence.v1.VideoIntelligenceService", 2776 HandlerType: (*VideoIntelligenceServiceServer)(nil), 2777 Methods: []grpc.MethodDesc{ 2778 { 2779 MethodName: "AnnotateVideo", 2780 Handler: _VideoIntelligenceService_AnnotateVideo_Handler, 2781 }, 2782 }, 2783 Streams: []grpc.StreamDesc{}, 2784 Metadata: "google/cloud/videointelligence/v1/video_intelligence.proto", 2785} 2786