This is the interface for the LEAD Video Stabilizer Filter.
Describes possible cropping options.
typedef [v1_enum] enum lmvstab_enumClippingOption
{
lmvstab_CLIPPINGOPTIONS_OUTLINE,
lmvstab_CLIPPINGOPTIONS_CROP,
lmvstab_CLIPPINGOPTIONS_CROPANDSTRETCH
} lmvstab_enumClippingOption;
Enumeration | Description |
---|---|
lmvstab_CLIPPINGOPTIONS_OUTLINE | Frame the resulting video with bands of the specified color. The video size remains the same as that of the original. |
lmvstab_CLIPPINGOPTIONS_CROP | Crop the video. Video size is smaller than that of the original. |
lmvstab_CLIPPINGOPTIONS_CROPANDSTRETCH | Crop the video but then resize it so it is the same size as the original. |
Describes the possible stabilization options.
typedef [v1_enum] enum lmvstab_GlobalEstimationCoefficients
{
lmvstab_GLOBALESTIMATIONCOEFFICIENTS_X_Y,
lmvstab_GLOBALESTIMATIONCOEFFICIENTS_X_Y_THETA
} lmvstab_GlobalEstimationCoefficients;
Enumeration | Description |
---|---|
lmvstab_GLOBALESTIMATIONCOEFFICIENTS_X_Y | Fix the shaking that occurs along the x and y axes. |
lmvstab_GLOBALESTIMATIONCOEFFICIENTS_X_Y_THETA | Fix the shaking that occurs along both axes as well as fix shaking from rotation. |
Describes quality options.
typedef [v1_enum] enum lmvstab_GlobalEstimationQuality
{
lmvstab_GLOBALESTIMATIONQUALITY_1,
lmvstab_GLOBALESTIMATIONQUALITY_2,
lmvstab_GLOBALESTIMATIONQUALITY_3,
lmvstab_GLOBALESTIMATIONQUALITY_4
} lmvstab_GlobalEstimationQuality;
Enumeration | Description |
---|---|
lmvstab_GLOBALESTIMATIONQUALITY_1 | Highest quality but slow processing. |
lmvstab_GLOBALESTIMATIONQUALITY_2 | More performance, lower quality. |
lmvstab_GLOBALESTIMATIONQUALITY_3 | Slower performance, better quality. |
lmvstab_GLOBALESTIMATIONQUALITY_4 | Fastest but worst quality. |
Describes the amount of path smoothing. Many factors determine which amount is best for a particular video, including:
typedef [v1_enum] enum lmvstab_PathSmoothingLevel
{
lmvstab_PATHSMOOTHINGLEVEL_1 = 4,
lmvstab_PATHSMOOTHINGLEVEL_2 = 8,
lmvstab_PATHSMOOTHINGLEVEL_3 = 12,
lmvstab_PATHSMOOTHINGLEVEL_4 = 16,
lmvstab_PATHSMOOTHINGLEVEL_5 = 24,
lmvstab_PATHSMOOTHINGLEVEL_6 = 32,
lmvstab_PATHSMOOTHINGLEVEL_7 = 64,
lmvstab_PATHSMOOTHINGLEVEL_8 = 128,
lmvstab_PATHSMOOTHINGLEVEL_COUNT = 8
} lmvstab_PathSmoothingLevel;
Describes the possible interpolation options when shifting and rotating input frames to get stabilized output.
typedef [v1_enum] enum lmvstab_InterpolationType
{
lmvstab_INTERPOLATIONTYPE_NEAREST,
lmvstab_INTERPOLATIONTYPE_BILINEAR
} lmvstab_InterpolationType;
Two interpolation methods are available, as follows:
Enumeration | Description |
---|---|
lmvstab_INTERPOLATIONTYPE_NEAREST | Simple and fast interpolation |
lmvstab_INTERPOLATIONTYPE_BILINEAR | Better quality interpolation but slower |
Lists the valid values for the ApiLevel parameter that can be passed to the ResetToDefaultsEx method.
typedef [v1_enum] enum
{
lmvstab_APILEVEL_1 = 0,
lmvstab_APILEVEL_Latest = lmvstab_APILEVEL_1
} lmvstab_APILEVEL;
Uses the defaults from the first version of the filter.
Uses the defaults from the latest version of the filter.
Type | Name | Description |
---|---|---|
VARIANT_BOOL | Enabled | Enables or disables video stabilization. If set to VARIANT_FALSE, the filter passes the video samples intact. |
VARIANT_BOOL | AutoReconnect | If set to VARIANT_TRUE, the filter can apply changes that affect media types while the graph is running (without having to stop and manually reconnect). This includes options such as clipping. |
VARIANT_BOOL | ROIEnabled | If set to VARIANT_TRUE, the filter processes only the region of interest. Otherwise, the entire frame gets processed.The region of interest restricts the area considered when reducing shaking, but the reductions are applied to the entire frame. Limiting the filter to a portion of the video increases performance, allowing the filter to be run in real time. |
LONG | ROITop | Top coordinate, in pixels, of the region of interest |
LONG | ROILeft | Left coordinate, in pixels, of the region of interest |
LONG | ROIBottom | Bottom coordinate, in pixels, of the region of interest |
LONG | ROIRight | Right coordinate, in pixels, of the region of interest |
lmvstab_GlobalEstimationCoefficients | GlobalEstimationCoefficients | Gets or sets the type of stabilization to be performed. |
lmvstab_GlobalEstimationQuality | GlobalEstimationQuality | Gets or sets the balance between the speed and the quality of the processing. |
lmvstab_PathSmoothingLevel | PathSmoothingLevel | Gets or sets the lmvstab_PathSmoothingLevel values to be used. |
OLE_COLOR | BkFillColor | Color to use to fill any empty areas resulting from processing. |
LONG | LeftRightCropMargin | Left and right crop margin |
LONG | TopBottomCropMargin | Top and bottom crop margin |
lmvstab_InterpolationType | InterpolationType | Gets and sets the lmvstab_InterpolationType value to be used. |
lmvstab_enumClippingOption | ClippingOption | Gets and sets the lmvstab_enumClippingOption value to be used. |
VARIANT_BOOL | CropEnabled | Enables or disables video cropping. If set to VARIANT_TRUE, the filter can apply changes that affect media types while the graph is running. |
Cropping can be a result of clipping options. | ||
VARIANT_BOOL | UseAdvancedEngine |
Enables or disables the usage of the Advanced stabilization engine, which is built and configured automatically to optimize performance and video edges quality. The Advanced stabilization engine depends on certain capabilities in the host system. Use the AdvancedEngineAvailable property to determine whether the engine is available. If set to VARIANT_TRUE, the filter will use the Advanced stabilization engine and all other filter properties will have no effect. If set to VARIANT_FALSE, the filter will use the Standard engine configured with all other filter properties. |
VARIANT_BOOL | AdvancedEngineAvailable |
(Read only) Gets a value indicating whether the Advanced stabilization engine is available for use. This property checks for the availability of certain capabilities in the system. |
Restores the default options for all properties.
The ApiLevel determines which default values to use. Current applications should set ApiLevel to lmvstab_APILEVEL_1 = 0.
The filter might change in the future and have different properties or default behavior. Calling this method ensures the filter will have the same default values as they were at the time you developed your application.
Notes:
S_OK always.