WMT_VIDEOIMAGE_SAMPLE structure (wmsdkidl.h)
[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
[This structure is no longer available for use as of the Windows Media Video 9 Image v2 codec. Instead, use WMT_VIDEOIMAGE_SAMPLE2.]
The WMT_VIDEOIMAGE_SAMPLE structure describes a sample for a Video Image stream that uses the Windows Media Video 9 Image codec.
Syntax
typedef struct __WMT_VIDEOIMAGE_SAMPLE {
DWORD dwMagic;
ULONG cbStruct;
DWORD dwControlFlags;
DWORD dwInputFlagsCur;
LONG lCurMotionXtoX;
LONG lCurMotionYtoX;
LONG lCurMotionXoffset;
LONG lCurMotionXtoY;
LONG lCurMotionYtoY;
LONG lCurMotionYoffset;
LONG lCurBlendCoef1;
LONG lCurBlendCoef2;
DWORD dwInputFlagsPrev;
LONG lPrevMotionXtoX;
LONG lPrevMotionYtoX;
LONG lPrevMotionXoffset;
LONG lPrevMotionXtoY;
LONG lPrevMotionYtoY;
LONG lPrevMotionYoffset;
LONG lPrevBlendCoef1;
LONG lPrevBlendCoef2;
} WMT_VIDEOIMAGE_SAMPLE;
Members
dwMagic
Reserved value. Always set to WMT_VIDEOIMAGE_MAGIC_NUMBER.
cbStruct
Size of the structure. Always set to sizeof(WMT_VIDEOIMAGE_SAMPLE).
dwControlFlags
One or more of the following values.
Value | Description |
---|---|
WMT_VIDEOIMAGE_SAMPLE_INPUT_FRAME | Indicates that the sample contains an input image. The image data must immediately follow the structure in the sample and must conform to the values set in the input properties for the stream. |
WMT_VIDEOIMAGE_SAMPLE_OUTPUT_FRAME | Indicates that the sample should result in a unique frame in the stream. If this flag is not set, the remainder of the members of the structure are ignored and the frame in the stream will be identical to the last output stream. |
WMT_VIDEOIMAGE_SAMPLE_USES_CURRENT_INPUT_FRAME | Indicates that the sample is based, either solely or in part, on the current image. If this flag is set, the first set of value members will be used. This flag cannot be set if the sample is input only. |
WMT_VIDEOIMAGE_SAMPLE_USES_PREVIOUS_INPUT_FRAME | Indicates that the sample is based, either solely or in part, on the previous image. If this flag is set, the second set of value members will be used. This flag cannot be set if the sample is input only. |
dwInputFlagsCur
One or more flags indicating the operation to perform on the current image. The following flags are available.
Value | Description |
---|---|
WMT_VIDEOIMAGE_SAMPLE_ADV_BLENDING | Indicates that the sample uses advanced blending. This feature is not supported in the current version. |
WMT_VIDEOIMAGE_SAMPLE_BLENDING | Indicates that the sample contains blending. If this flag is set, the sum of the values of lCurBlendCoef1 and lPrevBlendCoef1 (before multiplying by the denominator) must equal 1. |
WMT_VIDEOIMAGE_SAMPLE_MOTION | Indicates that the sample uses pan and/or zoom. |
WMT_VIDEOIMAGE_SAMPLE_ROTATION | Indicates that the sample uses rotation. This feature is not supported in the current version. |
lCurMotionXtoX
LONG value containing the horizontal scaling factor of the current image. A scaling factor of 1 means no horizontal scaling will be performed for this sample. This value must be multiplied by WMT_VIDEOIMAGE_INTEGER_DENOMINATOR before being set in the structure.
lCurMotionYtoX
Not used.
lCurMotionXoffset
LONG value containing the horizontal offset for the current image, in pixels, in relation to the last output sample. An offset of 0 means that no panning will be performed for this sample. This value must be multiplied by WMT_VIDEOIMAGE_INTEGER_DENOMINATOR before being set in the structure.
lCurMotionXtoY
Not used.
lCurMotionYtoY
LONG value containing the vertical scaling factor of the current image. A scaling factor of 1 means no vertical scaling will be performed for this sample. This value must be multiplied by WMT_VIDEOIMAGE_INTEGER_DENOMINATOR before being set in the structure.
lCurMotionYoffset
LONG value containing the vertical offset for the current image, in pixels, in relation to the last output sample. An offset of 0 means that no panning will be performed for this sample. This value must be multiplied by WMT_VIDEOIMAGE_INTEGER_DENOMINATOR before being set in the structure.
lCurBlendCoef1
LONG value containing the blend coefficient for the current image when combined with the previous image for an output. This coefficient and the coefficient for the previous image must total 1. This value must be multiplied by WMT_VIDEOIMAGE_INTEGER_DENOMINATOR before being set in the structure.
lCurBlendCoef2
Not used.
dwInputFlagsPrev
One or more flags indicating the operation to perform on the previous image. The following flags are available.
Value | Description |
---|---|
WMT_VIDEOIMAGE_SAMPLE_ADV_BLENDING | Indicates that the sample uses advanced blending. This feature is not supported in the current version. |
WMT_VIDEOIMAGE_SAMPLE_BLENDING | Indicates that the sample contains blending. If this flag is set, the sum of the values of lCurBlendCoef1 and lPrevBlendCoef1 (before multiplying by the denominator) must equal 1. |
WMT_VIDEOIMAGE_SAMPLE_MOTION | Indicates that the sample uses pan and/or zoom. |
WMT_VIDEOIMAGE_SAMPLE_ROTATION | Indicates that the sample uses rotation. This feature is not supported in the current version. |
lPrevMotionXtoX
LONG value containing the horizontal scaling factor of the previous image. A scaling factor of 1 means no horizontal scaling will be performed for this sample. This value must be multiplied by WMT_VIDEOIMAGE_INTEGER_DENOMINATOR before being set in the structure.
lPrevMotionYtoX
Not used.
lPrevMotionXoffset
LONG value containing the horizontal offset for the previous image, in pixels, in relation to the last output sample. An offset of 0 means that no panning will be performed for this sample. This value must be multiplied by WMT_VIDEOIMAGE_INTEGER_DENOMINATOR before being set in the structure.
lPrevMotionXtoY
Not used.
lPrevMotionYtoY
LONG value containing the vertical scaling factor of the previous image. A scaling factor of 1 means no vertical scaling will be performed for this sample. This value must be multiplied by WMT_VIDEOIMAGE_INTEGER_DENOMINATOR before being set in the structure.
lPrevMotionYoffset
LONG value containing the vertical offset for the previous image, in pixels, in relation to the last output sample. An offset of 0 means that no panning will be performed for this sample. This value must be multiplied by WMT_VIDEOIMAGE_INTEGER_DENOMINATOR before being set in the structure.
lPrevBlendCoef1
LONG value containing the blend coefficient for the previous image when combined with the current image for an output. This coefficient and the coefficient for the current image must total 1. This value must be multiplied by WMT_VIDEOIMAGE_INTEGER_DENOMINATOR before being set in the structure.
lPrevBlendCoef2
Not used.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only],Windows Media Format 9 Series SDK, or later versions of the SDK |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Header | wmsdkidl.h (include Wmsdk.h) |