DirectShow Animated Header -- Data Types DirectShow Animated Header -- Data Types* Microsoft DirectShow SDK
*Index  *Topic Contents
*Previous Topic: Structures
*Next Topic: Property Sets

Data Types


This section describes the Microsoft® DirectShow™ data types. Closed captioning, DVD, and VPE data types are grouped by functionality below the primary list.
Data type Description
AM_ASPECT_RATIO_MODE Specifies the aspect ratio of a video image in a display window.
AM_SAMPLE_PROPERTY_FLAGS Specifies values for the dwSampleFlags member of the AM_SAMPLE2_PROPERTIES structure.
AM_STREAM_INFO_FLAGS Indicates whether various components of the AM_STREAM_INFO structure have been set.
AMTunerModeType Specifies the frequency of a TV tuner (cable or antenna).
AnalogVideoStandard Specifies the format of the baseband analog video signal.
CameraControlProperty Specifies what part of the camera DirectShow is controlling.
CL_ELEM_FLAGS Specifies cutlist element flags.
CL_ELEM_STATUS Specifies cutlist status flags.
CompressionCaps Indicates video compression capabilities.
FILTER_STATE Specifies a filter's state.
InterleavingMode Specifies how video frames and audio samples will be written to disk.
MPEG2Level Indicates the MPEG2 video level as specified in the MPEG2 video standard. (ISO13818-2)
MPEG2Profile Indicates the MPEG2 video profile as specified in the MPEG2 video standard. (ISO13818-2)
PIN_DIRECTION Indicates a pin's direction.
QualityMessageType Describes a quality message type.
REG_PINFLAG Indicates flags for the dwFlags member in the REGFILTERPINS2 structure.
StreamControlState Specifies the state of the stream.
TunerInputType Specifies the frequency of a TV tuner (cable or antenna).
VfwCaptureDialogs Specifies a dialog box that might exist in a Microsoft Video for Windows® capture driver.
VfwCompressDialogs Specifies a dialog box that might exist in a Video for Windows compression (codec) driver.
VideoControlFlags Specifies video mode of operation (horizontal or vertical flip, external trigger enable, and trigger simulate) for a video device.
VideoProcAmpFlags Specifies how to set video properties.
VideoProcAmpProperty Specifies video properties.

The following data types are specific to closed captioning:
Closed captioning data type Description
AM_LINE21_CCLEVEL Indicates the closed captioning capability level.
AM_LINE21_CCSERVICE Indicates the closed captioning decoder service.
AM_LINE21_CCSTATE Indicates the closed captioning state (on or off).
AM_LINE21_DRAWBGMODE Indicates the closed-captioned text background mode.

The following data types are specific to DVD:
DVD data type Description
AM_DVD_GRAPH_FLAGS Specifies the type of decoder to use in a DVD filter graph.
AM_DVD_STREAM_FLAGS Describes a DVD stream type (video, audio, or subpicture).
DVD_DISC_SIDE Indicates the sides of a DVD disc.
DVD_DOMAIN Indicates the state of a DVD player.
DVD_ERROR Specifies DVD error conditions.
DVD_FRAMERATE Indicates DVD frame rates.
DVD_MENU_ID DVD-Video Title Set (VTS) menu identifiers.
DVD_PLAYBACK_LOCATION Indicates DVD playback location.
DVD_PREFERRED_DISPLAY_MODE Indicates the user's preferred window aspect ratio and conversion method.
DVD_WARNING Specifies DVD warning conditions.

The following lists data types specific to VPE.
VPE data type Description
AMVP_MODE Specifies the various modes for video ports (VP).
AMVP_SELECT_FORMAT_BY Specifies the criteria that the VP mixer should use to select the video format.


AM_ASPECT_RATIO_MODE

Data Types

Specifies the aspect ratio of a video image in a display window.

typedef enum _AM_ASPECT_RATIO_MODE
{
    AM_ARMODE_NONE,			
    AM_ARMODE_LETTER_BOX,		
AM_ARMODE_CROP
} AM_ASPECT_RATIO_MODE;
Values
AM_ARMODE_NONE
No aspect ratio correction.
AM_ARMODE_LETTER_BOX
Put the video in letterbox format. Paint background color in the excess region so the video is not distorted.
AM_ARMODE_CROP
Crop the video to the correct aspect ratio.
Remarks

If the AM_ARMODE_NONE member is specified in this enumerated type, a video stream will always occupy the entire region of the display window when the window is resized. The AM_ARMODE_LETTER_BOX member eliminates video stretching and distortions by keeping the aspect ratio consistent and painting the excess areas of the window a background color.


