# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/videointelligence_v1/proto/video_intelligence.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/cloud/videointelligence_v1/proto/video_intelligence.proto',
  package='google.cloud.videointelligence.v1',
  syntax='proto3',
  serialized_pb=_b('\n@google/cloud/videointelligence_v1/proto/video_intelligence.proto\x12!google.cloud.videointelligence.v1\x1a\x1cgoogle/api/annotations.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xef\x01\n\x14\x41nnotateVideoRequest\x12\x11\n\tinput_uri\x18\x01 \x01(\t\x12\x15\n\rinput_content\x18\x06 \x01(\x0c\x12<\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0e\x32*.google.cloud.videointelligence.v1.Feature\x12\x46\n\rvideo_context\x18\x03 \x01(\x0b\x32/.google.cloud.videointelligence.v1.VideoContext\x12\x12\n\noutput_uri\x18\x04 \x01(\t\x12\x13\n\x0blocation_id\x18\x05 \x01(\t\"\xd3\x03\n\x0cVideoContext\x12\x41\n\x08segments\x18\x01 \x03(\x0b\x32/.google.cloud.videointelligence.v1.VideoSegment\x12W\n\x16label_detection_config\x18\x02 \x01(\x0b\x32\x37.google.cloud.videointelligence.v1.LabelDetectionConfig\x12\x62\n\x1cshot_change_detection_config\x18\x03 \x01(\x0b\x32<.google.cloud.videointelligence.v1.ShotChangeDetectionConfig\x12l\n!explicit_content_detection_config\x18\x04 \x01(\x0b\x32\x41.google.cloud.videointelligence.v1.ExplicitContentDetectionConfig\x12U\n\x15\x66\x61\x63\x65_detection_config\x18\x05 \x01(\x0b\x32\x36.google.cloud.videointelligence.v1.FaceDetectionConfig\"\x95\x01\n\x14LabelDetectionConfig\x12S\n\x14label_detection_mode\x18\x01 \x01(\x0e\x32\x35.google.cloud.videointelligence.v1.LabelDetectionMode\x12\x19\n\x11stationary_camera\x18\x02 \x01(\x08\x12\r\n\x05model\x18\x03 \x01(\t\"*\n\x19ShotChangeDetectionConfig\x12\r\n\x05model\x18\x01 \x01(\t\"/\n\x1e\x45xplicitContentDetectionConfig\x12\r\n\x05model\x18\x01 \x01(\t\"D\n\x13\x46\x61\x63\x65\x44\x65tectionConfig\x12\r\n\x05model\x18\x01 \x01(\t\x12\x1e\n\x16include_bounding_boxes\x18\x02 \x01(\x08\"x\n\x0cVideoSegment\x12\x34\n\x11start_time_offset\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x32\n\x0f\x65nd_time_offset\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"d\n\x0cLabelSegment\x12@\n\x07segment\x18\x01 \x01(\x0b\x32/.google.cloud.videointelligence.v1.VideoSegment\x12\x12\n\nconfidence\x18\x02 \x01(\x02\"P\n\nLabelFrame\x12.\n\x0btime_offset\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x12\n\nconfidence\x18\x02 \x01(\x02\"G\n\x06\x45ntity\x12\x11\n\tentity_id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x15\n\rlanguage_code\x18\x03 \x01(\t\"\x94\x02\n\x0fLabelAnnotation\x12\x39\n\x06\x65ntity\x18\x01 \x01(\x0b\x32).google.cloud.videointelligence.v1.Entity\x12\x44\n\x11\x63\x61tegory_entities\x18\x02 \x03(\x0b\x32).google.cloud.videointelligence.v1.Entity\x12\x41\n\x08segments\x18\x03 \x03(\x0b\x32/.google.cloud.videointelligence.v1.LabelSegment\x12=\n\x06\x66rames\x18\x04 \x03(\x0b\x32-.google.cloud.videointelligence.v1.LabelFrame\"\x95\x01\n\x14\x45xplicitContentFrame\x12.\n\x0btime_offset\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12M\n\x16pornography_likelihood\x18\x02 \x01(\x0e\x32-.google.cloud.videointelligence.v1.Likelihood\"d\n\x19\x45xplicitContentAnnotation\x12G\n\x06\x66rames\x18\x01 \x03(\x0b\x32\x37.google.cloud.videointelligence.v1.ExplicitContentFrame\"Q\n\x15NormalizedBoundingBox\x12\x0c\n\x04left\x18\x01 \x01(\x02\x12\x0b\n\x03top\x18\x02 \x01(\x02\x12\r\n\x05right\x18\x03 \x01(\x02\x12\x0e\n\x06\x62ottom\x18\x04 \x01(\x02\"O\n\x0b\x46\x61\x63\x65Segment\x12@\n\x07segment\x18\x01 \x01(\x0b\x32/.google.cloud.videointelligence.v1.VideoSegment\"\x98\x01\n\tFaceFrame\x12[\n\x19normalized_bounding_boxes\x18\x01 \x03(\x0b\x32\x38.google.cloud.videointelligence.v1.NormalizedBoundingBox\x12.\n\x0btime_offset\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\xa3\x01\n\x0e\x46\x61\x63\x65\x41nnotation\x12\x11\n\tthumbnail\x18\x01 \x01(\x0c\x12@\n\x08segments\x18\x02 \x03(\x0b\x32..google.cloud.videointelligence.v1.FaceSegment\x12<\n\x06\x66rames\x18\x03 \x03(\x0b\x32,.google.cloud.videointelligence.v1.FaceFrame\"\xc1\x04\n\x16VideoAnnotationResults\x12\x11\n\tinput_uri\x18\x01 \x01(\t\x12U\n\x19segment_label_annotations\x18\x02 \x03(\x0b\x32\x32.google.cloud.videointelligence.v1.LabelAnnotation\x12R\n\x16shot_label_annotations\x18\x03 \x03(\x0b\x32\x32.google.cloud.videointelligence.v1.LabelAnnotation\x12S\n\x17\x66rame_label_annotations\x18\x04 \x03(\x0b\x32\x32.google.cloud.videointelligence.v1.LabelAnnotation\x12K\n\x10\x66\x61\x63\x65_annotations\x18\x05 \x03(\x0b\x32\x31.google.cloud.videointelligence.v1.FaceAnnotation\x12I\n\x10shot_annotations\x18\x06 \x03(\x0b\x32/.google.cloud.videointelligence.v1.VideoSegment\x12Y\n\x13\x65xplicit_annotation\x18\x07 \x01(\x0b\x32<.google.cloud.videointelligence.v1.ExplicitContentAnnotation\x12!\n\x05\x65rror\x18\t \x01(\x0b\x32\x12.google.rpc.Status\"n\n\x15\x41nnotateVideoResponse\x12U\n\x12\x61nnotation_results\x18\x01 \x03(\x0b\x32\x39.google.cloud.videointelligence.v1.VideoAnnotationResults\"\xa7\x01\n\x17VideoAnnotationProgress\x12\x11\n\tinput_uri\x18\x01 \x01(\t\x12\x18\n\x10progress_percent\x18\x02 \x01(\x05\x12.\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"p\n\x15\x41nnotateVideoProgress\x12W\n\x13\x61nnotation_progress\x18\x01 \x03(\x0b\x32:.google.cloud.videointelligence.v1.VideoAnnotationProgress*\x86\x01\n\x07\x46\x65\x61ture\x12\x17\n\x13\x46\x45\x41TURE_UNSPECIFIED\x10\x00\x12\x13\n\x0fLABEL_DETECTION\x10\x01\x12\x19\n\x15SHOT_CHANGE_DETECTION\x10\x02\x12\x1e\n\x1a\x45XPLICIT_CONTENT_DETECTION\x10\x03\x12\x12\n\x0e\x46\x41\x43\x45_DETECTION\x10\x04*r\n\x12LabelDetectionMode\x12$\n LABEL_DETECTION_MODE_UNSPECIFIED\x10\x00\x12\r\n\tSHOT_MODE\x10\x01\x12\x0e\n\nFRAME_MODE\x10\x02\x12\x17\n\x13SHOT_AND_FRAME_MODE\x10\x03*t\n\nLikelihood\x12\x1a\n\x16LIKELIHOOD_UNSPECIFIED\x10\x00\x12\x11\n\rVERY_UNLIKELY\x10\x01\x12\x0c\n\x08UNLIKELY\x10\x02\x12\x0c\n\x08POSSIBLE\x10\x03\x12\n\n\x06LIKELY\x10\x04\x12\x0f\n\x0bVERY_LIKELY\x10\x05\x32\xa4\x01\n\x18VideoIntelligenceService\x12\x87\x01\n\rAnnotateVideo\x12\x37.google.cloud.videointelligence.v1.AnnotateVideoRequest\x1a\x1d.google.longrunning.Operation\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/videos:annotate:\x01*B\xc0\x01\n%com.google.cloud.videointelligence.v1B\x1dVideoIntelligenceServiceProtoP\x01ZRgoogle.golang.org/genproto/googleapis/cloud/videointelligence/v1;videointelligence\xaa\x02!Google.Cloud.VideoIntelligence.V1b\x06proto3')
  ,
  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_longrunning_dot_operations__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

