Media Authoring
with Java API

tv.amwa.maj.entity
Class MPEGVideoDescriptor

java.lang.Object
  extended by tv.amwa.maj.entity.InterchangeObject
      extended by tv.amwa.maj.entity.EssenceDescriptor
          extended by tv.amwa.maj.entity.AAFFileDescriptor
              extended by tv.amwa.maj.entity.DigitalImageDescriptor
                  extended by tv.amwa.maj.entity.CDCIDescriptor
                      extended by tv.amwa.maj.entity.MPEGVideoDescriptor
All Implemented Interfaces:
Serializable, Cloneable, MAJCommon, AAFFileDescriptor, CDCIDescriptor, DigitalImageDescriptor, EssenceDescriptor, InterchangeObject, MPEGVideoDescriptor, XMLSerializable

@AAFClass(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.")
public class MPEGVideoDescriptor
extends CDCIDescriptor
implements MPEGVideoDescriptor, Serializable, Cloneable, MAJCommon

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

THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.

Author:
Richard Cartwright
See Also:
Serialized Form

Nested Class Summary
static class MPEGVideoDescriptor.XMLHandler
           
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.DigitalImageDescriptor
DigitalImageDescriptor.DigitalImageDescriptorXMLHandler, DigitalImageDescriptor.VideoLineMapXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.AAFFileDescriptor
AAFFileDescriptor.FileDescriptorXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.EssenceDescriptor
EssenceDescriptor.EssenceDescriptorXMLHandler, EssenceDescriptor.LocatorXMLHandler, EssenceDescriptor.SubDescriptorXMLHandler
 
Nested classes/interfaces inherited from class tv.amwa.maj.entity.InterchangeObject
InterchangeObject.InterchangeObjectXMLHandler
 
Field Summary
static String MPEGVIDEODESCRIPTOR_TAG
           
 
Fields inherited from class tv.amwa.maj.entity.CDCIDescriptor
CDCIDESCRIPTOR_TAG
 
Fields inherited from class tv.amwa.maj.entity.DigitalImageDescriptor
DIGITALIMAGEDESCRIPTOR_ITEM
 
Fields inherited from class tv.amwa.maj.entity.AAFFileDescriptor
FILEDESCRIPTOR_ITEM
 
Fields inherited from class tv.amwa.maj.entity.EssenceDescriptor
ESSENCEDESCRIPTOR_ITEM
 
Fields inherited from interface tv.amwa.maj.iface.CDCIDescriptor
ALPHASAMPLINGWIDTH_DEFAULT, BLACKREFERENCELEVEL_DEFAULT, COLORSITING_DEFAULT, PADDINGBITS_DEFAULT, REVERSEDBYTEORDER_DEFAULT, VERTICALSUBSAMPLING_DEFAULT
 
Fields inherited from interface tv.amwa.maj.iface.DigitalImageDescriptor
ALPHATRANSPARENCY_DEFAULT, DISPLAYF2OFFSET_DEFAULT, FIELDENDOFFSET_DEFAULT, FIELDSTARTOFFSET_DEFAULT, IMAGEALIGNMENTFACTOR_DEFAULT, STOREDF2OFFSET_DEFAULT, Uncompressed
 
Constructor Summary
MPEGVideoDescriptor(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 mob is associated with video essence that is represented and coded according to the MPEG specifications.
 
Method Summary
 void appendXMLChildren(Node parent)
          Append child elements to the given parent node to serialize the value of an object to an XML fragment.
 MPEGVideoDescriptor clone()
          Creates a cloned copy of this entity.
 boolean equals(Object o)
          Tests to see if the given object is equal to 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.
 int hashCode()
          Returns a hash code value for this interchange object.
 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 setPropertiesFromInterface(MPEGVideoDescriptor castFrom)
           
 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.entity.CDCIDescriptor
getAlphaSamplingWidth, getBlackReferenceLevel, getColorRange, getColorSiting, getComponentWidth, getHorizontalSubsampling, getPaddingBits, getReversedByteOrder, getVerticalSubsampling, getWhiteReferenceLevel, setAlphaSamplingWidth, setBlackReferenceLevel, setColorRange, setColorSiting, setComponentWidth, setHorizontalSubsampling, setPaddingBits, setPropertiesFromInterface, setReversedByteOrder, setVerticalSubsampling, setWhiteReferenceLevel
 
Methods inherited from class tv.amwa.maj.entity.DigitalImageDescriptor
areDisplayValuesPresent, areSampledValuesPresent, getActiveFormatDescriptor, getAlphaTransparency, getCodingEquations, getColorPrimaries, getCompression, getDisplayF2Offset, getDisplayHeight, getDisplayView, getDisplayWidth, getDisplayXOffset, getDisplayYOffset, getFieldDominance, getFieldEndOffset, getFieldStartOffset, getFrameLayout, getImageAlignmentFactor, getImageAspectRatio, getSampledHeight, getSampledView, getSampledWidth, getSampledXOffset, getSampledYOffset, getSignalStandard, getStoredF2Offset, getStoredHeight, getStoredView, getStoredWidth, getTransferCharacteristic, getVideoLineMap, getVideoLineMapSize, setActiveFormatDescriptor, setAlphaTransparency, setCodingEquations, setColorPrimaries, setCompression, setDisplayF2Offset, setDisplayView, setFieldDominance, setFieldEndOffset, setFieldStartOffset, setFrameLayout, setImageAlignmentFactor, setImageAspectRatio, setPropertiesFromInterface, setSampledView, setSignalStandard, setStoredF2Offset, setStoredHeight, setStoredView, setStoredWidth, setTransferCharacteristic, setVideoLineMap
 
Methods inherited from class tv.amwa.maj.entity.AAFFileDescriptor
describesStaticEssence, getCodecDefinition, getContainerFormat, getLength, getLinkedSlotID, getSampleRate, setCodecDefinition, setContainerFormat, setDescribesStaticEssence, setDescribesTimeVaryingEssence, setLength, setLinkedSlotID, setPropertiesFromInterface, setSampleRate
 
Methods inherited from class tv.amwa.maj.entity.EssenceDescriptor
appendLocator, appendSubDescriptor, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt, setPropertiesFromInterface
 
Methods inherited from class tv.amwa.maj.entity.InterchangeObject
castFromInterface, countProperties, createOptionalPropertyValue, disableGenerationTracking, enableGenerationTracking, getDefinition, getGeneration, getGenerationAUID, getProperties, getPropertyValue, isGenerationTracked, isPropertyPresent, omitOpionalProperty, registerImplementation, setPropertiesFromInterface, setPropertyValue, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface tv.amwa.maj.iface.CDCIDescriptor
getAlphaSamplingWidth, getBlackReferenceLevel, getColorRange, getColorSiting, getComponentWidth, getHorizontalSubsampling, getPaddingBits, getReversedByteOrder, getVerticalSubsampling, getWhiteReferenceLevel, setAlphaSamplingWidth, setBlackReferenceLevel, setColorRange, setColorSiting, setComponentWidth, setHorizontalSubsampling, setPaddingBits, setReversedByteOrder, setVerticalSubsampling, setWhiteReferenceLevel
 
Methods inherited from interface tv.amwa.maj.iface.DigitalImageDescriptor
areDisplayValuesPresent, areSampledValuesPresent, getActiveFormatDescriptor, getAlphaTransparency, getCodingEquations, getColorPrimaries, getCompression, getDisplayF2Offset, getDisplayView, getFieldDominance, getFieldEndOffset, getFieldStartOffset, getFrameLayout, getImageAlignmentFactor, getImageAspectRatio, getSampledView, getSignalStandard, getStoredF2Offset, getStoredView, getTransferCharacteristic, getVideoLineMap, getVideoLineMapSize, setActiveFormatDescriptor, setAlphaTransparency, setCodingEquations, setColorPrimaries, setCompression, setDisplayF2Offset, setDisplayView, setFieldDominance, setFieldEndOffset, setFieldStartOffset, setFrameLayout, setImageAlignmentFactor, setImageAspectRatio, setSampledView, setSignalStandard, setStoredF2Offset, setStoredView, setTransferCharacteristic, setVideoLineMap
 
Methods inherited from interface tv.amwa.maj.iface.AAFFileDescriptor
getCodecDefinition, getContainerFormat, getLength, getLinkedSlotID, getSampleRate, setCodecDefinition, setContainerFormat, setLength, setLinkedSlotID, setSampleRate
 
Methods inherited from interface tv.amwa.maj.iface.EssenceDescriptor
appendLocator, appendSubDescriptor, countLocators, countSubDescriptors, getLocatorAt, getLocators, getSubDescriptorAt, getSubDescriptors, insertLocatorAt, insertSubDescriptorAt, prependLocator, prependSubDescriptor, removeLocatorAt, removeSubDescriptorAt
 
Methods inherited from interface tv.amwa.maj.iface.InterchangeObject
countProperties, createOptionalPropertyValue, disableGenerationTracking, enableGenerationTracking, getDefinition, getGeneration, getGenerationAUID, getProperties, getPropertyValue, isGenerationTracked, isPropertyPresent, omitOpionalProperty, setPropertyValue
 
Methods inherited from interface tv.amwa.maj.entity.MAJCommon
toString
 

Field Detail

MPEGVIDEODESCRIPTOR_TAG

public static final String MPEGVIDEODESCRIPTOR_TAG
See Also:
Constant Field Values
Constructor Detail

MPEGVideoDescriptor

public MPEGVideoDescriptor(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 mob 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

setPropertiesFromInterface

public final void setPropertiesFromInterface(MPEGVideoDescriptor castFrom)
See Also:
InterchangeObject.setPropertiesFromInterface(tv.amwa.maj.iface.InterchangeObject)

getBitRate

@AAFProperty(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)
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

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

@AAFProperty(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)
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

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

@AAFProperty(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)
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

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

@AAFProperty(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)
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

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

@AAFProperty(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)
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

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

@AAFProperty(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)
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

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

@AAFProperty(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)
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

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

@AAFProperty(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)
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

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

@AAFProperty(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)
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

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

@AAFProperty(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)
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

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?

equals

public boolean equals(Object o)
Description copied from interface: MAJCommon

Tests to see if the given object is equal to this interchange object. To be equal, the given value must be not null, share the same interface to its value and each of the properties of the value must each be equal.

Specified by:
equals in interface MAJCommon
Overrides:
equals in class CDCIDescriptor
Parameters:
o - Object to test for equality with.
Returns:
Is the given object equals to this value?
See Also:
Object.equals(Object)

hashCode

public int hashCode()
Description copied from interface: MAJCommon

Returns a hash code value for this interchange object.

Specified by:
hashCode in interface MAJCommon
Overrides:
hashCode in class CDCIDescriptor
Returns:
Hash code value for this interchange object.
See Also:
Object.hashCode()

clone

public MPEGVideoDescriptor clone()
Description copied from interface: MAJCommon

Creates a cloned copy of this entity. The clone will be initialized to have the same value as this value but exists independently from then on. Changes to this value will not effect the clone and changes to the clone will not effect this. MAJ API clones are true deep clones with no shared references to areas of memory within the original.

This method does not throw a CloneNotSupportedException as all entity values must implement the Cloneable interface. If a cloning error does occur, a null value will be returned but this is very unlikely to happen.

Specified by:
clone in interface MAJCommon
Overrides:
clone in class CDCIDescriptor
Returns:
Independent clone of this value, which is a deep copy.
See Also:
Object.clone()

appendXMLChildren

public void appendXMLChildren(Node parent)
Description copied from interface: XMLSerializable

Append child elements to the given parent node to serialize the value of an object to an XML fragment. Methods of the XMLBuilder class are provided to help with this process.

Specified by:
appendXMLChildren in interface XMLSerializable
Overrides:
appendXMLChildren in class CDCIDescriptor
Parameters:
parent - XML parent element to append child nodes to.

Media Authoring
with Java API

(c) 2007-2008 Richard Cartwright, all rights reserved. Subject to the terms of the AAF SDK Public Source License.