AM_DVD_GRAPH_FLAGS

Data Types

Specifies the type of decoder to use in a DVD filter graph.


enum {
	AM_DVD_HWDEC_PREFER,
	AM_DVD_HWDEC_ONLY,
	AM_DVD_SWDEC_PREFER,
	AM_DVD_SWDEC_ONLY,
	AM_DVD_NOVPE
} AM_DVD_GRAPH_FLAGS;
Values
AM_DVD_HWDEC_PREFER
Maximum hardware decoding. Default.
AM_DVD_HWDEC_ONLY
Hardware decoding only.
AM_DVD_SWDEC_PREFER
Maximum software decoding.
AM_DVD_SWDEC_ONLY
Software decoding only
AM_DVD_NOVPE
Do not use video port extensions (VPE).
Remarks

Do not combine any of the hardware flags (AM_DVD_HWDEC_*) with any of the software flags (AM_DVD_SWDEC_*). However, you can combine AM_DVD_NOVPE with any of the hardware flags.

See Also

IDvdGraphBuilder::RenderDvdVideoVolume


AM_DVD_STREAM_FLAGS

Data Types

Describes a DVD stream type (video, audio, or subpicture).


enum {
	AM_DVD_STREAM_VIDEO,
	AM_DVD_STREAM_AUDIO,
	AM_DVD_STREAM_SUBPIC
} AM_DVD_STREAM_FLAGS;
Values
AM_DVD_STREAM_VIDEO
DVD video stream.
AM_DVD_STREAM_AUDIO
DVD audio stream.
AM_DVD_STREAM_SUBPIC
DVD subpicture stream.
See Also

AM_DVD_RENDERSTATUS


AM_LINE21_CCLEVEL

Data Types

Indicates the closed captioning capability level.

 typedef enum _AM_LINE21_CCLEVEL {  
    AM_L21_CCLEVEL_TC2
} AM_LINE21_CCLEVEL, *PAM_LINE21_CCLEVEL ;
Values
AM_L21_CCLEVEL_TC2
Capability level 2.
See Also

IAMLine21Decoder::GetDecoderLevel


AM_LINE21_CCSERVICE

Data Types

Indicates the closed captioning decoder service.

 typedef enum _AM_LINE21_CCSERVICE {
    AM_L21_CCSERVICE_None,
    AM_L21_CCSERVICE_Caption1,
    AM_L21_CCSERVICE_Caption2,
    AM_L21_CCSERVICE_Text1,
    AM_L21_CCSERVICE_Text2,
    AM_L21_CCSERVICE_XDS,
} AM_LINE21_CCSERVICE, *PAM_LINE21_CCSERVICE ;
Values
AM_L21_CCSERVICE_None
No current service.
AM_L21_CCSERVICE_Caption1
True captioning, first field. Default service.
AM_L21_CCSERVICE_Caption2
Captioning for secondary language, second field. Generally not used.
AM_L21_CCSERVICE_Text1
First text field. Not currently implemented; provided for future compatibility.
AM_L21_CCSERVICE_Text2
Second text field. Not currently implemented; provided for future compatibility.
AM_L21_CCSERVICE_XDS
Extended Data Services (XDS or EDS). Not currently implemented; provided for future compatibility.
See Also

IAMLine21Decoder::GetCurrentService, IAMLine21Decoder::SetCurrentService


AM_LINE21_CCSTATE

Data Types

Indicates the closed captioning state (on or off).

 typedef enum _AM_LINE21_CCSTATE {
    AM_L21_CCSTATE_Off,
    AM_L21_CCSTATE_On
} AM_LINE21_CCSTATE, *PAM_LINE21_CCSTATE ;
Values
AM_L21_CCSTATE_Off
Closed captioning off.
AM_L21_CCSTATE_On
Closed captioning on.
See Also

IAMLine21Decoder::GetServiceState, IAMLine21Decoder::SetServiceState


AM_LINE21_DRAWBGMODE

Data Types

Indicates the closed captioning text background mode.

 typedef enum _AM_LINE21_DRAWBGMODE {
    AM_L21_DRAWBGMODE_Opaque,
    AM_L21_DRAWBGMODE_Transparent
} AM_LINE21_DRAWBGMODE, *PAM_LINE21_DRAWBGMODE ;
Values
AM_L21_DRAWBGMODE_Opaque
Opaque background.
AM_L21_DRAWBGMODE_Transparent
Transparent background.
See Also