_FEATURE = _descriptor.EnumDescriptor(
  name='Feature',
  full_name='google.cloud.videointelligence.v1.Feature',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='FEATURE_UNSPECIFIED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LABEL_DETECTION', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SHOT_CHANGE_DETECTION', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXPLICIT_CONTENT_DETECTION', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FACE_DETECTION', index=4, number=4,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3661,
  serialized_end=3795,
)
_sym_db.RegisterEnumDescriptor(_FEATURE)

Feature = enum_type_wrapper.EnumTypeWrapper(_FEATURE)
_LABELDETECTIONMODE = _descriptor.EnumDescriptor(
  name='LabelDetectionMode',
  full_name='google.cloud.videointelligence.v1.LabelDetectionMode',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='LABEL_DETECTION_MODE_UNSPECIFIED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SHOT_MODE', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FRAME_MODE', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SHOT_AND_FRAME_MODE', index=3, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3797,
  serialized_end=3911,
)
_sym_db.RegisterEnumDescriptor(_LABELDETECTIONMODE)

LabelDetectionMode = enum_type_wrapper.EnumTypeWrapper(_LABELDETECTIONMODE)
_LIKELIHOOD = _descriptor.EnumDescriptor(
  name='Likelihood',
  full_name='google.cloud.videointelligence.v1.Likelihood',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='LIKELIHOOD_UNSPECIFIED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VERY_UNLIKELY', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNLIKELY', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='POSSIBLE', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LIKELY', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VERY_LIKELY', index=5, number=5,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3913,
  serialized_end=4029,
)
_sym_db.RegisterEnumDescriptor(_LIKELIHOOD)

Likelihood = enum_type_wrapper.EnumTypeWrapper(_LIKELIHOOD)
FEATURE_UNSPECIFIED = 0
LABEL_DETECTION = 1
SHOT_CHANGE_DETECTION = 2
EXPLICIT_CONTENT_DETECTION = 3
FACE_DETECTION = 4
LABEL_DETECTION_MODE_UNSPECIFIED = 0
SHOT_MODE = 1
FRAME_MODE = 2
SHOT_AND_FRAME_MODE = 3
LIKELIHOOD_UNSPECIFIED = 0
VERY_UNLIKELY = 1
UNLIKELY = 2
POSSIBLE = 3
LIKELY = 4
VERY_LIKELY = 5



