Media Authoring
with Java API

tv.amwa.maj.entity
Class CDCIDescriptor

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
All Implemented Interfaces:
Serializable, Cloneable, MAJCommon, AAFFileDescriptor, CDCIDescriptor, DigitalImageDescriptor, EssenceDescriptor, InterchangeObject, XMLSerializable
Direct Known Subclasses:
MPEGVideoDescriptor

@AAFClass(uuid1=218169601,
          uuid2=257,
          uuid3=10240,
          uuid4={6,14,43,52,2,6,1,1},
          definedName="CDCIDescriptor",
          description="The CDCIDescriptor class specifies that a file SourceMob is associated with video essence formatted with one luminance component and two color-difference components as specified in this document.")
public class CDCIDescriptor
extends DigitalImageDescriptor
implements CDCIDescriptor, Serializable, Cloneable, MAJCommon

Implements the description of a file of video essence formatted with one luminance component and two color-difference components, as specified according to the AAF object specification v1.1. This format is also known as "YCbCr".

THE COMMENTS FOR THIS CLASS ARE INCOMPLETE.

Author:
Richard Cartwright
See Also:
Serialized Form

Nested Class Summary
static class CDCIDescriptor.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 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
CDCIDescriptor(ContainerDefinition containerFormat, int storedHeight, int storedWidth, LayoutType frameLayout, int[] videoLineMap, Rational imageAspectRatio, int horizontalSubsampling, int componentWidth)
          Creates and initializes a new CDCI descriptor, which specifies that a file source mob is associated with video essence that is formatted with one luminance component and two color-difference components.
 
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.
 CDCIDescriptor 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 getAlphaSamplingWidth()
          Returns the alpha sampling width property of the CDCI descriptor, which specifies the number of bits used to store the alpha component.
 int getBlackReferenceLevel()
          Returns the black reference level property for this CDCI descriptor, which specifies the digital luminance component value associated with black.
 int getColorRange()
          Returns the color range property for this CDCI descriptor, which specifies the range of allowable digital chrominance component values.
 ColorSitingType getColorSiting()
          Returns the color siting property of the CDCI descriptor, which specifies how to compute subsampled chrominance values.
 int getComponentWidth()
          Returns the component width property of this CDCI descriptor, which specifies the number of bits used to store each component.
 int getHorizontalSubsampling()
          Returns the horizontal subsampling property for this CDCI descriptor, which specifies the ratio of luminance sampling to chrominance sampling in the horizontal direction.
 short getPaddingBits()
          Returns the padding bits property of the CDCI descriptor, which specifies the number of bits padded to each pixel.
 boolean getReversedByteOrder()
          Sets the reversed byte order property of the CDCI descriptor, which specifies whether the luma and chroma sample order is reversed relative to the order defined by ITU-R BT.601.
 int getVerticalSubsampling()
          Returns the vertical subsampling property of the CDCI descriptor, which specifies the ratio of luminance sampling to chrominance sampling in the vertical direction.
 int getWhiteReferenceLevel()
          Sets the white reference level property of this CDCI descriptor, which specifies the digital luminance component component value associated with white.
 int hashCode()
          Returns a hash code value for this interchange object.
 void setAlphaSamplingWidth(Integer alphaSamplingWidth)
          Sets the alpha sampling width property of the CDCI descriptor, which specifies the number of bits used to store the alpha component.
 void setBlackReferenceLevel(Integer blackReferenceLevel)
          Sets the black reference level property for this CDCI descriptor, which specifies the digital luminance component value associated with black.
 void setColorRange(Integer colorRange)
          Sets the color range property for this CDCI descriptor, which specifies the range of allowable digital chrominance component values.
 void setColorSiting(ColorSitingType colorSiting)
          Sets the color siting property of the CDCI descriptor, which specifies how to compute subsampled chrominance values.
 void setComponentWidth(int componentWidth)
          Sets the component width property of this CDCI descriptor, which specifies the number of bits used to store each component.
 void setHorizontalSubsampling(int horizontalSubsampling)
          Sets the horizontal subsampling property for this CDCI descriptor, which specifies the ratio of luminance sampling to chrominance sampling in the horizontal direction.
 void setPaddingBits(Short paddingBits)
          Sets the padding bits property of this CDCI descriptor, which specifies the number of bits padded to each pixel.
 void setPropertiesFromInterface(CDCIDescriptor castFrom)
           
 void setReversedByteOrder(Boolean reversedByteOrder)
          Sets the reversed byte order property of the CDCI descriptor, which specifies whether the luma and chroma sample order is reversed relative to the order defined by ITU-R BT.601.
 void setVerticalSubsampling(Integer verticalSubsampling)
          Sets the vertical subsampling property of the CDCI descriptor, which specifies the ratio of luminance sampling to chrominance sampling in the vertical direction.
 void setWhiteReferenceLevel(Integer whiteReferenceLevel)
          Sets the white reference level property of this CDCI descriptor, which specifies the digital luminance component component value associated with white.
 
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, wait, wait, wait
 
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