IAMLine21Decoder::GetDrawBackgroundMode, IAMLine21Decoder::SetDrawBackgroundMode


AM_SAMPLE_PROPERTY_FLAGS

Data Types

Specifies values for the dwSampleFlags member of the AM_SAMPLE2_PROPERTIES structure.


enum tagAM_SAMPLE_PROPERTY_FLAGS
     { AM_SAMPLE_SPLICEPOINT        = 0x01,   
       AM_SAMPLE_PREROLL            = 0x02,   
       AM_SAMPLE_DATADISCONTINUITY  = 0x04,   
       AM_SAMPLE_TYPECHANGED        = 0x08,   
       AM_SAMPLE_TIMEVALID          = 0x10,   
       AM_SAMPLE_TIMEDISCONTINUITY  = 0x40,   
       AM_SAMPLE_FLUSH_ON_PAUSE     = 0x80,   
       AM_SAMPLE_STOPVALID          = 0x100,  
       AM_SAMPLE_ENDOFSTREAM        = 0x200,  
       AM_STREAM_MEDIA              = 0,      
       AM_STREAM_CONTROL            = 1       
     };
Values
AM_SAMPLE_SPLICEPOINT
Sample is a splice point (it can be decoded without reference to previous data).
AM_SAMPLE_PREROLL
Sample is a preroll sample.
AM_SAMPLE_DATADISCONTINUITY
Indicates the start of a new segment.
AM_SAMPLE_TYPECHANGED
Sample type changed.
AM_SAMPLE_TIMEVALID
Time is valid.
AM_SAMPLE_TIMEDISCONTINUITY
A time gap in the data starts after this sample. The pbBuffer member of the AM_SAMPLE2_PROPERTIES structure can be NULL in this case.
AM_SAMPLE_FLUSH_ON_PAUSE
For live data only; indicates discard in the paused state.
AM_SAMPLE_STOPVALID
Stop time is valid.
AM_SAMPLE_ENDOFSTREAM
End of stream occurs after this sample. This is reserved for kernel streaming and DirectShow currently doesn't use it.
AM_STREAM_MEDIA
Normal data stream identifier.
AM_STREAM_CONTROL
Control stream identifier. A value greater than 0x7FFFFFFF indicates an application-defined stream.


AM_STREAM_INFO_FLAGS

Data Types

Indicates whether various components of the AM_STREAM_INFO structure have been set.

typedef enum {
    AM_STREAM_INFO_START_DEFINED = 0x00000001,
    AM_STREAM_INFO_STOP_DEFINED  = 0x00000002,
    AM_STREAM_INFO_DISCARDING    = 0x00000004,
    AM_STREAM_INFO_STOP_SEND_EXTRA = 0x00000010
} AM_STREAM_INFO_FLAGS;
Values
AM_STREAM_INFO_START_DEFINED
Indicates a valid stream start time has been set.
AM_STREAM_INFO_STOP_DEFINED
Indicates a valid stream stop time has been set.
AM_STREAM_INFO_DISCARDING
Indicates that stream discarding is currently active.
AM_STREAM_INFO_STOP_SEND_EXTRA
Indicates that the pin will send an extra stream sample upon completion.


AMTunerModeType

Data Types

Specifies the frequency of a TV tuner (cable or antenna).

typedef enum tagAMTunerModeType
    {
        AMTUNER_MODE_DEFAULT,
        AMTUNER_MODE_TV,
        AMTUNER_MODE_FM_RADIO,
        AMTUNER_MODE_AM_RADIO,
        AMTUNER_MODE_DSS
    } AMTunerModeType;
Values
AMTUNER_MODE_DEFAULT
Indicates default tuner mode.
AMTUNER_MODE_TV
Indicates TV tuner mode.
AMTUNER_MODE_FM_RADIO
Indicates FM radio tuner mode.
AMTUNER_MODE_AM_RADIO
Indicates AM radio tuner mode.
AMTUNER_MODE_DSS
Indicates Digital Satellite Service (DSS) tuner mode.


AMVP_MODE

Data Types

Specifies the various modes for video ports.

typedef enum _AMVP_MODE{	
AMVP_MODE_WEAVE,
AMVP_MODE_BOBINTERLEAVED,
AMVP_MODE_BOBNONINTERLEAVED,
AMVP_MODE_SKIPEVEN,
AMVP_MODE_SKIPODD
} AMVP_MODE;
Values
AMVP_MODE_WEAVE
Weave.
AMVP_MODE_BOBINTERLEAVED
Interleaved bob. Bob mode in which resources are allocated to switch to weave mode, for example, on the next frame.
MODE_BOBNONINTERLEAVED
Noninterleaved bob. Bob mode in which resources are not allocated to switch to weave mode.
AMVP_MODE_SKIPEVEN
Skip even fields.
AMVP_MODE_SKIPODD
Skip odd fields.