_ANNOTATEVIDEOREQUEST = _descriptor.Descriptor(
  name='AnnotateVideoRequest',
  full_name='google.cloud.videointelligence.v1.AnnotateVideoRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='input_uri', full_name='google.cloud.videointelligence.v1.AnnotateVideoRequest.input_uri', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='input_content', full_name='google.cloud.videointelligence.v1.AnnotateVideoRequest.input_content', index=1,
      number=6, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='features', full_name='google.cloud.videointelligence.v1.AnnotateVideoRequest.features', index=2,
      number=2, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='video_context', full_name='google.cloud.videointelligence.v1.AnnotateVideoRequest.video_context', index=3,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='output_uri', full_name='google.cloud.videointelligence.v1.AnnotateVideoRequest.output_uri', index=4,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='location_id', full_name='google.cloud.videointelligence.v1.AnnotateVideoRequest.location_id', index=5,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=261,
  serialized_end=500,
)


_VIDEOCONTEXT = _descriptor.Descriptor(
  name='VideoContext',
  full_name='google.cloud.videointelligence.v1.VideoContext',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='segments', full_name='google.cloud.videointelligence.v1.VideoContext.segments', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='label_detection_config', full_name='google.cloud.videointelligence.v1.VideoContext.label_detection_config', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='shot_change_detection_config', full_name='google.cloud.videointelligence.v1.VideoContext.shot_change_detection_config', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='explicit_content_detection_config', full_name='google.cloud.videointelligence.v1.VideoContext.explicit_content_detection_config', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='face_detection_config', full_name='google.cloud.videointelligence.v1.VideoContext.face_detection_config', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=503,
  serialized_end=970,
)


_LABELDETECTIONCONFIG = _descriptor.Descriptor(
  name='LabelDetectionConfig',
  full_name='google.cloud.videointelligence.v1.LabelDetectionConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='label_detection_mode', full_name='google.cloud.videointelligence.v1.LabelDetectionConfig.label_detection_mode', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='stationary_camera', full_name='google.cloud.videointelligence.v1.LabelDetectionConfig.stationary_camera', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='model', full_name='google.cloud.videointelligence.v1.LabelDetectionConfig.model', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=973,
  serialized_end=1122,
)


_SHOTCHANGEDETECTIONCONFIG = _descriptor.Descriptor(
  name='ShotChangeDetectionConfig',
  full_name='google.cloud.videointelligence.v1.ShotChangeDetectionConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='model', full_name='google.cloud.videointelligence.v1.ShotChangeDetectionConfig.model', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1124,
  serialized_end=1166,
)


_EXPLICITCONTENTDETECTIONCONFIG = _descriptor.Descriptor(
  name='ExplicitContentDetectionConfig',
  full_name='google.cloud.videointelligence.v1.ExplicitContentDetectionConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='model', full_name='google.cloud.videointelligence.v1.ExplicitContentDetectionConfig.model', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1168,
  serialized_end=1215,
)


_FACEDETECTIONCONFIG = _descriptor.Descriptor(
  name='FaceDetectionConfig',
  full_name='google.cloud.videointelligence.v1.FaceDetectionConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='model', full_name='google.cloud.videointelligence.v1.FaceDetectionConfig.model', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='include_bounding_boxes', full_name='google.cloud.videointelligence.v1.FaceDetectionConfig.include_bounding_boxes', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1217,
  serialized_end=1285,
)


_VIDEOSEGMENT = _descriptor.Descriptor(
  name='VideoSegment',
  full_name='google.cloud.videointelligence.v1.VideoSegment',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='start_time_offset', full_name='google.cloud.videointelligence.v1.VideoSegment.start_time_offset', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='end_time_offset', full_name='google.cloud.videointelligence.v1.VideoSegment.end_time_offset', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1287,
  serialized_end=1407,
)


_LABELSEGMENT = _descriptor.Descriptor(
  name='LabelSegment',
  full_name='google.cloud.videointelligence.v1.LabelSegment',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='segment', full_name='google.cloud.videointelligence.v1.LabelSegment.segment', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='confidence', full_name='google.cloud.videointelligence.v1.LabelSegment.confidence', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1409,
  serialized_end=1509,
)


_LABELFRAME = _descriptor.Descriptor(
  name='LabelFrame',
  full_name='google.cloud.videointelligence.v1.LabelFrame',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='time_offset', full_name='google.cloud.videointelligence.v1.LabelFrame.time_offset', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='confidence', full_name='google.cloud.videointelligence.v1.LabelFrame.confidence', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1511,
  serialized_end=1591,
)


_ENTITY = _descriptor.Descriptor(
  name='Entity',
  full_name='google.cloud.videointelligence.v1.Entity',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='entity_id', full_name='google.cloud.videointelligence.v1.Entity.entity_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='description', full_name='google.cloud.videointelligence.v1.Entity.description', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='language_code', full_name='google.cloud.videointelligence.v1.Entity.language_code', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1593,
  serialized_end=1664,
)


_LABELANNOTATION = _descriptor.Descriptor(
  name='LabelAnnotation',
  full_name='google.cloud.videointelligence.v1.LabelAnnotation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='entity', full_name='google.cloud.videointelligence.v1.LabelAnnotation.entity', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='category_entities', full_name='google.cloud.videointelligence.v1.LabelAnnotation.category_entities', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='segments', full_name='google.cloud.videointelligence.v1.LabelAnnotation.segments', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='frames', full_name='google.cloud.videointelligence.v1.LabelAnnotation.frames', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1667,
  serialized_end=1943,
)


_EXPLICITCONTENTFRAME = _descriptor.Descriptor(
  name='ExplicitContentFrame',
  full_name='google.cloud.videointelligence.v1.ExplicitContentFrame',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='time_offset', full_name='google.cloud.videointelligence.v1.ExplicitContentFrame.time_offset', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='pornography_likelihood', full_name='google.cloud.videointelligence.v1.ExplicitContentFrame.pornography_likelihood', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1946,
  serialized_end=2095,
)


_EXPLICITCONTENTANNOTATION = _descriptor.Descriptor(
  name='ExplicitContentAnnotation',
  full_name='google.cloud.videointelligence.v1.ExplicitContentAnnotation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='frames', full_name='google.cloud.videointelligence.v1.ExplicitContentAnnotation.frames', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2097,
  serialized_end=2197,
)


