typedef enum
{
FLAGS_DISABLE_ENCODER,
FLAGS_DISABLE_DECODER,
FLAGS_INTERLEAVE_NEVER,
FLAGS_INTERLEAVE_288,
FLAGS_INTERLEAVE_ALWAYS,
FLAGS_FLIP_YUV,
FLAGS_OVERRIDE_DEFAULTS,
FLAGS_NO_REGISTRY_SAVE,
} MCMPFilterFlagsConstants;
Lists the possible values for the compression flags.
FLAGS_DISABLE_ENCODER | [0x0001] Disables the MCMP/MJPEG VFW encoder. NOTE: This flag is deprecated and should not be used anymore. |
FLAGS_DISABLE_DECODER | [0x0002] Disables the MCMP/MJPEG VFW decoder. NOTE: If you disable the decoder, you will not be able to use it to decode MJPEG or MCMP video again until re-enabled programmatically or through a utility like GraphEdit. This flag is deprecated and should not be used anymore. |
FLAGS_INTERLEAVE_NEVER | [0x0000] Save images non-interleaved. |
FLAGS_INTERLEAVE_288 | [0x0004] Interleave images with height >= 288. |
FLAGS_INTERLEAVE_ALWAYS | [0x0008] Set this to save interlaced MJPG files. |
FLAGS_FLIP_YUV | [0x0010] Indicates how YUV video data is handled. If this flag is not set, then YUV video with a positive height value (BITMAPINFOHEADER.biHeight) is handled as normal video, top side up. YUV video with a negative height value is handled as flipped video, bottom side up. If this flag is set, then YUV video with a positive height value is handled as flipped video, bottom side up, and YUV video with a negative height value is handled as normal, top side up. |
FLAGS_OVERRIDE_DEFAULTS | [0x0020] If this flag is set, then the defaults are overridden. |
FLAGS_NO_REGISTRY_SAVE | [0x0040] Do not save these settings in the registry. Set this flag if the compression is temporarily disabled because the input does not permit compression. |
typedef enum
{
FilterState_Stopped,
FilterState_Paused,
FilterState_Running,
} MCMPFilterStateConstants;
Lists the possible values that represents the state of the filter.
FilterState_Stopped | [0] The filter is stopped. |
FilterState_Paused | [1] The filter is paused. |
FilterState_Running | [2] The filter is running. |
typedef enum
{
QFACTOR_PQ1,
QFACTOR_PQ2,
QFACTOR_QFS,
QFACTOR_QMS,
QFACTOR_QS,
QFACTOR_SQS,
QFACTOR_SQT,
QFACTOR_MCQ,
QFACTOR_MC,
} MCMPPredefinedQFactorConstants;
Lists the possible values for the quality factor for compression.
QFACTOR_PQ1 | (-1) Perfect quality option 1. |
QFACTOR_PQ2 | (-2) Perfect quality option 2. |
QFACTOR_QFS | (-3) Quality far more important than size. |
QFACTOR_QMS | (-4) Quality more important than size. |
QFACTOR_QS | (-5) Quality and size are equally important. |
QFACTOR_SQS | (-6) Size more important than quality - Sharp. |
QFACTOR_SQT | (-7) Size more important than quality - Less Tilling. |
QFACTOR_MCQ | (-8) Max Compression, keeping quality as good as possible. |
QFACTOR_MC | (-9) Max compression |
typedef enum
{
FORMAT_MCMP,
FORMAT_LOSSLESSJPEG,
FORMAT_MJPEG_411,
FORMAT_MJPEG_422,
FORMAT_MJPEG_444,
} MCMPFormatConstants;
Summary:Lists possible values for the MCMP formats.
FORMAT_MCMP | [5] MCMP format. |
FORMAT_LOSSLESSJPEG | [-1] Lossless JPEG. |
FORMAT_MJPEG_411 | [21] MJPEG 4:1:1 subsampling. Has a higher compression ratio than 4:2:2 and 4:4:4. |
FORMAT_MJPEG_422 | [23] MJPEG 4:2:2 subsampling. Lower compression ratio than 4:1:1, higher compression than 4:4:4. |
FORMAT_MJPEG_444 | [10] MJPEG 4:4:4 subsampling. |
Type |
Name |
Description |
long |
Format |
Gets or sets a value that represents the codec format. Possible values are: FORMAT_MCMP: [5] MCMP format |
long |
QFactor |
Gets or sets the quality factor for compression. A QFactor of 2 has the highest quality and lowest compression ratio. As the QFactor increases, the quality decreases and the compression ratio increases. A QFactor of 255 has the lowest quality and highest compression ratio. Possible values for each format are: FORMAT_MCMP: -9...-1 and 2...255 where negative values represent: QFACTOR_PQ1: (-1) Perfect quality option 1. QFACTOR_PQ2: (-2) Perfect quality option 2. QFACTOR_QFS: (-3) Quality far more important than size. QFACTOR_QMS: (-4) Quality more important than size. QFACTOR_QS: (-5) Quality and size are equally important. QFACTOR_SQS: (-6) Size more important than quality - Sharp. QFACTOR_SQT: (-7) Size more important than quality - Less Tilling. QFACTOR_MCQ (-8) Max Compression, keeping quality as good as possible. QFACTOR_MC: (-9) Max compression FORMAT_LOSSLESSJPEG: QFactor is ignored for lossless JPEG. FORMAT_MJPEG_411: 2...255 FORMAT_MJPEG_422: 2...255 FORMAT_MJPEG_444: 2...255 |
long |
Flags |
Gets or sets the compression flags. These flags can be OR-ed together, except for the FLAGS_INTERLEAVE_XXX flags. Only one of the interleave flags can be set. Setting FLAGS_INTERLEAVE_NEVER is equal to setting no interleave flags at all. Possible values are:
FLAGS_DISABLE_ENCODER: [0x0001] Disables the MCMP/MJPEG VFW encoder. NOTE: This flag is deprecated and should not be used anymore. FLAGS_DISABLE_DECODER: [0x0002] Disables the MCMP/MJPEG VFW decoder. NOTE: If you disable the decoder, you will not be able to use it to decode MJPEG or MCMP video again until re-enabled programmatically or through a utility like GraphEdit. This flag is deprecated and should not be used anymore.. FLAGS_INTERLEAVE_NEVER: [0x0000] Save images non-interleaved. FLAGS_INTERLEAVE_288: [0x0004] Interleave images with height >= 288. FLAGS_INTERLEAVE_ALWAYS: [0x0008] Set this to save interlaced MJPG files. FLAGS_FLIP_YUV: [0x0010] Indicates how YUV video data is handled. If this flag is not set, then YUV video with a positive height value (BITMAPINFOHEADER.biHeight) is handled as normal video, top side up. YUV video with a negative height value is handled as flipped video, bottom side up. If this flag is set, then YUV video with a positive height value is handled as flipped video, bottom side up, and YUV video with a negative height value is handled as normal, top side up. FLAGS_OVERRIDE_DEFAULTS: [0x0020] If this flag is set, then the defaults are overridden. FLAGS_NO_REGISTRY_SAVE: [0x0040] Do not save these settings in the registry. Set this flag if the compression is temporarily disabled because the input does not permit compression. |
long |
FilterState |
(Read only) Gets a value that represents the state of the filter. Possible values are: FilterState_Stopped: [0] The filter is stopped. |
This is a standard DirectShow® interface. For full documentation, please refer to DirectShow® documentation.
This interface allows you to select only the quality factor for the codec. For full control over the codec settings, use the IMCMPEncoderOption interface.