AMVP_SELECT_FORMAT_BY

Data Types

Specifies the criteria that the VP mixer should use to select the video format.

typedef enum _AMVP_SELECT_FORMAT_BY{
AMVP_DO_NOT_CARE,
AMVP_BEST_BANDWIDTH,
AMVP_INPUT_SAME_AS_OUTPUT
} AMVP_SELECT_FORMAT_BY;
Values
AMVP_DO_NOT_CARE
Format doesn't matter.
AMVP_BEST_BANDWIDTH
Use the best bandwidth.
AMVP_INPUT_SAME_AS_OUTPUT
Use the same input format as output format.


AnalogVideoStandard

Data Types

Specifies the format of the baseband analog video signal.

 typedef enum
    {
        AnalogVideo_None       = 0x00000000
        AnalogVideo_NTSC_M     = 0x00000001,  //        75 IRE Setup
        AnalogVideo_NTSC_M_J   = 0x00000002,  // Japan,  0 IRE Setup
        AnalogVideo_NTSC_433   = 0x00000004

        AnalogVideo_PAL_B      = 0x00000010,
        AnalogVideo_PAL_D      = 0x00000020,
        AnalogVideo_PAL_H      = 0x00000080,
        AnalogVideo_PAL_I      = 0x00000100,
        AnalogVideo_PAL_M      = 0x00000200,
        AnalogVideo_PAL_N      = 0x00000400,
        AnalogVideo_PAL_60     = 0x00000800,
        AnalogVideo_SECAM_B    = 0x00001000,
        AnalogVideo_SECAM_D    = 0x00002000,
        AnalogVideo_SECAM_G    = 0x00004000,
        AnalogVideo_SECAM_H    = 0x00008000,
        AnalogVideo_SECAM_K    = 0x00010000,
        AnalogVideo_SECAM_K1   = 0x00020000,
        AnalogVideo_SECAM_L    = 0x00040000,
        AnalogVideo_SECAM_L1   = 0x00080000,
    } AnalogVideoStandard;
Values
AnalogVideo_None
Digital sensor
AnalogVideo_NTSC_M
NTSC_M
AnalogVideo_NTSC_M_J
NTSC_M_J
AnalogVideo_PAL_B
PAL_B
AnalogVideo_PAL_D
PAL_D
AnalogVideo_PAL_H
PAL_H
AnalogVideo_PAL_I
PAL_I
AnalogVideo_PAL_M
PAL_M
AnalogVideo_PAL_N
PAL_N
AnalogVideo_SECAM_B
SECAM_B
AnalogVideo_SECAM_D
SECAM_D
AnalogVideo_SECAM_G
SECAM_G
AnalogVideo_SECAM_H
SECAM_H
AnalogVideo_SECAM_K
SECAM_K
AnalogVideo_SECAM_K1
SECAM_K1
AnalogVideo_SECAM_L
SECAM_L


CameraControlProperty

Data Types

Specifies what part of the camera DirectShow is controlling.

typedef enum
    {
        CameraControl_Pan = 1,
        CameraControl_Tilt,
        CameraControl_Roll,
        CameraControl_Zoom,
        CameraControl_Exposure,
        CameraControl_Iris,
        CameraControl_Focus
    } CameraControlProperty;
Values
CameraControl_Pan
Control the camera's pan.
CameraControl_Tilt
Control the camera's tilt.
CameraControl_Roll
Control the camera's roll.
CameraControl_Zoom
Control the camera's zoom.
CameraControl_Exposure
Control the camera's exposure.
CameraControl_Iris
Control the camera's iris.
CameraControl_Focus
Control the camera's focus.


CL_ELEM_FLAGS

Data Types

Indicates cutlist element flags.

enum CL_ELEM_FLAGS{
    CL_ELEM_FIRST,
    CL_ELEM_LAST,
    CL_ELEM_NULL,  
    CL_ELEM_ALL,
    CL_ELEM_NONE};
Values
CL_ELEM_FIRST
First element.
CL_ELEM_LAST
Last element.
CL_ELEM_NULL
Null element.
CL_ELEM_ALL
All elements.
CL_ELEM_NONE
No elements.