_NORMALIZEDBOUNDINGBOX = _descriptor.Descriptor(
  name='NormalizedBoundingBox',
  full_name='google.cloud.videointelligence.v1.NormalizedBoundingBox',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='left', full_name='google.cloud.videointelligence.v1.NormalizedBoundingBox.left', index=0,
      number=1, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='top', full_name='google.cloud.videointelligence.v1.NormalizedBoundingBox.top', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='right', full_name='google.cloud.videointelligence.v1.NormalizedBoundingBox.right', index=2,
      number=3, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='bottom', full_name='google.cloud.videointelligence.v1.NormalizedBoundingBox.bottom', index=3,
      number=4, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2199,
  serialized_end=2280,
)


_FACESEGMENT = _descriptor.Descriptor(
  name='FaceSegment',
  full_name='google.cloud.videointelligence.v1.FaceSegment',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='segment', full_name='google.cloud.videointelligence.v1.FaceSegment.segment', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2282,
  serialized_end=2361,
)


_FACEFRAME = _descriptor.Descriptor(
  name='FaceFrame',
  full_name='google.cloud.videointelligence.v1.FaceFrame',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='normalized_bounding_boxes', full_name='google.cloud.videointelligence.v1.FaceFrame.normalized_bounding_boxes', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='time_offset', full_name='google.cloud.videointelligence.v1.FaceFrame.time_offset', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2364,
  serialized_end=2516,
)


_FACEANNOTATION = _descriptor.Descriptor(
  name='FaceAnnotation',
  full_name='google.cloud.videointelligence.v1.FaceAnnotation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='thumbnail', full_name='google.cloud.videointelligence.v1.FaceAnnotation.thumbnail', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='segments', full_name='google.cloud.videointelligence.v1.FaceAnnotation.segments', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='frames', full_name='google.cloud.videointelligence.v1.FaceAnnotation.frames', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2519,
  serialized_end=2682,
)


_VIDEOANNOTATIONRESULTS = _descriptor.Descriptor(
  name='VideoAnnotationResults',
  full_name='google.cloud.videointelligence.v1.VideoAnnotationResults',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='input_uri', full_name='google.cloud.videointelligence.v1.VideoAnnotationResults.input_uri', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='segment_label_annotations', full_name='google.cloud.videointelligence.v1.VideoAnnotationResults.segment_label_annotations', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='shot_label_annotations', full_name='google.cloud.videointelligence.v1.VideoAnnotationResults.shot_label_annotations', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='frame_label_annotations', full_name='google.cloud.videointelligence.v1.VideoAnnotationResults.frame_label_annotations', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='face_annotations', full_name='google.cloud.videointelligence.v1.VideoAnnotationResults.face_annotations', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='shot_annotations', full_name='google.cloud.videointelligence.v1.VideoAnnotationResults.shot_annotations', index=5,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='explicit_annotation', full_name='google.cloud.videointelligence.v1.VideoAnnotationResults.explicit_annotation', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='error', full_name='google.cloud.videointelligence.v1.VideoAnnotationResults.error', index=7,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2685,
  serialized_end=3262,
)


_ANNOTATEVIDEORESPONSE = _descriptor.Descriptor(
  name='AnnotateVideoResponse',
  full_name='google.cloud.videointelligence.v1.AnnotateVideoResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='annotation_results', full_name='google.cloud.videointelligence.v1.AnnotateVideoResponse.annotation_results', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3264,
  serialized_end=3374,
)


_VIDEOANNOTATIONPROGRESS = _descriptor.Descriptor(
  name='VideoAnnotationProgress',
  full_name='google.cloud.videointelligence.v1.VideoAnnotationProgress',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='input_uri', full_name='google.cloud.videointelligence.v1.VideoAnnotationProgress.input_uri', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='progress_percent', full_name='google.cloud.videointelligence.v1.VideoAnnotationProgress.progress_percent', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='start_time', full_name='google.cloud.videointelligence.v1.VideoAnnotationProgress.start_time', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='update_time', full_name='google.cloud.videointelligence.v1.VideoAnnotationProgress.update_time', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3377,
  serialized_end=3544,
)


_ANNOTATEVIDEOPROGRESS = _descriptor.Descriptor(
  name='AnnotateVideoProgress',
  full_name='google.cloud.videointelligence.v1.AnnotateVideoProgress',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='annotation_progress', full_name='google.cloud.videointelligence.v1.AnnotateVideoProgress.annotation_progress', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3546,
  serialized_end=3658,
)