CDCIDESCRIPTOR_TAG

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

CDCIDescriptor

public CDCIDescriptor(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 CDCI descriptor, which specifies that a file source mob is associated with video essence that is formatted with one luminance component and two color-difference components. This format is commonly known as "YCbCr".

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 of the permintted ranges.
Method Detail

setPropertiesFromInterface

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

getAlphaSamplingWidth

@AAFProperty(uuid1=67175683,
             uuid2=1792,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="AlphaSamplingWidth",
             typeName="UInt32",
             optional=true,
             uniqueIdentifier=false,
             pid=13065)
public int getAlphaSamplingWidth()
Description copied from interface: CDCIDescriptor

Returns the alpha sampling width property of the CDCI descriptor, which specifies the number of bits used to store the alpha component.

If this optional property is not present, its default value is returned.

Specified by:
getAlphaSamplingWidth in interface CDCIDescriptor
Returns:
Alpha sampling width property of the CDCI descriptor.
See Also:
CDCIDescriptor.ALPHASAMPLINGWIDTH_DEFAULT

setAlphaSamplingWidth

public void setAlphaSamplingWidth(Integer alphaSamplingWidth)
                           throws IllegalArgumentException
Description copied from interface: CDCIDescriptor

Sets the alpha sampling width property of the CDCI descriptor, which specifies the number of bits used to store the alpha component.

This property is optional and has a default value of 0. To omit this optional property, call this method with null.

Specified by:
setAlphaSamplingWidth in interface CDCIDescriptor
Parameters:
alphaSamplingWidth - Alpha sampling width property of the CDCI descriptor.
Throws:
IllegalArgumentException - The giv en alpha sampling width value is negative.
See Also:
CDCIDescriptor.ALPHASAMPLINGWIDTH_DEFAULT

getBlackReferenceLevel

@AAFProperty(uuid1=67175683,
             uuid2=768,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,1},
             definedName="BlackReferenceLevel",
             typeName="UInt32",
             optional=true,
             uniqueIdentifier=false,
             pid=13060)
public int getBlackReferenceLevel()
Description copied from interface: CDCIDescriptor

Returns the black reference level property for this CDCI descriptor, which specifies the digital luminance component value associated with black.

For CCIR-601/2, the value is 16 for 8-bit video and 64 for 10-bit video. For YUV, the value is 0. These are typical values; other values will not be disallowed by the MAJ API implementation.

The same value is used in CDCI and RGBA when standard colorspace conversion is used.

If the property is omitted, its default value will be returned.

Specified by:
getBlackReferenceLevel in interface CDCIDescriptor
Returns:
Black reference level of the CDCI descriptor.
See Also:
CDCIDescriptor.BLACKREFERENCELEVEL_DEFAULT

setBlackReferenceLevel

public void setBlackReferenceLevel(Integer blackReferenceLevel)
                            throws IllegalArgumentException
Description copied from interface: CDCIDescriptor

Sets the black reference level property for this CDCI descriptor, which specifies the digital luminance component value associated with black.

For CCIR-601/2, the value is 16 for 8-bit video and 64 for 10-bit video. For YUV, the value is 0. These are typical values; other values will not be disallowed by the MAJ API implementation.

The same value is used in CDCI and RGBA when standard colorspace conversion is used.

This property is optional and has a default value of 0. To omit the property, call this method with null.