CL_ELEM_STATUS

Data Types

Indicates cutlist status flags.

enum CL_ELEM_STATUS{
    CL_NOT_PLAYED,
    CL_PLAYING,
    CL_FINISHED,  
    CL_STATE_INVALID,
    CL_STATE_MASK,
    CL_WAIT_FOR_STATE};
Values
CL_NOT_PLAYED
Element has not played.
CL_PLAYING
Element is playing.
CL_FINISHED
Element finished playing.
CL_STATE_INVALID
Invalid state.
CL_STATE_MASK
Mask for invalid states (equals CL_STATE_INVALID).
CL_WAIT_FOR_STATE
Wait flag. For input parameter only.


CompressionCaps

Data Types

Indicates video compression capabilities.


typedef enum {
    CompressionCaps_CanQuality = 0x00000001,
    CompressionCaps_CanCrunch = 0x00000002,
    CompressionCaps_CanKeyFrame = 0x00000004,
    CompressionCaps_CanBFrame = 0x00000008,
    CompressionCaps_CanWindow = 0x0000000A
} CompressionCaps;
Values
CompressionCaps_CanQuality
Video compressor supports the IAMVideoCompression::put_Quality and IAMVideoCompression::get_Quality methods.
CompressionCaps_CanCrunch
Video compressor can compress video to a specified data rate. If the compressor has this capability then the output pin's media type will contain the data rate in the VIDEOINFOHEADER structure's dwBitRate member. The only way to set the data rate is to set dwBitRate.
CompressionCaps_CanKeyFrame
Video compressor supports the IAMVideoCompression::put_KeyFrameRate and IAMVideoCompression::get_KeyFrameRate methods.
CompressionCaps_CanBFrame
Video compressor supports the IAMVideoCompression::put_PFramesPerKeyFrame and IAMVideoCompression::get_PFramesPerKeyFrame methods.
CompressionCaps_CanWindow
Video compressor supports the IAMVideoCompression::put_WindowSize and IAMVideoCompression::get_WindowSize methods.
See Also

IAMVideoCompression


DVD_DISC_SIDE

Data Types

Indicates the sides of a DVD disc.


typedef enum tagDVD_DISC_SIDE {
    DVD_SIDE_A,
    DVD_SIDE_B
} DVD_DISC_SIDE;
Values
DVD_SIDE_A
Side A.
DVD_SIDE_B
Side B.


DVD_DOMAIN

Data Types

Indicates the state of a DVD player.


typedef enum tagDVD_DOMAIN {
    DVD_DOMAIN_FirstPlay,
    DVD_DOMAIN_VideoManagerMenu, 
    DVD_DOMAIN_VideoTitleSetMenu,  
    DVD_DOMAIN_Title,         
    DVD_DOMAIN_Stop     
} DVD_DOMAIN;
Values
DVD_DOMAIN_FirstPlay
Performing default initialization of a DVD disc.
DVD_DOMAIN_VideoManagerMenu
Displaying menus for whole disc.
DVD_DOMAIN_VideoTitleSetMenu
Displaying menus for current title set.
DVD_DOMAIN_Title
Displaying the current title.
DVD_DOMAIN_Stop
Player is in stopped state.


DVD_ERROR

Data Types

Specifies DVD error conditions.


typedef enum _tagDVD_ERROR {
    DVD_ERROR_Unexpected,
    DVD_ERROR_CopyProtectFail,   
    DVD_ERROR_InvalidDVD1_0Disc,
    DVD_ERROR_InvalidDiscRegion,
    DVD_ERROR_LowParentalLevel
} DVD_ERROR;
Values
DVD_ERROR_Unexpected
Something unexpected happened; perhaps content is authored incorrectly. Playback is stopped.
DVD_ERROR_CopyProtectFail
Key exchange for DVD copy protection failed. Playback is stopped.
DVD_ERROR_InvalidDVD1_0Disc
DVD-Video disc is authored incorrectly for specification version 1.x. Playback is stopped.
DVD_ERROR_InvalidDiscRegion
DVD-Video disc is not approved for playback by decoders from this DVD region.
DVD_ERROR_LowParentalLevel
Player parental level is lower than the lowest parental level available in the DVD content. Playback is stopped.
See Also

EC_DVD_ERROR


DVD_FRAMERATE

Data Types

Indicates DVD frame rates.


typedef enum tagDVD_FRAMERATE
{
    DVD_FPS_25, 
    DVD_FPS_30NonDrop 
} DVD_FRAMERATE;
Values
DVD_FPS_25
25 frames per second.
DVD_FPS_30NonDrop
Exactly 30 frames per second.
Remarks