_ANNOTATEVIDEOREQUEST.fields_by_name['features'].enum_type = _FEATURE
_ANNOTATEVIDEOREQUEST.fields_by_name['video_context'].message_type = _VIDEOCONTEXT
_VIDEOCONTEXT.fields_by_name['segments'].message_type = _VIDEOSEGMENT
_VIDEOCONTEXT.fields_by_name['label_detection_config'].message_type = _LABELDETECTIONCONFIG
_VIDEOCONTEXT.fields_by_name['shot_change_detection_config'].message_type = _SHOTCHANGEDETECTIONCONFIG
_VIDEOCONTEXT.fields_by_name['explicit_content_detection_config'].message_type = _EXPLICITCONTENTDETECTIONCONFIG
_VIDEOCONTEXT.fields_by_name['face_detection_config'].message_type = _FACEDETECTIONCONFIG
_LABELDETECTIONCONFIG.fields_by_name['label_detection_mode'].enum_type = _LABELDETECTIONMODE
_VIDEOSEGMENT.fields_by_name['start_time_offset'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
_VIDEOSEGMENT.fields_by_name['end_time_offset'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
_LABELSEGMENT.fields_by_name['segment'].message_type = _VIDEOSEGMENT
_LABELFRAME.fields_by_name['time_offset'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
_LABELANNOTATION.fields_by_name['entity'].message_type = _ENTITY
_LABELANNOTATION.fields_by_name['category_entities'].message_type = _ENTITY
_LABELANNOTATION.fields_by_name['segments'].message_type = _LABELSEGMENT
_LABELANNOTATION.fields_by_name['frames'].message_type = _LABELFRAME
_EXPLICITCONTENTFRAME.fields_by_name['time_offset'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
_EXPLICITCONTENTFRAME.fields_by_name['pornography_likelihood'].enum_type = _LIKELIHOOD
_EXPLICITCONTENTANNOTATION.fields_by_name['frames'].message_type = _EXPLICITCONTENTFRAME
_FACESEGMENT.fields_by_name['segment'].message_type = _VIDEOSEGMENT
_FACEFRAME.fields_by_name['normalized_bounding_boxes'].message_type = _NORMALIZEDBOUNDINGBOX
_FACEFRAME.fields_by_name['time_offset'].message_type = google_dot_protobuf_dot_duration__pb2._DURATION
_FACEANNOTATION.fields_by_name['segments'].message_type = _FACESEGMENT
_FACEANNOTATION.fields_by_name['frames'].message_type = _FACEFRAME
_VIDEOANNOTATIONRESULTS.fields_by_name['segment_label_annotations'].message_type = _LABELANNOTATION
_VIDEOANNOTATIONRESULTS.fields_by_name['shot_label_annotations'].message_type = _LABELANNOTATION
_VIDEOANNOTATIONRESULTS.fields_by_name['frame_label_annotations'].message_type = _LABELANNOTATION
_VIDEOANNOTATIONRESULTS.fields_by_name['face_annotations'].message_type = _FACEANNOTATION
_VIDEOANNOTATIONRESULTS.fields_by_name['shot_annotations'].message_type = _VIDEOSEGMENT
_VIDEOANNOTATIONRESULTS.fields_by_name['explicit_annotation'].message_type = _EXPLICITCONTENTANNOTATION
_VIDEOANNOTATIONRESULTS.fields_by_name['error'].message_type = google_dot_rpc_dot_status__pb2._STATUS
_ANNOTATEVIDEORESPONSE.fields_by_name['annotation_results'].message_type = _VIDEOANNOTATIONRESULTS
_VIDEOANNOTATIONPROGRESS.fields_by_name['start_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_VIDEOANNOTATIONPROGRESS.fields_by_name['update_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_ANNOTATEVIDEOPROGRESS.fields_by_name['annotation_progress'].message_type = _VIDEOANNOTATIONPROGRESS
DESCRIPTOR.message_types_by_name['AnnotateVideoRequest'] = _ANNOTATEVIDEOREQUEST
DESCRIPTOR.message_types_by_name['VideoContext'] = _VIDEOCONTEXT
DESCRIPTOR.message_types_by_name['LabelDetectionConfig'] = _LABELDETECTIONCONFIG
DESCRIPTOR.message_types_by_name['ShotChangeDetectionConfig'] = _SHOTCHANGEDETECTIONCONFIG
DESCRIPTOR.message_types_by_name['ExplicitContentDetectionConfig'] = _EXPLICITCONTENTDETECTIONCONFIG
DESCRIPTOR.message_types_by_name['FaceDetectionConfig'] = _FACEDETECTIONCONFIG
DESCRIPTOR.message_types_by_name['VideoSegment'] = _VIDEOSEGMENT
DESCRIPTOR.message_types_by_name['LabelSegment'] = _LABELSEGMENT
DESCRIPTOR.message_types_by_name['LabelFrame'] = _LABELFRAME
DESCRIPTOR.message_types_by_name['Entity'] = _ENTITY
DESCRIPTOR.message_types_by_name['LabelAnnotation'] = _LABELANNOTATION
DESCRIPTOR.message_types_by_name['ExplicitContentFrame'] = _EXPLICITCONTENTFRAME
DESCRIPTOR.message_types_by_name['ExplicitContentAnnotation'] = _EXPLICITCONTENTANNOTATION
DESCRIPTOR.message_types_by_name['NormalizedBoundingBox'] = _NORMALIZEDBOUNDINGBOX
DESCRIPTOR.message_types_by_name['FaceSegment'] = _FACESEGMENT
DESCRIPTOR.message_types_by_name['FaceFrame'] = _FACEFRAME
DESCRIPTOR.message_types_by_name['FaceAnnotation'] = _FACEANNOTATION
DESCRIPTOR.message_types_by_name['VideoAnnotationResults'] = _VIDEOANNOTATIONRESULTS
DESCRIPTOR.message_types_by_name['AnnotateVideoResponse'] = _ANNOTATEVIDEORESPONSE
DESCRIPTOR.message_types_by_name['VideoAnnotationProgress'] = _VIDEOANNOTATIONPROGRESS
DESCRIPTOR.message_types_by_name['AnnotateVideoProgress'] = _ANNOTATEVIDEOPROGRESS
DESCRIPTOR.enum_types_by_name['Feature'] = _FEATURE
DESCRIPTOR.enum_types_by_name['LabelDetectionMode'] = _LABELDETECTIONMODE
DESCRIPTOR.enum_types_by_name['Likelihood'] = _LIKELIHOOD

AnnotateVideoRequest = _reflection.GeneratedProtocolMessageType('AnnotateVideoRequest', (_message.Message,), dict(
  DESCRIPTOR = _ANNOTATEVIDEOREQUEST,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Video annotation request.
  
  
  Attributes:
      input_uri:
          Input video location. Currently, only `Google Cloud Storage
          <https://cloud.google.com/storage/>`__ URIs are supported,
          which must be specified in the following format:
          ``gs://bucket-id/object-id`` (other URI formats return [google
          .rpc.Code.INVALID\_ARGUMENT][google.rpc.Code.INVALID\_ARGUMENT
          ]). For more information, see `Request URIs
          </storage/docs/reference-uris>`__. A video URI may include
          wildcards in ``object-id``, and thus identify multiple videos.
          Supported wildcards: '\*' to match 0 or more characters; '?'
          to match 1 character. If unset, the input video should be
          embedded in the request as ``input_content``. If set,
          ``input_content`` should be unset.
      input_content:
          The video data bytes. If unset, the input video(s) should be
          specified via ``input_uri``. If set, ``input_uri`` should be
          unset.
      features:
          Requested video annotation features.
      video_context:
          Additional video context and/or feature-specific parameters.
      output_uri:
          Optional location where the output (in JSON format) should be
          stored. Currently, only `Google Cloud Storage
          <https://cloud.google.com/storage/>`__ URIs are supported,
          which must be specified in the following format:
          ``gs://bucket-id/object-id`` (other URI formats return [google
          .rpc.Code.INVALID\_ARGUMENT][google.rpc.Code.INVALID\_ARGUMENT
          ]). For more information, see `Request URIs
          </storage/docs/reference-uris>`__.
      location_id:
          Optional cloud region where annotation should take place.
          Supported cloud regions: ``us-east1``, ``us-west1``, ``europe-
          west1``, ``asia-east1``. If no region is specified, a region
          will be determined based on video file location.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.AnnotateVideoRequest)
  ))