Specified by:
setBlackReferenceLevel in interface CDCIDescriptor
Parameters:
blackReferenceLevel - Black reference level of the CDCI descriptor.
Throws:
IllegalArgumentException - The given black reference level is negative.
See Also:
CDCIDescriptor.BLACKREFERENCELEVEL_DEFAULT

getColorRange

@AAFProperty(uuid1=67175683,
             uuid2=1280,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="ColorRange",
             typeName="UInt32",
             optional=true,
             uniqueIdentifier=false,
             pid=13062)
public int getColorRange()
Description copied from interface: CDCIDescriptor

Returns the color range property for this CDCI descriptor, which specifies the range of allowable digital chrominance component values. Chrominance values are unsigned and the range is centered on 128 for 8-bit video and 512 for 10-bit video. This value is used for both chrominance components.

For CCIR-601/2, the range is 225 for 8-bit video and 897 for 10-bit video. For YUV, the range is 255 for 8-bit video and 1023 for 10-bit video. These are typical values; other values will not be disallowed by the MAJ API implementation.

If this optional property is not present, the default value is returned. The default value is the maximum unsigned integer value for the component size.

Specified by:
getColorRange in interface CDCIDescriptor
Returns:
Color range for the CDCI descriptor.
See Also:
CDCIDescriptor.getComponentWidth()

setColorRange

public void setColorRange(Integer colorRange)
                   throws IllegalArgumentException
Description copied from interface: CDCIDescriptor

Sets the color range property for this CDCI descriptor, which specifies the range of allowable digital chrominance component values. Chrominance values are unsigned and the range is centered on 128 for 8-bit video and 512 for 10-bit video. This value is used for both chrominance components.

For CCIR-601/2, the range is 225 for 8-bit video and 897 for 10-bit video. For YUV, the range is 255 for 8-bit video and 1023 for 10-bit video. hese are typical values; other values will not be disallowed by the MAJ API implementation.

This property is optional. The default value is the maximum unsigned integer value for the component size. To omit this optional property, call this method with null.

Specified by:
setColorRange in interface CDCIDescriptor
Parameters:
colorRange - Color range for the CDCI descriptor.
Throws:
IllegalArgumentException - Cannot set the color range property of this CDCI descriptor to a negative value.
See Also:
CDCIDescriptor.getComponentWidth()

getColorSiting

@AAFProperty(uuid1=67175681,
             uuid2=1536,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,1},
             definedName="ColorSiting",
             typeName="ColorSitingType",
             optional=true,
             uniqueIdentifier=false,
             pid=13059)
public ColorSitingType getColorSiting()
Description copied from interface: CDCIDescriptor

Returns the color siting property of the CDCI descriptor, which specifies how to compute subsampled chrominance values.

Valid values are:

The color siting property is optional and has a default value of ColorSitingType.CoSiting. The default value will be returned if the property is not present.

Specified by:
getColorSiting in interface CDCIDescriptor
Returns:
Color siting for the CDCI descriptor.
See Also:
CDCIDescriptor.COLORSITING_DEFAULT

setColorSiting

public void setColorSiting(ColorSitingType colorSiting)
Description copied from interface: CDCIDescriptor

Sets the color siting property of the CDCI descriptor, which specifies how to compute subsampled chrominance values.

Valid values are:

The color siting property is optional and has a default value of ColorSitingType.CoSiting. Calling this method with null to omit this property.

Specified by:
setColorSiting in interface CDCIDescriptor
Parameters:
colorSiting - Color siting for the CDCI descriptor.
See Also:
CDCIDescriptor.COLORSITING_DEFAULT

getComponentWidth

@AAFProperty(uuid1=67175683,
             uuid2=2560,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="ComponentWidth",
             typeName="UInt32",
             optional=false,
             uniqueIdentifier=false,
             pid=13057)
public int getComponentWidth()
Description copied from interface: CDCIDescriptor

Returns the component width property of this CDCI descriptor, which specifies the number of bits used to store each component. Typical values can be 8, 10, 12, 14, or 16, but others are permitted by the MAJ API implementation. 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.

Specified by:
getComponentWidth in interface CDCIDescriptor
Returns:
Component width for the CDCI descriptor.
See Also:
CDCIDescriptor.getPaddingBits()

