IMCMPEncoderOption Interface

Data Types:

MCMPFilterFlagsConstants

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.

MCMPFilterStateConstants

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.

MCMPPredefinedQFactorConstants

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

MCMPFormatConstants

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.

Interface Properties:

Type

Name

Description

long

Format

Gets or sets a value that represents the codec format. Possible values are:

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.

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.
FilterState_Paused:   [1] The filter is paused.
FilterState_Running:  [2] The filter is running.

IAMVideoCompression Interface:

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.

Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Filters C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.