_sym_db.RegisterMessage(AnnotateVideoRequest)

VideoContext = _reflection.GeneratedProtocolMessageType('VideoContext', (_message.Message,), dict(
  DESCRIPTOR = _VIDEOCONTEXT,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Video context and/or feature-specific parameters.
  
  
  Attributes:
      segments:
          Video segments to annotate. The segments may overlap and are
          not required to be contiguous or span the whole video. If
          unspecified, each video is treated as a single segment.
      label_detection_config:
          Config for LABEL\_DETECTION.
      shot_change_detection_config:
          Config for SHOT\_CHANGE\_DETECTION.
      explicit_content_detection_config:
          Config for EXPLICIT\_CONTENT\_DETECTION.
      face_detection_config:
          Config for FACE\_DETECTION.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.VideoContext)
  ))
_sym_db.RegisterMessage(VideoContext)

LabelDetectionConfig = _reflection.GeneratedProtocolMessageType('LabelDetectionConfig', (_message.Message,), dict(
  DESCRIPTOR = _LABELDETECTIONCONFIG,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Config for LABEL\_DETECTION.
  
  
  Attributes:
      label_detection_mode:
          What labels should be detected with LABEL\_DETECTION, in
          addition to video-level labels or segment-level labels. If
          unspecified, defaults to ``SHOT_MODE``.
      stationary_camera:
          Whether the video has been shot from a stationary (i.e. non-
          moving) camera. When set to true, might improve detection
          accuracy for moving objects. Should be used with
          ``SHOT_AND_FRAME_MODE`` enabled.
      model:
          Model to use for label detection. Supported values:
          "builtin/stable" (the default if unset) and "builtin/latest".
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.LabelDetectionConfig)
  ))
_sym_db.RegisterMessage(LabelDetectionConfig)

ShotChangeDetectionConfig = _reflection.GeneratedProtocolMessageType('ShotChangeDetectionConfig', (_message.Message,), dict(
  DESCRIPTOR = _SHOTCHANGEDETECTIONCONFIG,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Config for SHOT\_CHANGE\_DETECTION.
  
  
  Attributes:
      model:
          Model to use for shot change detection. Supported values:
          "builtin/stable" (the default if unset) and "builtin/latest".
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.ShotChangeDetectionConfig)
  ))
_sym_db.RegisterMessage(ShotChangeDetectionConfig)

ExplicitContentDetectionConfig = _reflection.GeneratedProtocolMessageType('ExplicitContentDetectionConfig', (_message.Message,), dict(
  DESCRIPTOR = _EXPLICITCONTENTDETECTIONCONFIG,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Config for EXPLICIT\_CONTENT\_DETECTION.
  
  
  Attributes:
      model:
          Model to use for explicit content detection. Supported values:
          "builtin/stable" (the default if unset) and "builtin/latest".
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.ExplicitContentDetectionConfig)
  ))
_sym_db.RegisterMessage(ExplicitContentDetectionConfig)

FaceDetectionConfig = _reflection.GeneratedProtocolMessageType('FaceDetectionConfig', (_message.Message,), dict(
  DESCRIPTOR = _FACEDETECTIONCONFIG,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Config for FACE\_DETECTION.
  
  
  Attributes:
      model:
          Model to use for face detection. Supported values:
          "builtin/stable" (the default if unset) and "builtin/latest".
      include_bounding_boxes:
          Whether bounding boxes be included in the face annotation
          output.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.FaceDetectionConfig)
  ))
_sym_db.RegisterMessage(FaceDetectionConfig)

VideoSegment = _reflection.GeneratedProtocolMessageType('VideoSegment', (_message.Message,), dict(
  DESCRIPTOR = _VIDEOSEGMENT,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Video segment.
  
  
  Attributes:
      start_time_offset:
          Time-offset, relative to the beginning of the video,
          corresponding to the start of the segment (inclusive).
      end_time_offset:
          Time-offset, relative to the beginning of the video,
          corresponding to the end of the segment (inclusive).
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.VideoSegment)
  ))
_sym_db.RegisterMessage(VideoSegment)

LabelSegment = _reflection.GeneratedProtocolMessageType('LabelSegment', (_message.Message,), dict(
  DESCRIPTOR = _LABELSEGMENT,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Video segment level annotation results for label detection.
  
  
  Attributes:
      segment:
          Video segment where a label was detected.
      confidence:
          Confidence that the label is accurate. Range: [0, 1].
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.LabelSegment)
  ))
_sym_db.RegisterMessage(LabelSegment)

LabelFrame = _reflection.GeneratedProtocolMessageType('LabelFrame', (_message.Message,), dict(
  DESCRIPTOR = _LABELFRAME,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Video frame level annotation results for label detection.
  
  
  Attributes:
      time_offset:
          Time-offset, relative to the beginning of the video,
          corresponding to the video frame for this location.
      confidence:
          Confidence that the label is accurate. Range: [0, 1].
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.LabelFrame)
  ))