You must know the frame rate to interpret the frame count as time.


DVD_MENU_ID

Data Types

Specifies DVD Video Title Set (VTS) menu identifiers.


typedef enum tagDVD_MENU_ID {
    DVD_MENU_Title,     
    DVD_MENU_Root, 
    DVD_MENU_Subpicture,
    DVD_MENU_Audio,    
    DVD_MENU_Angle,     
    DVD_MENU_Chapter    
} DVD_MENU_ID;
Values
DVD_MENU_Title
Choose a title from any VTS in a DVD-Video volume.
DVD_MENU_Root
Choose the main menu for a specific VTS.
DVD_MENU_Subpicture
Choose a subpicture stream in a VTS.
DVD_MENU_Audio
Choose an audio stream in a VTS.
DVD_MENU_Angle
Choose the angle number in a VTS.
DVD_MENU_Chapter
Choose a chapter in a VTS.
Remarks

The root menu always provides a means of getting to the subpicture, audio, angle and chapter menus if they exist.


DVD_PLAYBACK_LOCATION

Data Types

Indicates DVD playback location.


typedef struct tagDVD_PLAYBACK_LOCATION 
{
ULONG   TitleNum;   
    ULONG   ChapterNum; 
    ULONG   TimeCode;  
} DVD_PLAYBACK_LOCATION;
Members
TitleNum
Title number for the whole disc; Title Track Number (TTN) not Video Title Set_Title Track Number (VTS_TTN).
ChapterNum
Part-of-title number with title. 0xffffffff if not a simple linear movie.
TimeCode
Timecode. Use DVD_TIMECODE for current playback time. 0xffffffff if not a simple linear movie.
Remarks

TitleNum and ChapterNum or TitleNum and TimeCode are sufficient to save the playback location for simple linear movies.


DVD_PREFERRED_DISPLAY_MODE

Data Types

Indicates the user's preferred window aspect ratio and conversion method.


typedef enum tagDVD_PREFERRED_DISPLAY_MODE
{
    DISPLAY_CONTENT_DEFAULT,
    DISPLAY_16x9,
    DISPLAY_4x3_PANSCAN_PREFERRED, 
    DISPLAY_4x3_LETTERBOX_PREFERRED
} DVD_PREFERRED_DISPLAY_MODE;
Values
DISPLAY_CONTENT_DEFAULT
Use the default window size and content type.
DISPLAY_16x9
Use a 16 × 9 window.
DISPLAY_4x3_PANSCAN_PREFERRED
Use a 4 × 3 window and convert to pan-scan, if possible.
DISPLAY_4x3_LETTERBOX_PREFERRED
Use a 4 × 3 window and convert to letterbox, if possible.
Remarks

DVD_PREFERRED_DISPLAY_MODE indicates the user's preferred window aspect ratio and preferred method of conversion of 16 × 9 content to a 4 × 3 window aspect ratio. Pan-scan and letterboxing are the two conversion methods. Displaying a video at the largest possible size inside the display window without any cropping or stretching is called displaying in letterbox format. Pan-scan is specifically cropping a 16 × 9 video for display in a 4 × 3 window using parameters defined by the video author.

This enumerated type indicates a preference of conversion mechanisms because some content can only be displayed using one of these methods. Content that is 4 × 3 is always converted to a 16 × 9 window by using "reverse" letterboxing, where black bars are added to the right and left sides of the display instead of the top and bottom of the display as in the 16 × 9 to 4 × 3 conversion using letterboxing.

The following table shows the conversion method used between the actual content type listed in the first column, and the user display preference setting, indicated by one of the other columns.
Actual content type Content default 16 × 9 4 × 3 pan-scan 4 × 3 letterbox
4 × 3 None Reverse letterbox None None
16 × 9 letterbox only None None Letterbox Letterbox
16 × 9 pan-scan only None None Pan-scan Pan-scan
16 × 9 pan-scan or letterbox None None Pan-scan Letterbox

The native window size used is always the user's preferred size.


DVD_WARNING

Data Types

Specifies DVD warning conditions.

typedef enum _tagDVD_WARNING {
    DVD_WARNING_InvalidDVD1_0Disc=1,
    DVD_WARNING_FormatNotSupported=2,
	DVD_WARNING_IllegalNavCommand=3
} DVD_WARNING;
Values
DVD_WARNING_InvalidDVD1_0Disc
DVD-Video disc is authored incorrectly. Playback can continue, but unexpected behavior might occur.
DVD_WARNING_FormatNotSupported
A decoder would not support the current format. Playback of a stream might not function.
DVD_WARNING_IllegalNavCommand
The internal DVD navigation command processor attempted to process an illegal command.
See Also

