Specifies how aggressively a pipeline component should drop samples.
typedef enum _MF_QUALITY_DROP_MODE
{
MF_DROP_MODE_NONE = 0,
MF_DROP_MODE_1 = 0x1,
MF_DROP_MODE_2 = 0x2,
MF_DROP_MODE_3 = 0x3,
MF_DROP_MODE_4 = 0x4,
MF_DROP_MODE_5 = 0x5,
MF_NUM_DROP_MODES = 0x6
} MF_QUALITY_DROP_MODE;
| Constant | Description |
|---|---|
| MF_DROP_MODE_NONE | Normal processing of samples. Drop mode is disabled. |
| MF_DROP_MODE_1 | First drop mode (least aggressive). |
| MF_DROP_MODE_2 | Second drop mode. |
| MF_DROP_MODE_3 | Third drop mode. |
| MF_DROP_MODE_4 | Fourth drop mode. |
| MF_DROP_MODE_5 | Fifth drop mode (most aggressive, if it is supported; see Remarks). |
| MF_NUM_DROP_MODES | Maximum number of drop modes. This value is not a valid flag. |
In drop mode, a component drops samples, more or less aggressively depending on the level of the drop mode. The specific algorithm used depends on the component. Mode 1 is the least aggressive mode, and mode 5 is the most aggressive. A component is not required to implement all five levels.
For example, suppose an encoded video stream has three B-frames between each pair of P-frames. A decoder might implement the following drop modes:
The enhanced video renderer (EVR) can drop video frames before sending them to the EVR mixer.
Header: Declared in mfidl.h.