ホーム › Media.DirectShow › VMR9DeinterlaceTech
VMR9DeinterlaceTech
列挙型メンバー 8
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| DeinterlaceTech9_Unknown | 0 | 0x0 | アルゴリズムが不明であるか、独自仕様です。 |
| DeinterlaceTech9_BOBLineReplicate | 1 | 0x1 | 欠落している各ラインを、その上または下のラインを繰り返すことによって生成するアルゴリズムです。この方法はギザギザのアーティファクトを生じさせるため、推奨されません。 |
| DeinterlaceTech9_BOBVerticalStretch | 2 | 0x2 | 各ビデオ フィールドを垂直方向に 2 倍に引き伸ばすことによって、欠落しているラインを生成するアルゴリズムです。たとえば、2 本のラインを平均化したり、4 本のラインにわたって (-1, 9, 9, -1)/16 のフィルターを適用したりします。結果として得られる画像が上下に "bob"(揺れ)しないように、垂直方向のわずかな調整が行われます。 |
| DeinterlaceTech9_MedianFiltering | 4 | 0x4 | メディアン フィルター処理を使用して、欠落しているライン内のピクセルを再生成するアルゴリズムです。 |
| DeinterlaceTech9_EdgeFiltering | 16 | 0x10 | エッジ フィルターを使用して、欠落しているラインを生成するアルゴリズムです。この処理では、空間方向フィルターを適用して画像内容におけるエッジの向きを判定します。欠落しているピクセルは、検出されたエッジを横切る方向ではなく、それに沿った方向にフィルター処理を行うことで生成されます。 |
| DeinterlaceTech9_FieldAdaptive | 32 | 0x20 | 空間的補間または時間的補間を使用し、動きの量に応じてフィールド単位で両者を切り替えるアルゴリズムです。 |
| DeinterlaceTech9_PixelAdaptive | 64 | 0x40 | 空間的補間または時間的補間を使用し、動きの量に応じてピクセル単位で両者を切り替えるアルゴリズムです。 |
| DeinterlaceTech9_MotionVectorSteered | 128 | 0x80 | 一連のビデオ フィールド内のオブジェクトを識別するアルゴリズムです。欠落しているピクセルを再生成する前に、シーン内の個々のオブジェクトの移動軸を時間軸と平行になるように整列させます。 |
公式ドキュメント
[このページに関連する機能である DirectShow はレガシー機能です。これは MediaPlayer、IMFMediaEngine、および Audio/Video Capture in Media Foundation に置き換えられました。これらの機能は Windows 10 および Windows 11 向けに最適化されています。Microsoft は、可能な場合は新しいコードで DirectShow ではなく MediaPlayer、IMFMediaEngine、Audio/Video Capture in Media Foundation を使用することを強く推奨します。また、レガシー API を使用している既存のコードについても、可能であれば新しい API を使用するように書き直すことを推奨します。]
VMR9DeinterlaceTech 列挙型は、ビデオ ストリームのインターレース解除に使用されるアルゴリズムを記述します。これらのフラグは相互排他的ではなく、ドライバーは複数のフラグを組み合わせて設定できます。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum VMR9DeinterlaceTech : int {
DeinterlaceTech9_Unknown = 0,
DeinterlaceTech9_BOBLineReplicate = 1,
DeinterlaceTech9_BOBVerticalStretch = 2,
DeinterlaceTech9_MedianFiltering = 4,
DeinterlaceTech9_EdgeFiltering = 16,
DeinterlaceTech9_FieldAdaptive = 32,
DeinterlaceTech9_PixelAdaptive = 64,
DeinterlaceTech9_MotionVectorSteered = 128
} VMR9DeinterlaceTech;public enum VMR9DeinterlaceTech : int
{
DeinterlaceTech9_Unknown = 0,
DeinterlaceTech9_BOBLineReplicate = 1,
DeinterlaceTech9_BOBVerticalStretch = 2,
DeinterlaceTech9_MedianFiltering = 4,
DeinterlaceTech9_EdgeFiltering = 16,
DeinterlaceTech9_FieldAdaptive = 32,
DeinterlaceTech9_PixelAdaptive = 64,
DeinterlaceTech9_MotionVectorSteered = 128,
}Public Enum VMR9DeinterlaceTech As Integer
DeinterlaceTech9_Unknown = 0
DeinterlaceTech9_BOBLineReplicate = 1
DeinterlaceTech9_BOBVerticalStretch = 2
DeinterlaceTech9_MedianFiltering = 4
DeinterlaceTech9_EdgeFiltering = 16
DeinterlaceTech9_FieldAdaptive = 32
DeinterlaceTech9_PixelAdaptive = 64
DeinterlaceTech9_MotionVectorSteered = 128
End Enumimport enum
class VMR9DeinterlaceTech(enum.IntEnum):
DeinterlaceTech9_Unknown = 0
DeinterlaceTech9_BOBLineReplicate = 1
DeinterlaceTech9_BOBVerticalStretch = 2
DeinterlaceTech9_MedianFiltering = 4
DeinterlaceTech9_EdgeFiltering = 16
DeinterlaceTech9_FieldAdaptive = 32
DeinterlaceTech9_PixelAdaptive = 64
DeinterlaceTech9_MotionVectorSteered = 128// VMR9DeinterlaceTech
pub const DeinterlaceTech9_Unknown: i32 = 0;
pub const DeinterlaceTech9_BOBLineReplicate: i32 = 1;
pub const DeinterlaceTech9_BOBVerticalStretch: i32 = 2;
pub const DeinterlaceTech9_MedianFiltering: i32 = 4;
pub const DeinterlaceTech9_EdgeFiltering: i32 = 16;
pub const DeinterlaceTech9_FieldAdaptive: i32 = 32;
pub const DeinterlaceTech9_PixelAdaptive: i32 = 64;
pub const DeinterlaceTech9_MotionVectorSteered: i32 = 128;// VMR9DeinterlaceTech
const (
DeinterlaceTech9_Unknown int32 = 0
DeinterlaceTech9_BOBLineReplicate int32 = 1
DeinterlaceTech9_BOBVerticalStretch int32 = 2
DeinterlaceTech9_MedianFiltering int32 = 4
DeinterlaceTech9_EdgeFiltering int32 = 16
DeinterlaceTech9_FieldAdaptive int32 = 32
DeinterlaceTech9_PixelAdaptive int32 = 64
DeinterlaceTech9_MotionVectorSteered int32 = 128
)const
DeinterlaceTech9_Unknown = 0;
DeinterlaceTech9_BOBLineReplicate = 1;
DeinterlaceTech9_BOBVerticalStretch = 2;
DeinterlaceTech9_MedianFiltering = 4;
DeinterlaceTech9_EdgeFiltering = 16;
DeinterlaceTech9_FieldAdaptive = 32;
DeinterlaceTech9_PixelAdaptive = 64;
DeinterlaceTech9_MotionVectorSteered = 128;// VMR9DeinterlaceTech
pub const DeinterlaceTech9_Unknown: i32 = 0;
pub const DeinterlaceTech9_BOBLineReplicate: i32 = 1;
pub const DeinterlaceTech9_BOBVerticalStretch: i32 = 2;
pub const DeinterlaceTech9_MedianFiltering: i32 = 4;
pub const DeinterlaceTech9_EdgeFiltering: i32 = 16;
pub const DeinterlaceTech9_FieldAdaptive: i32 = 32;
pub const DeinterlaceTech9_PixelAdaptive: i32 = 64;
pub const DeinterlaceTech9_MotionVectorSteered: i32 = 128;const
DeinterlaceTech9_Unknown* = 0
DeinterlaceTech9_BOBLineReplicate* = 1
DeinterlaceTech9_BOBVerticalStretch* = 2
DeinterlaceTech9_MedianFiltering* = 4
DeinterlaceTech9_EdgeFiltering* = 16
DeinterlaceTech9_FieldAdaptive* = 32
DeinterlaceTech9_PixelAdaptive* = 64
DeinterlaceTech9_MotionVectorSteered* = 128enum VMR9DeinterlaceTech : int {
DeinterlaceTech9_Unknown = 0,
DeinterlaceTech9_BOBLineReplicate = 1,
DeinterlaceTech9_BOBVerticalStretch = 2,
DeinterlaceTech9_MedianFiltering = 4,
DeinterlaceTech9_EdgeFiltering = 16,
DeinterlaceTech9_FieldAdaptive = 32,
DeinterlaceTech9_PixelAdaptive = 64,
DeinterlaceTech9_MotionVectorSteered = 128,
}#define global DeinterlaceTech9_Unknown 0x0
#define global DeinterlaceTech9_BOBLineReplicate 0x1
#define global DeinterlaceTech9_BOBVerticalStretch 0x2
#define global DeinterlaceTech9_MedianFiltering 0x4
#define global DeinterlaceTech9_EdgeFiltering 0x10
#define global DeinterlaceTech9_FieldAdaptive 0x20
#define global DeinterlaceTech9_PixelAdaptive 0x40
#define global DeinterlaceTech9_MotionVectorSteered 0x80