EC_DVD_WARNING


FILTER_STATE

Data Types

Specifies a filter's state.

typedef enum _FilterState
   {   State_Stopped   = 0,
       State_Paused    = State_Stopped + 1,
       State_Running   = State_Paused + 1
    }  FILTER_STATE;
Values
State_Stopped
Equal to 0. The filter is not processing data.
State_Paused
Equal to 1. The filter is processing but not rendering data.
State_Running
Equal to 2. The filter is processing and rendering data.


InterleavingMode

Data Types

Specifies how video frames and audio samples will be written to disk.

  typedef enum
    {
        INTERLEAVE_NONE,
        INTERLEAVE_CAPTURE,
        INTERLEAVE_FULL
    } InterleavingMode;

Values
INTERLEAVE_NONE
Write out frames in the order they arrive (noninterleaved). Files must be turned into playback at a later time.
INTERLEAVE_CAPTURE
Approximate interleaving with less overhead than INTERLEAVE_FULL. Geared to video capture.
INTERLEAVE_FULL
Full, precise interleaving of audio samples and video frames. Geared to authoring and playback.


MPEG2Level

Data Types

Indicates the MPEG2 video level as specified in the MPEG2 video standard. (ISO13818-2)

enum MPEG2Level {
    MPEG2Level_Low = 1,
    MPEG2Level_Main,
    MPEG2Level_High1440,
    MPEG2Level_High
};
Values
MPEG2Level_Low
Low level.
MPEG2Level_Main
Main level.
MPEG2Level_High1440
High level.
MPEG2Level_High
Highest level.
Remarks

DVD MPEG-2 video decoders should support MPEG2Level_Low or MPEG2Level_Main.


MPEG2Profile

Data Types

Indicates the MPEG2 video profile as specified in the MPEG2 video standard. (ISO13818-2)

enum MPEG2Profile {
    MPEG2Profile_Simple = 1,
    MPEG2Profile_Main,
    MPEG2Profile_SNRScalable,
    MPEG2Profile_SpatiallyScalable,
    MPEG2Profile_High
};
Values
MPEG2Profile_Simple
Simple.
MPEG2Profile_Main
Main.
MPEG2Profile_SNRScalable
Signal to Noise Ratio (SNR) scalable.
MPEG2Profile_SpatiallyScalable
Spatially scalable.
MPEG2Profile_High
High.
Remarks

DVD video decoders should support MPEG2Profile_Simple or MPEG2Profile_Main.


PIN_DIRECTION

Data Types

Indicates a pin's direction.

typedef enum _PinDirection {
    PINDIR_INPUT,
    PINDIR_OUTPUT
} PIN_DIRECTION;
Values
PINDIR_INPUT
Input pin.
PINDIR_OUTPUT
Output pin.


REG_PINFLAG

Data Types

Indicates flags for the dwFlags member in the REGFILTERPINS2 structure.

enum
{
    REG_PINFLAG_B_ZERO = 0x1,
    REG_PINFLAG_B_RENDERER = 0x2,
    REG_PINFLAG_B_MANY = 0x4,
    REG_PINFLAG_B_OUTPUT = 0x8
} REG_PINFLAG;
Values
REG_PINFLAG_B_ZERO
Flag indicating that the filter has zero instances of this pin.
REG_PINFLAG_B_RENDERER
Flag indicating that the filter renders this input.
REG_PINFLAG_B_MANY
Flag indicating that the filter has more than one instance of this pin.
REG_PINFLAG_B_OUTPUT
Flag indicating that this pin is an output pin.


QualityMessageType

Data Types

Describes a quality message type.

typedef enum {
    Famine,
    Flood
} QualityMessageType;
Values
Famine
Downstream filter needs more data.
Flood
Downstream filter needs less data.


StreamControlState

Data Types

Specifies the state of the stream.

enum StreamControlState {
      STREAM_FLOWING,
      STREAM_DISCARDING
    };
Values
STREAM_FLOWING
Indicates the stream is currently transmitting data.
STREAM_DISCARDING
Discards the samples as they are received.


TunerInputType

Data Types

Specifies the frequency of a TV tuner (cable or antenna).

typedef enum
    {
        TunerInputCable,
        TunerInputAntenna
    } TunerInputType;