_sym_db.RegisterMessage(LabelFrame)

Entity = _reflection.GeneratedProtocolMessageType('Entity', (_message.Message,), dict(
  DESCRIPTOR = _ENTITY,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Detected entity from video analysis.
  
  
  Attributes:
      entity_id:
          Opaque entity ID. Some IDs may be available in `Google
          Knowledge Graph Search API
          <https://developers.google.com/knowledge-graph/>`__.
      description:
          Textual description, e.g. ``Fixed-gear bicycle``.
      language_code:
          Language code for ``description`` in BCP-47 format.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.Entity)
  ))
_sym_db.RegisterMessage(Entity)

LabelAnnotation = _reflection.GeneratedProtocolMessageType('LabelAnnotation', (_message.Message,), dict(
  DESCRIPTOR = _LABELANNOTATION,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Label annotation.
  
  
  Attributes:
      entity:
          Detected entity.
      category_entities:
          Common categories for the detected entity. E.g. when the label
          is ``Terrier`` the category is likely ``dog``. And in some
          cases there might be more than one categories e.g. ``Terrier``
          could also be a ``pet``.
      segments:
          All video segments where a label was detected.
      frames:
          All video frames where a label was detected.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.LabelAnnotation)
  ))
_sym_db.RegisterMessage(LabelAnnotation)

ExplicitContentFrame = _reflection.GeneratedProtocolMessageType('ExplicitContentFrame', (_message.Message,), dict(
  DESCRIPTOR = _EXPLICITCONTENTFRAME,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Video frame level annotation results for explicit content.
  
  
  Attributes:
      time_offset:
          Time-offset, relative to the beginning of the video,
          corresponding to the video frame for this location.
      pornography_likelihood:
          Likelihood of the pornography content..
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.ExplicitContentFrame)
  ))
_sym_db.RegisterMessage(ExplicitContentFrame)

ExplicitContentAnnotation = _reflection.GeneratedProtocolMessageType('ExplicitContentAnnotation', (_message.Message,), dict(
  DESCRIPTOR = _EXPLICITCONTENTANNOTATION,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Explicit content annotation (based on per-frame visual signals only). If
  no explicit content has been detected in a frame, no annotations are
  present for that frame.
  
  
  Attributes:
      frames:
          All video frames where explicit content was detected.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.ExplicitContentAnnotation)
  ))
_sym_db.RegisterMessage(ExplicitContentAnnotation)

NormalizedBoundingBox = _reflection.GeneratedProtocolMessageType('NormalizedBoundingBox', (_message.Message,), dict(
  DESCRIPTOR = _NORMALIZEDBOUNDINGBOX,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Normalized bounding box. The normalized vertex coordinates are relative
  to the original image. Range: [0, 1].
  
  
  Attributes:
      left:
          Left X coordinate.
      top:
          Top Y coordinate.
      right:
          Right X coordinate.
      bottom:
          Bottom Y coordinate.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.NormalizedBoundingBox)
  ))
_sym_db.RegisterMessage(NormalizedBoundingBox)

FaceSegment = _reflection.GeneratedProtocolMessageType('FaceSegment', (_message.Message,), dict(
  DESCRIPTOR = _FACESEGMENT,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Video segment level annotation results for face detection.
  
  
  Attributes:
      segment:
          Video segment where a face was detected.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.FaceSegment)
  ))
_sym_db.RegisterMessage(FaceSegment)

FaceFrame = _reflection.GeneratedProtocolMessageType('FaceFrame', (_message.Message,), dict(
  DESCRIPTOR = _FACEFRAME,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Video frame level annotation results for face detection.
  
  
  Attributes:
      normalized_bounding_boxes:
          Normalized Bounding boxes in a frame. There can be more than
          one boxes if the same face is detected in multiple locations
          within the current frame.
      time_offset:
          Time-offset, relative to the beginning of the video,
          corresponding to the video frame for this location.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.FaceFrame)
  ))
_sym_db.RegisterMessage(FaceFrame)

FaceAnnotation = _reflection.GeneratedProtocolMessageType('FaceAnnotation', (_message.Message,), dict(
  DESCRIPTOR = _FACEANNOTATION,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Face annotation.
  
  
  Attributes:
      thumbnail:
          Thumbnail of a representative face view (in JPEG format).
      segments:
          All video segments where a face was detected.
      frames:
          All video frames where a face was detected.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.FaceAnnotation)
  ))
_sym_db.RegisterMessage(FaceAnnotation)

VideoAnnotationResults = _reflection.GeneratedProtocolMessageType('VideoAnnotationResults', (_message.Message,), dict(
  DESCRIPTOR = _VIDEOANNOTATIONRESULTS,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Annotation results for a single video.
  
  
  Attributes:
      input_uri:
          Video file location in `Google Cloud Storage
          <https://cloud.google.com/storage/>`__.
      segment_label_annotations:
          Label annotations on video level or user specified segment
          level. There is exactly one element for each unique label.
      shot_label_annotations:
          Label annotations on shot level. There is exactly one element
          for each unique label.
      frame_label_annotations:
          Label annotations on frame level. There is exactly one element
          for each unique label.
      face_annotations:
          Face annotations. There is exactly one element for each unique
          face.
      shot_annotations:
          Shot annotations. Each shot is represented as a video segment.
      explicit_annotation:
          Explicit content annotation.
      error:
          If set, indicates an error. Note that for a single
          ``AnnotateVideoRequest`` some videos may succeed and some may
          fail.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.VideoAnnotationResults)
  ))
_sym_db.RegisterMessage(VideoAnnotationResults)

AnnotateVideoResponse = _reflection.GeneratedProtocolMessageType('AnnotateVideoResponse', (_message.Message,), dict(
  DESCRIPTOR = _ANNOTATEVIDEORESPONSE,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Video annotation response. Included in the ``response`` field of the
  ``Operation`` returned by the ``GetOperation`` call of the
  ``google::longrunning::Operations`` service.
  
  
  Attributes:
      annotation_results:
          Annotation results for all videos specified in
          ``AnnotateVideoRequest``.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.AnnotateVideoResponse)
  ))
