Microsoft DirectX 9.0

VMRDeinterlaceTech Enumeration

This topic applies to Windows XP Service Pack 1 only.

The VMRDeinterlaceTech enumeration type describes the algorithm used for deinterlacing a video stream. The flags are not mutually exclusive; drivers can set a combination of flags.


typedef enum {
    DeinterlaceTech_Unknown             = 0x0000,
    DeinterlaceTech_BOBLineReplicate    = 0x0001,
    DeinterlaceTech_BOBVerticalStretch  = 0x0002,
    DeinterlaceTech_MedianFiltering     = 0x0004,
    DeinterlaceTech_EdgeFiltering       = 0x0010,
    DeinterlaceTech_FieldAdaptive       = 0x0020,
    DeinterlaceTech_PixelAdaptive       = 0x0040,
    DeinterlaceTech_MotionVectorSteered = 0x0080
} VMRDeinterlacePrefs;



The algorithm is unknown or proprietary.


The algorithm creates each missing line by repeating the line above it or below it. This method creates jagged artifacts and is not recommended.


The algorithm creates the missing lines by vertically stretching each video field by a factor of two. For example, it might average two lines or use a (-1, 9, 9, -1)/16 filter across four lines. Slight vertical adjustments are made to ensure that the resulting image does not "bob" up and down


The algorithm uses median filtering to recreate the pixels in the missing lines.


The algorithm uses an edge filter to create the missing lines. In this process, spatial directional filters are applied to determine the orientation of edges in the picture content. Missing pixels are created by filtering along (rather than across) the detected edges.


The algorithm uses spatial or temporal interpolation, switching between the two on a field-by-field basis, depending on the amount of motion.


The algorithm uses spatial or temporal interpolation, switching between the two on a pixel-by-pixel basis, depending on the amount of motion.


The algorithm identifies objects within a sequence of video fields. Before it recreates the missing pixels, it aligns the movement axes of the individual objects in the scene to make them parallel with the time axis.


Requires Microsoft® Windows® XP Service Pack 1.

See Also