IAAFDigitalImageDescriptor is DEPRECATED. More...
Public Member Functions | |
HRESULT | SetCompression ([in] aafUID_constref compression) |
Sets the kind of compression and format of compression information of the video essence data. | |
HRESULT | GetCompression ([out] aafUID_t *pCompression) |
Gets the kind of compression and format of compression information of the video essence data. | |
HRESULT | SetStoredView ([in] aafUInt32 StoredHeight,[in] aafUInt32 StoredWidth) |
Sets the dimension of the stored view. | |
HRESULT | GetStoredView ([out] aafUInt32 *pStoredHeight,[out] aafUInt32 *pStoredWidth) |
Gets the dimension of the stored view. | |
HRESULT | SetSampledView ([in] aafUInt32 SampledHeight,[in] aafUInt32 SampledWidth,[in] aafInt32 SampledXOffset,[in] aafInt32 SampledYOffset) |
Sets the dimensions of sampled view. | |
HRESULT | GetSampledView ([out] aafUInt32 *pSampledHeight,[out] aafUInt32 *pSampledWidth,[out] aafInt32 *pSampledXOffset,[out] aafInt32 *pSampledYOffset) |
Gets the dimensions of sampled view. | |
HRESULT | SetDisplayView ([in] aafUInt32 DisplayHeight,[in] aafUInt32 DisplayWidth,[in] aafInt32 DisplayXOffset,[in] aafInt32 DisplayYOffset) |
Sets the dimension of display view. | |
HRESULT | GetDisplayView ([out] aafUInt32 *pDisplayHeight,[out] aafUInt32 *pDisplayWidth,[out] aafInt32 *pDisplayXOffset,[out] aafInt32 *pDisplayYOffset) |
Gets the dimension of display view. | |
HRESULT | SetFrameLayout ([in] aafFrameLayout_t FrameLayout) |
Sets the frame layout. | |
HRESULT | GetFrameLayout ([out] aafFrameLayout_t *pFrameLayout) |
Gets the frame layout. | |
HRESULT | SetVideoLineMap ([in] aafUInt32 numberElements,[in, size_is(numberElements)] aafInt32 *pVideoLineMap) |
Sets the VideoLineMap property. | |
HRESULT | GetVideoLineMap ([in] aafUInt32 numberElements,[out, size_is(numberElements)] aafInt32 *pVideoLineMap) |
Gets the VideoLineMap property. | |
HRESULT | GetVideoLineMapSize ([out] aafUInt32 *pNumberElements) |
Get the number of elements in the VideoLineMap property array. | |
HRESULT | SetImageAspectRatio ([in] aafRational_t ImageAspectRatio) |
Sets the Image Aspect Ratio property. | |
HRESULT | GetImageAspectRatio ([out] aafRational_t *pImageAspectRatio) |
Gets the Image Aspect Ratio property. | |
HRESULT | SetAlphaTransparency ([in] aafAlphaTransparency_t AlphaTransparency) |
Sets the AlphaTransparency property. | |
HRESULT | GetAlphaTransparency ([out] aafAlphaTransparency_t *pAlphaTransparency) |
Gets the AlphaTransparency property. | |
HRESULT | SetGamma ([in] aafUID_t Gamma) |
Sets the TransferCharacteristic property. | |
HRESULT | GetGamma ([out] aafUID_t *pGamma) |
Gets the TransferCharacteristic property. | |
HRESULT | SetImageAlignmentFactor ([in] aafUInt32 ImageAlignmentFactor) |
Sets the ImageAlignmentFactor property. | |
HRESULT | GetImageAlignmentFactor ([out] aafUInt32 *pImageAlignmentFactor) |
Gets the ImageAlignmentFactor property. |
IAAFDigitalImageDescriptor is DEPRECATED.
Please use IAAFDigitalImageDescriptor2.
The IAAFDigitalImageDescriptor interface is implemented by objects which describe video content data formatted either using RGBA or luminance/chrominance formatting.
The geometry properties accessed by Set/GetStoredView(), Set/GetSampledView(), and Set/GetDisplayView() describe the dimensions and meaning of the stored pixels in the image. The geometry describes the pixels of an uncompressed image. Consequently, the geometry properties are independent of the compression and subsampling.
Three separate geometries - stored, sampled, and display views - are used to define a set of different views on uncompressed digital data. All views are constrained to rectangular regions, which means that storage and sampling has to be rectangular.
The relationships among the views can be shown by the following rectangles, representing areas of a video image:
+------------------+ | | | Stored View | | | +--------------+ +------------------+ <-------- | | | | Sample | Analog Video | | Sampled View | Process | Source | | | | Information | | +--------------+ | | | | | | | | | | | Display View | | | | | | | | | | | +--------------+ | | | | | | | +------------------+ <-------- | | +--------------+
The stored view is the entire data region corresponding to a single uncompressed frame or field of the image, and is defined by its horizontal and vertical dimension properties. The stored view may include data that is not derived from, and would not usually be translated back to, analog data.
The sampled view is defined to be the rectangular dimensions in pixels corresponding to the digital data derived from an analog or digital source. These pixels reside within the rectangle defined by the stored view. This would include the image and auxiliary information included in the analog or digital source. For the capture of video signals, the mapping of these views to the original signal is determined by the VideoLineMap property.
The display view is the rectangular size in pixels corresponding to the viewable area. These pixels contain image data suitable for scaling, display, warping, and other image processing. The display view offsets are relative to the stored view, not to the sampled view.
Although typically the display view is a subset of the sampled view, it is possible that the viewable area may not be a subset of the sampled data. It may overlap or even encapsulate the sampled data. For example, a subset of the input image might be centered in a computer-generated blue screen for use in a chroma key effect. In this case the viewable pixels on disk would contain more than the sampled image.
Each of these data views will have a width and height value. Both the sampled view and the display view also have offsets relative to the top left corner of the stored view.
In addition to the specific error results listed for each method, all methods in this interface may also return one of the following values:
AAFRESULT_NOMEMORY
AAFRESULT_NOT_INITIALIZED
HRESULT IAAFDigitalImageDescriptor::GetAlphaTransparency | ( | [out] aafAlphaTransparency_t * | pAlphaTransparency | ) |
Gets the AlphaTransparency property.
This property is optional.
Valid values: kMaxValueTransparent - means the maximum Alpha value is transparent kMinValueTransparent - means the minimum Alpha value is transparent
Succeeds if all of the following are true:
If this method fails, pAlphaTransparency not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pAlphaTransparency | [out] Alpha Transparency value. |
HRESULT IAAFDigitalImageDescriptor::GetCompression | ( | [out] aafUID_t * | pCompression | ) |
Gets the kind of compression and format of compression information of the video essence data.
This property is optional.
Succeeds if all of the following are true:
If this method fails nothing will be written to *pCompression.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pCompression | [out] Optional. |
HRESULT IAAFDigitalImageDescriptor::GetDisplayView | ( | [out] aafUInt32 * | pDisplayHeight, |
[out] aafUInt32 * | pDisplayWidth, | ||
[out] aafInt32 * | pDisplayXOffset, | ||
[out] aafInt32 * | pDisplayYOffset | ||
) |
Gets the dimension of display view.
Typically this includes the active picture area, but excludes leading blank video lines and any VITC lines. The offset is specified relative to the rectangle specified by Set/GetStoredView().
Note that The specified display rectangle may exist outside the SampledView or even the StoredView.
Succeeds if all of the following are true:
If this method fails, *pDisplayHeight, *pDisplayWidth, pDisplayXOffset, and *pDisplayYOffset will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pDisplayHeight | [out] Number of pixels in vertical dimension of display view. Optional. |
pDisplayWidth | [out] Number of pixels in horizontal dimension of display view. Optional. |
pDisplayXOffset | [out] Number of pixels from the top-left corner of the display view. Optional. |
pDisplayYOffset | [out] Number pixels from the top-left corner of the display view. Optional. |
HRESULT IAAFDigitalImageDescriptor::GetFrameLayout | ( | [out] aafFrameLayout_t * | pFrameLayout | ) |
Gets the frame layout.
The frame layout describes whether all data for a complete sample is in one frame or is split into more than one field.
Values are:
kNoLayout - Default; not a valid value. kFullFrame - Each frame contains a full sample in progressive scan lines. kSeparateFields - Each sample consists of two fields, which when interlaced produce a full sample. kOneField - Each sample consists of two interlaced fields, but only one field is stored in the data stream. kMixedFields - Similar to FullFrame, except the two fields may have been sampled at different times.
Succeeds if all of the following are true:
If this method fails, *pFrameLayout will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pFrameLayout | [out] layout of the frame |
HRESULT IAAFDigitalImageDescriptor::GetGamma | ( | [out] aafUID_t * | pGamma | ) |
Gets the TransferCharacteristic property.
Succeeds if all of the following are true:
If this method fails, pGamma will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pGamma | [out] Optional. |
HRESULT IAAFDigitalImageDescriptor::GetImageAlignmentFactor | ( | [out] aafUInt32 * | pImageAlignmentFactor | ) |
Gets the ImageAlignmentFactor property.
Specifies the alignment when storing the digital essence. For example, a value of 16 means that the image is stored on 16-byte boundaries. The starting point for a field will always be a multiple of 16 bytes. If the field does not end on a 16-byte boundary, it is padded out to the next 16-byte boundary.
Succeeds if all of the following are true:
If this method fails, pImageAlignmentFactor will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pImageAlignmentFactor | [out] Optional. |
HRESULT IAAFDigitalImageDescriptor::GetImageAspectRatio | ( | [out] aafRational_t * | pImageAspectRatio | ) |
Gets the Image Aspect Ratio property.
This ratio describes the ratio between the horizontal size and the vertical size in the intended final image.
Succeeds if all of the following are true:
If this method fails, *pImageAspectRatio will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pImageAspectRatio | [out] Ratio between horizontal and vertical size |
HRESULT IAAFDigitalImageDescriptor::GetSampledView | ( | [out] aafUInt32 * | pSampledHeight, |
[out] aafUInt32 * | pSampledWidth, | ||
[out] aafInt32 * | pSampledXOffset, | ||
[out] aafInt32 * | pSampledYOffset | ||
) |
Gets the dimensions of sampled view.
Typically this includes any VITC lines as well as the active picture area, but excludes leading blank video lines. The offset is specified relative to the rectangle specified by Set/GetStoredView().
Succeeds if all of the following are true:
If any of the input parameters are NULL, the property will not be returned.
If this method fails, *pSampledHeight, *pSampledWidth, pSampledXOffset, and *pSampledYOffset will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pSampledHeight | [out] Number of pixels in vertical dimension of sampled view. |
pSampledWidth | [out] Number of pixels in horizontal dimension of sampled view. |
pSampledXOffset | [out] Number of pixels from top left corner of sampled view. Optional. |
pSampledYOffset | [out] Number of pixels from top left corner of sampled view. Optional. |
HRESULT IAAFDigitalImageDescriptor::GetStoredView | ( | [out] aafUInt32 * | pStoredHeight, |
[out] aafUInt32 * | pStoredWidth | ||
) |
Gets the dimension of the stored view.
Typically this includes leading blank video lines, any VITC lines, as well as the active picture area.
Succeeds if all of the following are true:
If this method fails, the *pStoredHieght and *pStoredWidth will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pStoredHeight | [out] Number of pixels in vertical dimension of stored view. |
pStoredWidth | [out] Number of pixels in horizontal dimension of stored view. |
HRESULT IAAFDigitalImageDescriptor::GetVideoLineMap | ( | [in] aafUInt32 | numberElements, |
[out, size_is(numberElements)] aafInt32 * | pVideoLineMap | ||
) |
Gets the VideoLineMap property.
The video line map specifies 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 interleaved video, there are 2 values in the array.
The values are written to the array specified by pVideoLineMap, which is of size numberElements. The required size may be found by calling GetVideoLineMapSize().
Succeeds if all of the following are true:
If this method fails, videoLineMap will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
AAFRESULT_SMALLBUF
numberElements | [in] The number of elements in the array |
pVideoLineMap | [out, size_is(numberElements)] Array to hold the Video Line Map information |
HRESULT IAAFDigitalImageDescriptor::GetVideoLineMapSize | ( | [out] aafUInt32 * | pNumberElements | ) |
Get the number of elements in the VideoLineMap property array.
Succeeds if all of the following are true:
If this method fails, *pNumberElements will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
pNumberElements | [out] The number of elements in the array |
HRESULT IAAFDigitalImageDescriptor::SetAlphaTransparency | ( | [in] aafAlphaTransparency_t | AlphaTransparency | ) |
Sets the AlphaTransparency property.
This property is optional.
Valid values: kMaxValueTransparent - means the maximum Alpha value is transparent kMinValueTransparent - means the minimum Alpha value is transparent
Succeeds if all of the following are true:
If this method fails, the AlphaTransparency property will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_ILLEGAL_VALUE
AlphaTransparency | [in] Alpha Transparency value. |
HRESULT IAAFDigitalImageDescriptor::SetCompression | ( | [in] aafUID_constref | compression | ) |
Sets the kind of compression and format of compression information of the video essence data.
This property is optional. If there is no compression, the property is omitted.
If this method fails the Data Definition property will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
compression | [in] Optional. |
HRESULT IAAFDigitalImageDescriptor::SetDisplayView | ( | [in] aafUInt32 | DisplayHeight, |
[in] aafUInt32 | DisplayWidth, | ||
[in] aafInt32 | DisplayXOffset, | ||
[in] aafInt32 | DisplayYOffset | ||
) |
Sets the dimension of display view.
Typically this includes the active picture area, but excludes leading blank video lines and any VITC lines. The offset is specified relative to the rectangle specified by Set/GetStoredView().
The following properties are optional:
DisplayHeight - The default value is the storedHeight. Use storedHeight to select the default. DisplayWidth - The default value is the storedWidth. Use storedWidth to select the default. DisplayXOffset - The default value is 0. Use a value of 0 to select the default. DisplayYOffset - The default value is 0. Use a value of 0 to select the default.
Note that The specified display rectangle may exist outside the SampledView or even the StoredView.
If this method fails the DisplayHeight, DisplayWidth, DisplayXOffset and DisplayYOffset properties will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_ILLEGAL_VALUE
DisplayHeight | [in] Number of pixels in vertical dimension of display view. Optional. |
DisplayWidth | [in] Number of pixels in horizontal dimension of display view. Optional. |
DisplayXOffset | [in] Number of pixels from the top-left corner of the display view. Optional. |
DisplayYOffset | [in] Number pixels from the top-left corner of the display view. Optional. |
HRESULT IAAFDigitalImageDescriptor::SetFrameLayout | ( | [in] aafFrameLayout_t | FrameLayout | ) |
Sets the frame layout.
The frame layout describes whether all data for a complete sample is in one frame or is split into more than/ one field.
Values are:
kNoLayout - Default; not a valid value. kFullFrame - Each frame contains a full sample in progressive scan lines. kSeparateFields - Each sample consists of two fields, which when interlaced produce a full sample. kOneField - Each sample consists of two interlaced fields, but only one field is stored in the data stream. kMixedFields - Similar to FullFrame, except the two fields may have been sampled at different times.
Succeeds if all of the following are true:
If this method fails, the Frame Layout property will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_ILLEGAL_VALUE
FrameLayout | [in] layout of the frame |
HRESULT IAAFDigitalImageDescriptor::SetGamma | ( | [in] aafUID_t | Gamma | ) |
Sets the TransferCharacteristic property.
Succeeds if all of the following are true:
If this method fails, the Gamma property will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
Gamma | [in] Optional |
HRESULT IAAFDigitalImageDescriptor::SetImageAlignmentFactor | ( | [in] aafUInt32 | ImageAlignmentFactor | ) |
Sets the ImageAlignmentFactor property.
Specifies the alignment when storing the digital essence. For example, a value of 16 means that the image is stored on 16-byte boundaries. The starting point for a field will always be a multiple of 16 bytes. If the field does not end on a 16-byte boundary, it is padded out to the next 16-byte boundary.
Succeeds if all of the following are true:
If this method fails, the ImageAlignmentFactor property will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
ImageAlignmentFactor | [in] Optional. |
HRESULT IAAFDigitalImageDescriptor::SetImageAspectRatio | ( | [in] aafRational_t | ImageAspectRatio | ) |
Sets the Image Aspect Ratio property.
This ratio describes the ratio between the horizontal size and the vertical size in the intended final image.
Succeeds if all of the following are true:
If this method fails, the Image Access Ratio property will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
ImageAspectRatio | [in] Ratio between horizontal and vertical size |
HRESULT IAAFDigitalImageDescriptor::SetSampledView | ( | [in] aafUInt32 | SampledHeight, |
[in] aafUInt32 | SampledWidth, | ||
[in] aafInt32 | SampledXOffset, | ||
[in] aafInt32 | SampledYOffset | ||
) |
Sets the dimensions of sampled view.
Typically this includes any VITC lines as well as the active picture area, but excludes leading blank video lines. The offset is specified relative to the rectangle specified by Set/GetStoredView().
The following properties are optional:
SampledXOffset - The default value is 0. Use a value of 0 to select the default. SampledYOffset - The default value is 0. Use a value of 0 to select the default.
Succeeds if all of the following are true:
If this method fails, the SampledXOffset and SampledYOffset properties will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_ILLEGAL_VALUE
SampledHeight | [in] Number of pixels in vertical dimension of sampled view. |
SampledWidth | [in] Number of pixels in horizontal dimension of sampled view. |
SampledXOffset | [in] Number of pixels from top left corner of sampled view. Optional. |
SampledYOffset | [in] Number of pixels from top left corner of sampled view. Optional. |
HRESULT IAAFDigitalImageDescriptor::SetStoredView | ( | [in] aafUInt32 | StoredHeight, |
[in] aafUInt32 | StoredWidth | ||
) |
Sets the dimension of the stored view.
Typically this includes leading blank video lines, any VITC lines, as well as the active picture area.
If this method fails the Stored Height and Stored Width properties will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
StoredHeight | [in] Number of pixels in vertical dimension of stored view. |
StoredWidth | [in] Number of pixels in horizontal dimension of stored view. |
HRESULT IAAFDigitalImageDescriptor::SetVideoLineMap | ( | [in] aafUInt32 | numberElements, |
[in, size_is(numberElements)] aafInt32 * | pVideoLineMap | ||
) |
Sets the VideoLineMap property.
The video line map specifies 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 interleaved video, there are 2 values in the array.
Succeeds if all of the following are true:
If this method fails, the Video Line Map property will not be changed.
This method will return the following codes:
AAFRESULT_SUCCESS
AAFRESULT_NULL_PARAM
numberElements | [in] The number of elements in the array |
pVideoLineMap | [in, size_is(numberElements)] Array to hold the Video Line Map information |