_sym_db.RegisterMessage(AnnotateVideoResponse)

VideoAnnotationProgress = _reflection.GeneratedProtocolMessageType('VideoAnnotationProgress', (_message.Message,), dict(
  DESCRIPTOR = _VIDEOANNOTATIONPROGRESS,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Annotation progress for a single video.
  
  
  Attributes:
      input_uri:
          Video file location in `Google Cloud Storage
          <https://cloud.google.com/storage/>`__.
      progress_percent:
          Approximate percentage processed thus far. Guaranteed to be
          100 when fully processed.
      start_time:
          Time when the request was received.
      update_time:
          Time of the most recent update.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.VideoAnnotationProgress)
  ))
_sym_db.RegisterMessage(VideoAnnotationProgress)

AnnotateVideoProgress = _reflection.GeneratedProtocolMessageType('AnnotateVideoProgress', (_message.Message,), dict(
  DESCRIPTOR = _ANNOTATEVIDEOPROGRESS,
  __module__ = 'google.cloud.videointelligence_v1.proto.video_intelligence_pb2'
  ,
  __doc__ = """Video annotation progress. Included in the ``metadata`` field of the
  ``Operation`` returned by the ``GetOperation`` call of the
  ``google::longrunning::Operations`` service.
  
  
  Attributes:
      annotation_progress:
          Progress metadata for all videos specified in
          ``AnnotateVideoRequest``.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.videointelligence.v1.AnnotateVideoProgress)
  ))
_sym_db.RegisterMessage(AnnotateVideoProgress)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n%com.google.cloud.videointelligence.v1B\035VideoIntelligenceServiceProtoP\001ZRgoogle.golang.org/genproto/googleapis/cloud/videointelligence/v1;videointelligence\252\002!Google.Cloud.VideoIntelligence.V1'))
try:
  # THESE ELEMENTS WILL BE DEPRECATED.
  # Please use the generated *_pb2_grpc.py files instead.
  import grpc
  from grpc.beta import implementations as beta_implementations
  from grpc.beta import interfaces as beta_interfaces
  from grpc.framework.common import cardinality
  from grpc.framework.interfaces.face import utilities as face_utilities


  class VideoIntelligenceServiceStub(object):
    """Service that implements Google Cloud Video Intelligence API.
    """

    def __init__(self, channel):
      """Constructor.

      Args:
        channel: A grpc.Channel.
      """
      self.AnnotateVideo = channel.unary_unary(
          '/google.cloud.videointelligence.v1.VideoIntelligenceService/AnnotateVideo',
          request_serializer=AnnotateVideoRequest.SerializeToString,
          response_deserializer=google_dot_longrunning_dot_operations__pb2.Operation.FromString,
          )


  class VideoIntelligenceServiceServicer(object):
    """Service that implements Google Cloud Video Intelligence API.
    """

    def AnnotateVideo(self, request, context):
      """Performs asynchronous video annotation. Progress and results can be
      retrieved through the `google.longrunning.Operations` interface.
      `Operation.metadata` contains `AnnotateVideoProgress` (progress).
      `Operation.response` contains `AnnotateVideoResponse` (results).
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')


  def add_VideoIntelligenceServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
        'AnnotateVideo': grpc.unary_unary_rpc_method_handler(
            servicer.AnnotateVideo,
            request_deserializer=AnnotateVideoRequest.FromString,
            response_serializer=google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        'google.cloud.videointelligence.v1.VideoIntelligenceService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


  class BetaVideoIntelligenceServiceServicer(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    """Service that implements Google Cloud Video Intelligence API.
    """
    def AnnotateVideo(self, request, context):
      """Performs asynchronous video annotation. Progress and results can be
      retrieved through the `google.longrunning.Operations` interface.
      `Operation.metadata` contains `AnnotateVideoProgress` (progress).
      `Operation.response` contains `AnnotateVideoResponse` (results).
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)


  class BetaVideoIntelligenceServiceStub(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    """Service that implements Google Cloud Video Intelligence API.
    """
    def AnnotateVideo(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Performs asynchronous video annotation. Progress and results can be
      retrieved through the `google.longrunning.Operations` interface.
      `Operation.metadata` contains `AnnotateVideoProgress` (progress).
      `Operation.response` contains `AnnotateVideoResponse` (results).
      """
      raise NotImplementedError()
    AnnotateVideo.future = None


  def beta_create_VideoIntelligenceService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_deserializers = {
      ('google.cloud.videointelligence.v1.VideoIntelligenceService', 'AnnotateVideo'): AnnotateVideoRequest.FromString,
    }
    response_serializers = {
      ('google.cloud.videointelligence.v1.VideoIntelligenceService', 'AnnotateVideo'): google_dot_longrunning_dot_operations__pb2.Operation.SerializeToString,
    }
    method_implementations = {
      ('google.cloud.videointelligence.v1.VideoIntelligenceService', 'AnnotateVideo'): face_utilities.unary_unary_inline(servicer.AnnotateVideo),
    }
    server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
    return beta_implementations.server(method_implementations, options=server_options)


  def beta_create_VideoIntelligenceService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_serializers = {
      ('google.cloud.videointelligence.v1.VideoIntelligenceService', 'AnnotateVideo'): AnnotateVideoRequest.SerializeToString,
    }
    response_deserializers = {
      ('google.cloud.videointelligence.v1.VideoIntelligenceService', 'AnnotateVideo'): google_dot_longrunning_dot_operations__pb2.Operation.FromString,
    }
    cardinalities = {
      'AnnotateVideo': cardinality.Cardinality.UNARY_UNARY,
    }
    stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
    return beta_implementations.dynamic_stub(channel, 'google.cloud.videointelligence.v1.VideoIntelligenceService', cardinalities, options=stub_options)
except ImportError:
  pass
# @@protoc_insertion_point(module_scope)
