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.