setComponentWidth

public void setComponentWidth(int componentWidth)
                       throws IllegalArgumentException
Description copied from interface: CDCIDescriptor

Sets the component width property of this CDCI descriptor, which specifies the number of bits used to store each component. Typical values can be 8, 10, 12, 14, or 16, but others are permitted by the MAJ API implementation. 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.

Specified by:
setComponentWidth in interface CDCIDescriptor
Parameters:
componentWidth - Component width for the CDCI descriptor.
Throws:
IllegalArgumentException - The given component width is negative.
See Also:
CDCIDescriptor.getPaddingBits()

getHorizontalSubsampling

@AAFProperty(uuid1=67175681,
             uuid2=1280,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,1},
             definedName="HorizontalSubsampling",
             typeName="UInt32",
             optional=false,
             uniqueIdentifier=false,
             pid=13058)
public int getHorizontalSubsampling()
Description copied from interface: CDCIDescriptor

Returns the horizontal subsampling property for this CDCI descriptor, which specifies the 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. Another typical value is 1; however other values are permitted by the MAJ API implementation.

Specified by:
getHorizontalSubsampling in interface CDCIDescriptor
Returns:
Horizontal subsampling of the CDCI descriptor.

setHorizontalSubsampling

public void setHorizontalSubsampling(int horizontalSubsampling)
                              throws IllegalArgumentException
Description copied from interface: CDCIDescriptor

Sets the horizontal subsampling property for this CDCI descriptor, which specifies the 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. Another typical value is  1; however other values are permitted by the MAJ API implementation.

Specified by:
setHorizontalSubsampling in interface CDCIDescriptor
Parameters:
horizontalSubsampling - Horizontal subsampling of the CDCI descriptor.
Throws:
IllegalArgumentException

getPaddingBits

@AAFProperty(uuid1=68681988,
             uuid2=0,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="PaddingBits",
             typeName="Int16",
             optional=true,
             uniqueIdentifier=false,
             pid=13063)
public short getPaddingBits()
Description copied from interface: CDCIDescriptor

Returns the padding bits property of the CDCI descriptor, which specifies the number of bits padded to each pixel.

If this optional property is not present, its default value is returned.

Specified by:
getPaddingBits in interface CDCIDescriptor
Returns:
Padding bits property of the CDCI descriptor.
See Also:
CDCIDescriptor.PADDINGBITS_DEFAULT

setPaddingBits

public void setPaddingBits(Short paddingBits)
Description copied from interface: CDCIDescriptor

Sets the padding bits property of this CDCI descriptor, which specifies the number of bits padded to each pixel.

This is an optional property with a default value of 0. To omit this optional property, call this method with null.

Specified by:
setPaddingBits in interface CDCIDescriptor
Parameters:
paddingBits - Padding bits of the CDCI descriptor.
See Also:
CDCIDescriptor.PADDINGBITS_DEFAULT

getReversedByteOrder

@AAFProperty(uuid1=50397697,
             uuid2=2560,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,5},
             definedName="ReversedByteOrder",
             typeName="Boolean",
             optional=true,
             uniqueIdentifier=false,
             pid=13067)
public boolean getReversedByteOrder()
Description copied from interface: CDCIDescriptor

Sets the reversed byte order property of the CDCI descriptor, which specifies whether the luma and chroma sample order is reversed relative to the order defined by ITU-R BT.601. The value is false if the sample order conforms conforms to ITU-R BT.601, or true if the order is reversed (i.e. the luma sample precedes the chroma).

If this optional property is not present, its default value is returned.

Specified by:
getReversedByteOrder in interface CDCIDescriptor
Returns:
Is the byte order reversed?
See Also:
CDCIDescriptor.REVERSEDBYTEORDER_DEFAULT, ColorSitingType.Rec601

setReversedByteOrder

public void setReversedByteOrder(Boolean reversedByteOrder)
Description copied from interface: CDCIDescriptor

Sets the reversed byte order property of the CDCI descriptor, which specifies whether the luma and chroma sample order is reversed relative to the order defined by ITU-R BT.601. The value is false if the sample order conforms conforms to ITU-R BT.601, or true if the order is reversed (i.e. the luma sample precedes the chroma).