Values
TunerInputCable
Indicates cable frequency.
TunerInputAntenna
Indicates broadcast antenna frequency.


VfwCaptureDialogs

Data Types

Specifies a dialog box that might exist in a Video for Windows capture driver.

 typedef enum {
    VfwCaptureDialog_Source = 1,
    VfwCaptureDialog_Format = 2,
    VfwCaptureDialog_Display = 4
} VfwCaptureDialogs;
Values
VfwCaptureDialog_Source
Video source dialog box.
VfwCaptureDialog_Format
Video format dialog box.
VfwCaptureDialog_Display
Video display dialog box.
Remarks

The IAMVfwCaptureDialogs interface uses this enumerated data type.


VfwCompressDialogs

Data Types

Specifies a dialog box that might exist in a Video for Windows compression (codec) driver.

typedef enum {
    VfwCompressDialog_Config = 1,
    VfwCompressDialog_About = 2,
    VfwCompressDialog_QueryConfig = 4,
    VfwCompressDialog_QueryAbout = 8
} VfwCompressDialogs;

Values
VfwCompressDialog_Config
Configure dialog box.
VfwCompressDialog_About
About dialog box.
VfwCompressDialog_QueryConfig
Specifies whether the configure dialog is available.
VfwCompressDialog_QueryAbout
Specifies whether the about dialog is available.
Remarks

The IAMVfwCompressDialogs interface uses this enumerated data type.


VideoControlFlags

Data Types

Specifies the video mode of operation for a video device.

typedef enum tagVideoControlFlags
{
    VideoControlFlag_FlipHorizontal        = 0x0001,
    VideoControlFlag_FlipVertical          = 0x0002,
    VideoControlFlag_ExternalTriggerEnable = 0x0004,
    VideoControlFlag_Trigger               = 0x0008
} VideoControlFlags;
Values
VideoControlFlag_FlipHorizontal
Specifies that the picture is flipped horizontally.
VideoControlFlag_FlipVertical
Specifies that the picture is flipped vertically.
VideoControlFlag_ExternalTriggerEnable
Sets up a stream to capture a trigger from an external source, for example, a push button on a camera. Buffers can be queued to the driver but will not be passed up from the WDM capture driver (for compression, display, or writing to a file) until the external event happens. See Remarks.
VideoControlFlag_Trigger
In software, simulates an external trigger when the stream has the VideoControlFlag_ExternalTriggerEnable flag set.
Remarks

The IAMVideoControl interface uses this enumerated data type.

Multiple capture buffers are queued to a capture driver and are filled at a fixed rate once the stream is put into the "run" state. If the VideoControlFlag_ExternalTriggerEnable flag is set, a filled buffer is not passed up from the WDM capture driver for compression, display, or writing to a file until the external event happens.


VideoProcAmpFlags

Data Types

Specifies how to set video properties.

typedef enum tagVideoProcAmpFlags
    {
        VideoProcAmp_Flags_Manual = 0x0000,
        VideoProcAmp_Flags_Auto   = 0x0001,
    } VideoProcAmpFlags;
Values
VideoProcAmp_Flags_Manual
Set properties manually.
VideoProcAmp_Flags_Auto
Use auto setting.
Remarks

The IAMVideoProcAmp interface uses this enumerated data type.


VideoProcAmpProperty

Data Types

Specifies video properties.

typedef enum tagVideoProcAmpProperty
    {
        VideoProcAmp_Brightness,
        VideoProcAmp_Contrast,
        VideoProcAmp_Hue,
        VideoProcAmp_Saturation,
        VideoProcAmp_Sharpness,
        VideoProcAmp_Gamma,
        VideoProcAmp_ColorEnable,
        VideoProcAmp_WhiteBalance,
        VideoProcAmp_BacklightCompensation
    } VideoProcAmpProperty;
Values
VideoProcAmp_Brightness
Enables brightness.
VideoProcAmp_Contrast
Enables contrast.
VideoProcAmp_Hue
Enables hue.
VideoProcAmp_Saturation
Enables saturation.
VideoProcAmp_Sharpness
Enables sharpness.
VideoProcAmp_Gamma
Enables gamma.
VideoProcAmp_ColorEnable
Enables color.
VideoProcAmp_WhiteBalance
Enables white balance.
VideoProcAmp_BacklightCompensation
Enables backlight compensation.
Remarks

The IAMVideoProcAmp interface uses this enumerated data type.

© 1998 Microsoft Corporation. All rights reserved. Terms of Use.

*Top of Page