MPEGVideoDescriptorImpl (Media Authoring with Java API)
Date: 2016-02-05

tv.amwa.maj.model.impl

## Class MPEGVideoDescriptorImpl

- java.lang.Object
- - tv.amwa.maj.model.impl.InterchangeObjectImpl
  - - tv.amwa.maj.model.impl.EssenceDescriptorImpl
    - - tv.amwa.maj.model.impl.AAFFileDescriptorImpl
      - - tv.amwa.maj.model.impl.PictureDescriptorImpl
        - - tv.amwa.maj.model.impl.CDCIDescriptorImpl
          - - tv.amwa.maj.model.impl.MPEGVideoDescriptorImpl

- All Implemented Interfaces:
    Serializable, Cloneable, QAAFFileDescriptor, MediaEntity, MetadataObject, XMLSerializable, AAFFileDescriptor, CDCIDescriptor, EssenceDescriptor, InterchangeObject, MPEGVideoDescriptor, PictureDescriptor

      @MediaClass(uuid1=218169601,
                  uuid2=257,
                  uuid3=20736,
                  uuid4={6,14,43,52,2,6,1,1},
                  definedName="MPEGVideoDescriptor",
                  description="Describes essence that is encoded according to the MPEG specifications.",
                  symbol="MPEGVideoDescriptor")
      public class MPEGVideoDescriptorImpl
      extends CDCIDescriptorImpl
      implements MPEGVideoDescriptor, Serializable, Cloneable

  Implements the description of picture essence that is encoded according to the MPEG specifications.

  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class tv.amwa.maj.model.impl.InterchangeObjectImpl

      `ObjectClassPropertyID`

    - ### Fields inherited from interface tv.amwa.maj.model.CDCIDescriptor

      `ALPHASAMPLEDEPTH_DEFAULT, BLACKREFLEVEL_DEFAULT, COLORSITING_DEFAULT, PADDINGBITS_DEFAULT, REVERSEDBYTEORDER_DEFAULT, VERTICALSUBSAMPLING_DEFAULT`

    - ### Fields inherited from interface tv.amwa.maj.model.PictureDescriptor

      `ALPHATRANSPARENCY_DEFAULT, DISPLAYF2OFFSET_DEFAULT, IMAGEALIGNMENTFACTOR_DEFAULT, IMAGEENDOFFSET_DEFAULT, IMAGESTARTOFFSET_DEFAULT, STOREDF2OFFSET_DEFAULT, Uncompressed`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MPEGVideoDescriptorImpl()`
    `MPEGVideoDescriptorImpl(ContainerDefinition containerFormat, int storedHeight, int storedWidth, LayoutType frameLayout, int[] videoLineMap, Rational imageAspectRatio, int horizontalSubsampling, int componentWidth)` Creates and initializes a new MPEG video descriptor descriptor, which specifies that a `file source package` is associated with video essence that is represented and coded according to the MPEG specifications.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `MPEGVideoDescriptor` | `clone()` Create a cloned copy of this interchange object.
    `int` | `getBitRate()` Returns the maximum bit rate of the MPEG elementary stream of the described MPEG video essence, measured in bits per second.
    `boolean` | `getClosedGOP()` Returns code if "ClosedGop" is set in all GOP headers of the described MPEG video essence, as per ISO/IEC 13818-1 IBP descriptor, otherwise `false`.
    `ContentScanningType` | `getCodedContentScanning()` Returns whether the underlying content of the descrived MPEG-coded essence was of a known content scanning type.
    `boolean` | `getConstantBPictureCount()` Returns `true` if the associated essence always has a constant number of B frames throughout, or `false` if the number of B frames vary.
    `boolean` | `getIdenticalGOP()` Returns `true` if every GOP in the described MPEG video sequence is constructed in the same way, as per ISO/IEC13818-1 IBP descriptor, otherwise `false`.
    `boolean` | `getLowDelay()` Returns `true` if the low delay mode was used in the sequence represented by the described MPEG-video essence and `false` otherwise.
    `short` | `getMaxBPictureCount()` Returns the maximum number of B pictures between P frames or I frames in the described MPEG video essence, equivalent to ISO/IEC 13818-2 annex D (M-1).
    `short` | `getMaxGOP()` Returns the maximum occurring spacing between I frames in the described MPEG video essence, as per an ISO/IEC 13818-1 IBP descriptor.
    `byte` | `getProfileAndLevel()` Returns the MPEG-2 video profile and level of the described MPEG video essence.
    `boolean` | `getSingleSequence()` Determines whether the described MPEG video essence consists of a single MPEG sequence or if there are a number of sequences.
    `void` | `setBitRate(Integer bitRate)` Sets the maximum bit rate of the MPEG elementary stream of the described MPEG video essence, measured in bits per second.
    `void` | `setClosedGOP(Boolean closedGOP)` Set to `true` to indicate that "ClosedGop" is set in all GOP headers of the described MPEG video essence, as per ISO/IEC 13818-1 IBP descriptor, otherwise `false`.
    `void` | `setCodedContentScanning(ContentScanningType codedContentScanning)` Sets whether the underlying content of the associated MPEG-coded essence was of a known content scanning type.
    `void` | `setConstantBPictureCount(Boolean constanBPictureCount)` Set to `true` to indicate that the described MPEG video essence always has a constant number of B frames throughout or to `false` to indicate that the number of B frames vary.
    `void` | `setIdenticalGOP(Boolean identicalGOP)` Set to `true` to indicate that every GOP in the described MPEG video sequence is constructed in the same way, as per ISO/IEC 13818-1 IBP descriptor, otherwise `false`.
    `void` | `setLowDelay(Boolean lowDelay)` Set to `true` if the low delay mode was used in the sequence represented by the described MPEG video essence and `false` otherwise.
    `void` | `setMaxBPictureCount(Short maxBPictureCount)` Sets the maximum number of B pictures between P frames or I frames in the described MPEG video essence, equivalent to ISO/IEC 13818-2 annex D (M-1).
    `void` | `setMaxGOP(Short maxGOP)` Sets the maximum occurring spacing between I frames in the described MPEG video essence, as per ISO/IEC 13818-1 IBP descriptor.
    `void` | `setProfileAndLevel(Byte profileAndLevel)` Sets the MPEG-2 video profile and level of the described MPEG video essence.
    `void` | `setSingleSequence(Boolean singleSequence)` Sets whether the described MPEG video essence consists of a single MPEG sequence or if there are a number of sequences.

    - ### Methods inherited from class tv.amwa.maj.model.impl.CDCIDescriptorImpl

      `getAlphaSampleDepth, getBlackRefLevel, getColorRange, getColorSiting, getComponentDepth, getHorizontalSubsampling, getOffsetToFrameIndexes64, getPaddingBits, getReversedByteOrder, getVerticalSubsampling, getWhiteRefLevel, initializeComponentDepth, initializeHorizontalSubsampling, setAlphaSampleDepth, setBlackRefLevel, setBlackRefLevelFromStream, setColorRange, setColorRangeFromStream, setColorSiting, setComponentDepth, setHorizontalSubsampling, setOffsetToFrameIndexes64, setPaddingBits, setReversedByteOrder, setVerticalSubsampling, setWhiteRefLevel, setWhiteRefLevelFromStream`

    - ### Methods inherited from class tv.amwa.maj.model.impl.PictureDescriptorImpl

      `areDisplayValuesPresent, areSampledValuesPresent, getActiveFormatDescriptor, getAlphaTransparency, getCodingEquations, getCodingEquationsString, getColorPrimaries, getColorPrimariesString, getDataOffset, getDisplayF2Offset, getDisplayHeight, getDisplayView, getDisplayWidth, getDisplayXOffset, getDisplayYOffset, getFieldDominance, getFrameIndexByteOrder, getFrameLayout, getFrameSampleSize, getImageAlignmentFactor, getImageAspectRatio, getImageAspectRatioString, getImageEndOffset, getImageSize, getImageStartOffset, getPictureCompression, getPictureCompressionString, getResolutionID, getSampledHeight, getSampledView, getSampledWidth, getSampledXOffset, getSampledYOffset, getSignalStandard, getStoredF2Offset, getStoredHeight, getStoredView, getStoredWidth, getTransferCharacteristic, getTransferCharacteristicString, getVideoLineMap, getVideoLineMapSize, initializeFrameLayout, initializeImageAspectRatio, initializeStoredHeight, initializeStoredWidth, initializeVideoLineMap, setActiveFormatDescriptor, setAlphaTransparency, setCodingEquations, setCodingEquationsString, setColorPrimaries, setColorPrimariesString, setDataOffset, setDisplayF2Offset, setDisplayHeight, setDisplayView, setDisplayWidth, setDisplayXOffset, setDisplayYOffset, setFieldDominance, setFrameIndexByteOrder, setFrameLayout, setFrameSampleSize, setImageAlignmentFactor, setImageAspectRatio, setImageAspectRatioString, setImageEndOffset, setImageSize, setImageStartOffset, setPictureCompression, setPictureCompressionString, setResolutionID, setSampledHeight, setSampledView, setSampledWidth, setSampledXOffset, setSampledYOffset, setSignalStandard, setStoredF2Offset, setStoredHeight, setStoredView, setStoredWidth, setTransferCharacteristic, setTransferCharacteristicString, setVideoLineMap, setVideoLineMap`

    - ### Methods inherited from class tv.amwa.maj.model.impl.AAFFileDescriptorImpl

      `describesStaticEssence, getCodec, getContainerFormat, getEssenceLength, getLinkedTrackID, getSampleRate, getSampleRateString, getTwentyFourBitAudio, initializeEssenceLength, initializeSampleRate, setCodec, setContainerFormat, setDescribesStaticEssence, setDescribesTimeVaryingEssence, setEssenceLength, setEssenceLengthFromStream, setLinkedTrackID, setSampleRate, setSampleRateFromStream, setSampleRateString, setTwentyFourBitAudio`

    - ### Methods inherited from class tv.amwa.maj.model.impl.EssenceDescriptorImpl

      `appendLocator, appendSubDescriptor, clearLocators, clearSubDescriptors, countLocators, countSubDescriptors, getComment, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt`

    - ### Methods inherited from class tv.amwa.maj.model.impl.InterchangeObjectImpl

      `addApplicationPlugin, appendXMLChildren, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getLinkedGenerationIDString, getObjectClass, getPersistentID, getPersistentIndex, hashCode, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setLinkedGenerationIDString, setObjectClass, setPersistentID, setPersistentIndex, toString`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface tv.amwa.maj.model.CDCIDescriptor

      `getAlphaSampleDepth, getBlackRefLevel, getColorRange, getColorSiting, getComponentDepth, getHorizontalSubsampling, getPaddingBits, getReversedByteOrder, getVerticalSubsampling, getWhiteRefLevel, setAlphaSampleDepth, setBlackRefLevel, setColorRange, setColorSiting, setComponentDepth, setHorizontalSubsampling, setPaddingBits, setReversedByteOrder, setVerticalSubsampling, setWhiteRefLevel`

    - ### Methods inherited from interface tv.amwa.maj.model.PictureDescriptor

      `areDisplayValuesPresent, areSampledValuesPresent, getActiveFormatDescriptor, getAlphaTransparency, getCodingEquations, getColorPrimaries, getDisplayF2Offset, getDisplayHeight, getDisplayView, getDisplayWidth, getDisplayXOffset, getDisplayYOffset, getFieldDominance, getFrameLayout, getImageAlignmentFactor, getImageAspectRatio, getImageEndOffset, getImageStartOffset, getPictureCompression, getSampledHeight, getSampledView, getSampledWidth, getSampledXOffset, getSampledYOffset, getSignalStandard, getStoredF2Offset, getStoredHeight, getStoredView, getStoredWidth, getTransferCharacteristic, getVideoLineMap, getVideoLineMapSize, setActiveFormatDescriptor, setAlphaTransparency, setCodingEquations, setColorPrimaries, setDisplayF2Offset, setDisplayView, setFieldDominance, setFrameLayout, setImageAlignmentFactor, setImageAspectRatio, setImageEndOffset, setImageStartOffset, setPictureCompression, setSampledView, setSignalStandard, setStoredF2Offset, setStoredView, setTransferCharacteristic, setVideoLineMap`

    - ### Methods inherited from interface tv.amwa.maj.model.AAFFileDescriptor

      `getCodec, getContainerFormat, getEssenceLength, getLinkedTrackID, getSampleRate, setCodec, setContainerFormat, setEssenceLength, setLinkedTrackID, setSampleRate`

    - ### Methods inherited from interface tv.amwa.maj.model.EssenceDescriptor

      `appendLocator, appendSubDescriptor, clearLocators, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt`

    - ### Methods inherited from interface tv.amwa.maj.model.InterchangeObject

      `addApplicationPlugin, clearApplicationPlugins, containsApplicationPlugin, containsApplicationPlugin, countApplicationPlugins, deepEquals, disableGenerationTracking, enableGenerationTracking, equals, getApplicationPlugins, getGeneration, getLinkedGenerationID, getObjectClass, isGenerationTracked, removeApplicationPlugin, removeApplicationPlugin, setLinkedGenerationID, setObjectClass, toString`

    - ### Methods inherited from interface tv.amwa.maj.industry.MediaEntity

      `getPersistentID, setPersistentIndex`

    - ### Methods inherited from interface tv.amwa.maj.extensions.avid.PictureDescriptor

      `getDataOffset, getFrameIndexByteOrder, getFrameSampleSize, getImageSize, getResolutionID, setDataOffset, setFrameIndexByteOrder, setFrameSampleSize, setImageSize, setResolutionID`

    - ### Methods inherited from interface tv.amwa.maj.io.xml.XMLSerializable

      `appendXMLChildren, getComment`

- - ### Constructor Detail

    - #### MPEGVideoDescriptorImpl

          public MPEGVideoDescriptorImpl()

    - #### MPEGVideoDescriptorImpl

          public MPEGVideoDescriptorImpl(ContainerDefinition containerFormat,
                                         @UInt32
                                         int storedHeight,
                                         @UInt32
                                         int storedWidth,
                                         LayoutType frameLayout,
                                         @VideoLineMap
                                         int[] videoLineMap,
                                         Rational imageAspectRatio,
                                         @UInt32
                                         int horizontalSubsampling,
                                         @UInt32
                                         int componentWidth)
                                  throws NullPointerException,
                                         IllegalArgumentException

      Creates and initializes a new MPEG video descriptor descriptor, which specifies that a `file source package` is associated with video essence that is represented and coded according to the MPEG specifications.

      Parameters:
        `containerFormat` - Container mechanism used to store the essence.
        `storedHeight` - Number of pixels in vertical dimension of the stored view.
        `storedWidth` - Number of pixels in horizontal dimension of the stored view.
        `frameLayout` - Describes whether all data for a complete sample is in one frame or is split into more than one field.
        `videoLineMap` - The scan line in the analog source that corresponds to the beginning of each digitized field. For single-field video, there is 1 value in the array; for interlaced video, there are 2 values in the array.
        `imageAspectRatio` - Describes the ratio between the horizontal size and the vertical size in the intended final image.
        `horizontalSubsampling` - Ratio of luminance sampling to chrominance sampling in the horizontal direction. For 4:2:2 video, the value is 2, which means that there are twice as many luminance values as there are color-difference values. Legal values are `1`, `2` and `4`.
        `componentWidth` - Number of bits used to store each component. Can have a value of `8`, `10`, or `16`. Each component in a sample is packed contiguously; the sample is filled with the number of bits specified by the optional padding bits property. If the padding bits property is omitted, samples are packed contiguously.
      Throws:
        `NullPointerException` - One or more of arguments is `null`.
        `IllegalArgumentException` - The given values are not within the permintted ranges.

  - ### Method Detail

    - #### getBitRate

          @MediaProperty(uuid1=67175938,
                         uuid2=267,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="BitRate",
                         typeName="UInt32",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="BitRate")
          public int getBitRate()
                                                                                                                                                                                                                                                                                                                                                         throws PropertyNotPresentException

      Description copied from interface: `MPEGVideoDescriptor`

      Returns the maximum bit rate of the MPEG elementary stream of the described MPEG video essence, measured in bits per second.

      Specified by:
        `getBitRate` in interface `MPEGVideoDescriptor`
      Returns:
        Maximum bit rate of the MPEG elementary stream of the described MPEG video essence.
      Throws:
        `PropertyNotPresentException` - The optional bit rate property is not present in this MPEG video descriptor.

    - #### setBitRate

          @MediaPropertySetter(value="BitRate")
          public void setBitRate(Integer bitRate)
                                                                throws IllegalArgumentException

      Description copied from interface: `MPEGVideoDescriptor`

      Sets the maximum bit rate of the MPEG elementary stream of the described MPEG video essence, measured in bits per second. Set this optional property to `null` to omit it.

      Specified by:
        `setBitRate` in interface `MPEGVideoDescriptor`
      Parameters:
        `bitRate` - Maximum bit rate of the MPEG elementary stream of the described MPEG video essence.
      Throws:
        `IllegalArgumentException` - The given bit rate is negative.

    - #### getClosedGOP

          @MediaProperty(uuid1=67175938,
                         uuid2=262,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="ClosedGOP",
                         typeName="Boolean",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="ClosedGOP")
          public boolean getClosedGOP()
                                                                                                                                                                                                                                                                                                                                                                    throws PropertyNotPresentException

      Description copied from interface: `MPEGVideoDescriptor`

      Returns code if "ClosedGop" is set in all GOP headers of the described MPEG video essence, as per ISO/IEC 13818-1 IBP descriptor, otherwise `false`. This is an optional property.

      Specified by:
        `getClosedGOP` in interface `MPEGVideoDescriptor`
      Returns:
        Is "ClosedGOP" set in all the headers of the described MPEG video descriptor?
      Throws:
        `PropertyNotPresentException` - The optional closed GOP property is not present in this MPEG video descriptor.

    - #### setClosedGOP

          @MediaPropertySetter(value="ClosedGOP")
          public void setClosedGOP(Boolean closedGOP)

      Description copied from interface: `MPEGVideoDescriptor`

      Set to `true` to indicate that "ClosedGop" is set in all GOP headers of the described MPEG video essence, as per ISO/IEC 13818-1 IBP descriptor, otherwise `false`. Set this optional to `null` to omit it.

      Specified by:
        `setClosedGOP` in interface `MPEGVideoDescriptor`
      Parameters:
        `closedGOP` - Is "ClosedGOP" set in all the headers of the described MPEG video essence.?

    - #### getCodedContentScanning

          @MediaProperty(uuid1=67175938,
                         uuid2=260,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="CodedContentScanning",
                         typeName="ContentScanningType",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="CodedContentScanning")
          public ContentScanningType getCodedContentScanning()
                                                                                                                                                                                                                                                                                                                                                                                                                             throws PropertyNotPresentException

      Description copied from interface: `MPEGVideoDescriptor`

      Returns whether the underlying content of the descrived MPEG-coded essence was of a known content scanning type. Possible values are `Progressive`, `Interlace` and `Mixed`, or returns `NotKnown` if the value is unknown. This is an optional property.

      Specified by:
        `getCodedContentScanning` in interface `MPEGVideoDescriptor`
      Returns:
        Content scanning type of data represented by the underlying content of the described MPEG-coded essence.
      Throws:
        `PropertyNotPresentException` - The optional coded content type property is not present in this MPEG video descriptor.

    - #### setCodedContentScanning

          @MediaPropertySetter(value="CodedContentScanning")
          public void setCodedContentScanning(ContentScanningType codedContentScanning)

      Description copied from interface: `MPEGVideoDescriptor`

      Sets whether the underlying content of the associated MPEG-coded essence was of a known content scanning type. Possible values are `Progressive`, `Interlace` and `Mixed`, or set to `NotKnown` if the value is unknown. Set this optional property to `null` to omit it.

      Specified by:
        `setCodedContentScanning` in interface `MPEGVideoDescriptor`
      Parameters:
        `codedContentScanning` - Content scanning type of data represented by the underlying content of the associated MPEG-coded essence.

    - #### getConstantBPictureCount

          @MediaProperty(uuid1=67175938,
                         uuid2=259,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="ConstantBPictureCount",
                         typeName="Boolean",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="ConstantBPictureCount")
          public boolean getConstantBPictureCount()
                                                                                                                                                                                                                                                                                                                                                                                                        throws PropertyNotPresentException

      Description copied from interface: `MPEGVideoDescriptor`

      Returns `true` if the associated essence always has a constant number of B frames throughout, or `false` if the number of B frames vary. This is an optional property.

      Specified by:
        `getConstantBPictureCount` in interface `MPEGVideoDescriptor`
      Returns:
        Does the described essence to have a constant number of B frames?
      Throws:
        `PropertyNotPresentException` - The optional constant B frames property is not present in this MPEG video descriptor.

    - #### setConstantBPictureCount

          @MediaPropertySetter(value="ConstantBPictureCount")
          public void setConstantBPictureCount(Boolean constanBPictureCount)

      Description copied from interface: `MPEGVideoDescriptor`

      Set to `true` to indicate that the described MPEG video essence always has a constant number of B frames throughout or to `false` to indicate that the number of B frames vary. Set this optional property to `null` to omit it.

      Specified by:
        `setConstantBPictureCount` in interface `MPEGVideoDescriptor`
      Parameters:
        `constanBPictureCount` - Does the described essence to have a constant number of B frames?

    - #### getIdenticalGOP

          @MediaProperty(uuid1=67175938,
                         uuid2=263,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="IdenticalGOP",
                         typeName="Boolean",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="IdenticalGOP")
          public boolean getIdenticalGOP()
                                                                                                                                                                                                                                                                                                                                                                             throws PropertyNotPresentException

      Description copied from interface: `MPEGVideoDescriptor`

      Returns `true` if every GOP in the described MPEG video sequence is constructed in the same way, as per ISO/IEC13818-1 IBP descriptor, otherwise `false`.

      Specified by:
        `getIdenticalGOP` in interface `MPEGVideoDescriptor`
      Returns:
        Is every GOP in the associated sequence constructed in the same way?
      Throws:
        `PropertyNotPresentException` - The optional identical GOP property is not present in this MPEG video descriptor.

    - #### setIdenticalGOP

          @MediaPropertySetter(value="IdenticalGOP")
          public void setIdenticalGOP(Boolean identicalGOP)

      Description copied from interface: `MPEGVideoDescriptor`

      Set to `true` to indicate that every GOP in the described MPEG video sequence is constructed in the same way, as per ISO/IEC 13818-1 IBP descriptor, otherwise `false`. Set this optional property to `null` to omit it.

      Specified by:
        `setIdenticalGOP` in interface `MPEGVideoDescriptor`
      Parameters:
        `identicalGOP` - Is every GOP in the described MPEG-video sequence constructed in the same way?

    - #### getLowDelay

          @MediaProperty(uuid1=67175938,
                         uuid2=261,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="LowDelay",
                         typeName="Boolean",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="LowDelay")
          public boolean getLowDelay()
                                                                                                                                                                                                                                                                                                                                                                 throws PropertyNotPresentException

      Description copied from interface: `MPEGVideoDescriptor`

      Returns `true` if the low delay mode was used in the sequence represented by the described MPEG-video essence and `false` otherwise. This is an optional property.

      Specified by:
        `getLowDelay` in interface `MPEGVideoDescriptor`
      Returns:
        Was the low delay mode used in the sequence?
      Throws:
        `PropertyNotPresentException` - The optional low delay property is not present in this MPEG video descriptor.

    - #### setLowDelay

          @MediaPropertySetter(value="LowDelay")
          public void setLowDelay(Boolean lowDelay)

      Description copied from interface: `MPEGVideoDescriptor`

      Set to `true` if the low delay mode was used in the sequence represented by the described MPEG video essence and `false` otherwise. Set this optional property to `null` to omit it.

      Specified by:
        `setLowDelay` in interface `MPEGVideoDescriptor`
      Parameters:
        `lowDelay` - Was the low delay mode used in the sequence?

    - #### getMaxBPictureCount

          @MediaProperty(uuid1=67175938,
                         uuid2=265,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="MaxBPictureCount",
                         typeName="UInt16",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="MaxBPictureCount")
          public short getMaxBPictureCount()
                                                                                                                                                                                                                                                                                                                                                                                      throws PropertyNotPresentException

      Description copied from interface: `MPEGVideoDescriptor`

      Returns the maximum number of B pictures between P frames or I frames in the described MPEG video essence, equivalent to ISO/IEC 13818-2 annex D (M-1). This is an optional property.

      Specified by:
        `getMaxBPictureCount` in interface `MPEGVideoDescriptor`
      Returns:
        Maximum number of B pictures between P frames or I frames in the described MPEG video essence.
      Throws:
        `PropertyNotPresentException` - The optional maximum B picture count property is not present in this MPEG video descriptor.

    - #### setMaxBPictureCount

          @MediaPropertySetter(value="MaxBPictureCount")
          public void setMaxBPictureCount(Short maxBPictureCount)
                                                                                  throws IllegalArgumentException

      Description copied from interface: `MPEGVideoDescriptor`

      Sets the maximum number of B pictures between P frames or I frames in the described MPEG video essence, equivalent to ISO/IEC 13818-2 annex D (M-1). Set this optional property to `null` to omit it.

      Specified by:
        `setMaxBPictureCount` in interface `MPEGVideoDescriptor`
      Parameters:
        `maxBPictureCount` - Maximum number of B pictures between P frames or I frames in the described MPEG video essence.
      Throws:
        `IllegalArgumentException` - The given maximum B picture count is negative.

    - #### getMaxGOP

          @MediaProperty(uuid1=67175938,
                         uuid2=264,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="MaxGOP",
                         typeName="UInt16",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="MaxGOP")
          public short getMaxGOP()
                                                                                                                                                                                                                                                                                                                                                        throws PropertyNotPresentException

      Description copied from interface: `MPEGVideoDescriptor`

      Returns the maximum occurring spacing between I frames in the described MPEG video essence, as per an ISO/IEC 13818-1 IBP descriptor. This is an optional property.

      Specified by:
        `getMaxGOP` in interface `MPEGVideoDescriptor`
      Returns:
        Maximum occurring spacing between I frames in the described MPEG video essence.
      Throws:
        `PropertyNotPresentException` - The optional max GOP property is not present in this MPEG video descriptor.

    - #### setMaxGOP

          @MediaPropertySetter(value="MaxGOP")
          public void setMaxGOP(Short maxGOP)
                                                              throws IllegalArgumentException

      Description copied from interface: `MPEGVideoDescriptor`

      Sets the maximum occurring spacing between I frames in the described MPEG video essence, as per ISO/IEC 13818-1 IBP descriptor. Set this optional property to `null` to omit it.

      Specified by:
        `setMaxGOP` in interface `MPEGVideoDescriptor`
      Parameters:
        `maxGOP` - Maximum occurring spacing between I frames of the described MPEG video essence.
      Throws:
        `IllegalArgumentException` - The given max GOP value is negative.

    - #### getProfileAndLevel

          @MediaProperty(uuid1=67175938,
                         uuid2=266,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="ProfileAndLevel",
                         typeName="UInt8",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="ProfileAndLevel")
          public byte getProfileAndLevel()
                                                                                                                                                                                                                                                                                                                                                                                 throws PropertyNotPresentException

      Description copied from interface: `MPEGVideoDescriptor`

      Returns the MPEG-2 video profile and level of the described MPEG video essence. For the main profile and main level, the value returned is `0x48`. For 4:2:2 profile at main level, the value returned is `0x85`. This is an optional property.

      Specified by:
        `getProfileAndLevel` in interface `MPEGVideoDescriptor`
      Returns:
        MPEG-2 video profile and level of the described MPEG video essence.
      Throws:
        `PropertyNotPresentException` - The optional profile and level property is not present in this MPEG video descriptor.

    - #### setProfileAndLevel

          @MediaPropertySetter(value="ProfileAndLevel")
          public void setProfileAndLevel(Byte profileAndLevel)

      Description copied from interface: `MPEGVideoDescriptor`

      Sets the MPEG-2 video profile and level of the described MPEG video essence. For the main profile and main level, set to `0x48`. For 4:2:2 profile at main level, set to `0x85`. Set this optional property to `null` to omit it.

      Specified by:
        `setProfileAndLevel` in interface `MPEGVideoDescriptor`
      Parameters:
        `profileAndLevel` - MPEG-2 video profile and level of the described MPEG video essence.

    - #### getSingleSequence

          @MediaProperty(uuid1=67175938,
                         uuid2=258,
                         uuid3=0,
                         uuid4={6,14,43,52,1,1,1,5},
                         definedName="SingleSequence",
                         typeName="Boolean",
                         optional=true,
                         uniqueIdentifier=false,
                         pid=0,
                         symbol="SingleSequence")
          public boolean getSingleSequence()
                                                                                                                                                                                                                                                                                                                                                                                   throws PropertyNotPresentException

      Description copied from interface: `MPEGVideoDescriptor`

      Determines whether the described MPEG video essence consists of a single MPEG sequence or if there are a number of sequences. Returns `true` if the sequence has only one sequence and `false` if it contains more than one. This is an optional property.

      Specified by:
        `getSingleSequence` in interface `MPEGVideoDescriptor`
      Returns:
        Does the described essence contain only a single sequence?
      Throws:
        `PropertyNotPresentException` - The optional single sequence property is not present for this MPEG video descriptor.

    - #### setSingleSequence

          @MediaPropertySetter(value="SingleSequence")
          public void setSingleSequence(Boolean singleSequence)

      Description copied from interface: `MPEGVideoDescriptor`

      Sets whether the described MPEG video essence consists of a single MPEG sequence or if there are a number of sequences. Set to `true` if the sequence has only one sequence and `false` if it contains more than one. Set this optional property to `null` to omit it.

      Specified by:
        `setSingleSequence` in interface `MPEGVideoDescriptor`
      Parameters:
        `singleSequence` - Does the described essence contain only a single sequence?

    - #### clone

          public MPEGVideoDescriptor clone()

      Description copied from interface: `InterchangeObject`

      Create a cloned copy of this interchange object.

      Specified by:
        `clone` in interface `MediaEntity`
      Specified by:
        `clone` in interface `AAFFileDescriptor`
      Specified by:
        `clone` in interface `CDCIDescriptor`
      Specified by:
        `clone` in interface `EssenceDescriptor`
      Specified by:
        `clone` in interface `InterchangeObject`
      Specified by:
        `clone` in interface `MPEGVideoDescriptor`
      Specified by:
        `clone` in interface `PictureDescriptor`
      Overrides:
        `clone` in class `CDCIDescriptorImpl`
      Returns:
        Cloned copy of this interchange object.

(c)2007-2016 Richard Cartwright, all rights reserved. Licensed under Apache 2 license and subject to the AMWA IPR policy.