This property is optional and has a default value of false. To omit this optional property, call this method with null.

Specified by:
setReversedByteOrder in interface CDCIDescriptor
Parameters:
reversedByteOrder - Is the byte order reversed?
See Also:
CDCIDescriptor.REVERSEDBYTEORDER_DEFAULT, ColorSitingType.Rec601

getVerticalSubsampling

@AAFProperty(uuid1=67175681,
             uuid2=4096,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,2},
             definedName="VerticalSubsampling",
             typeName="UInt32",
             optional=true,
             uniqueIdentifier=false,
             pid=13064)
public int getVerticalSubsampling()
Description copied from interface: CDCIDescriptor

Returns the vertical subsampling property of the CDCI descriptor, which specifies the ratio of luminance sampling to chrominance sampling in the vertical 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. Another typical value is 1; however other values are permitted by the MAJ API implementation.

The default value of this optional property will be returned if it is not present.

Specified by:
getVerticalSubsampling in interface CDCIDescriptor
Returns:
Vertical subsampling of the CDCI descriptor.
See Also:
CDCIDescriptor.VERTICALSUBSAMPLING_DEFAULT

setVerticalSubsampling

public void setVerticalSubsampling(Integer verticalSubsampling)
                            throws IllegalArgumentException
Description copied from interface: CDCIDescriptor

Sets the vertical subsampling property of the CDCI descriptor, which specifies the ratio of luminance sampling to chrominance sampling in the vertical 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. Another typical value is 1; however other values are permitted by the MAJ API implementation.

To omit this optional property, call ths method with null.

Specified by:
setVerticalSubsampling in interface CDCIDescriptor
Parameters:
verticalSubsampling - Vertical subsampling of the CDCI descriptor.
Throws:
IllegalArgumentException - The given vertical subsampling property is negative.
See Also:
CDCIDescriptor.VERTICALSUBSAMPLING_DEFAULT

getWhiteReferenceLevel

@AAFProperty(uuid1=67175683,
             uuid2=1024,
             uuid3=0,
             uuid4={6,14,43,52,1,1,1,1},
             definedName="WhiteReferenceLevel",
             typeName="UInt32",
             optional=true,
             uniqueIdentifier=false,
             pid=13061)
public int getWhiteReferenceLevel()
Description copied from interface: CDCIDescriptor

Sets the white reference level property of this CDCI descriptor, which specifies the digital luminance component component value associated with white.

For CCIR-601/2, the value is 235 for 8-bit video and 940 for 10-bit video. For YUV, the value is 255 for 8-bit video and  1023 for 10-bit video. These are typical values; other values will not be disallowed by the MAJ API implementation.

If the property is not present, its default value will be returned. The default value is the maximum unsigned integer value for the component size.

Specified by:
getWhiteReferenceLevel in interface CDCIDescriptor
Returns:
White reference level for the CDCI descriptor.
See Also:
CDCIDescriptor.getComponentWidth()

setWhiteReferenceLevel

public void setWhiteReferenceLevel(Integer whiteReferenceLevel)
                            throws IllegalArgumentException
Description copied from interface: CDCIDescriptor

Sets the white reference level property of this CDCI descriptor, which specifies the digital luminance component component value associated with white.

For CCIR-601/2, the value is 235 for 8-bit video and 940 for 10-bit video. For YUV, the value is 255 for 8-bit video and 1023 for 10-bit video. These are typical values; other values will not be disallowed by the MAJ API implementation.

This property is optional. The default value is the maximum unsigned integer value for the component size. To omit this optional property, call this method with null.

Specified by:
setWhiteReferenceLevel in interface CDCIDescriptor
Parameters:
whiteReferenceLevel - White reference level for the CDCI descriptor.
Throws:
IllegalArgumentException - Cannot set the white reference level of this CDCI descriptor to a negative value.
See Also:
CDCIDescriptor.getComponentWidth()

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 DigitalImageDescriptor
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 DigitalImageDescriptor
Returns:
Hash code value for this interchange object.
See Also:
Object.hashCode()

clone

public CDCIDescriptor 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 EssenceDescriptor
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 DigitalImageDescriptor
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.