MFVideoMixPrefs
列挙型メンバー 6
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| MFVideoMixPrefs_ForceHalfInterlace | 1 | 0x1 | インターレースフレームごとに、(時間順で) 2 番目のフィールドをスキップするよう EVR に強制します。 |
| MFVideoMixPrefs_AllowDropToHalfInterlace | 2 | 0x2 | EVR の処理が遅れている場合に、インターレースフレームごとに (時間順で) 2 番目のフィールドをスキップすることを許可します。 |
| MFVideoMixPrefs_AllowDropToBob | 4 | 0x4 | EVR の処理が遅れている場合に、ドライバーがより高品質なインターレース解除モードをサポートしていても、bob インターレース解除の使用を許可します。 |
| MFVideoMixPrefs_ForceBob | 8 | 0x8 | ドライバーがより高品質なモードをサポートしていても、bob インターレース解除を使用するよう EVR に強制します。 |
| MFVideoMixPrefs_EnableRotation | 16 | 0x10 | |
| MFVideoMixPrefs_Mask | 31 | 0x1F | 有効なフラグ値のビットマスクです。この定数自体は有効なフラグではありません。 |
公式ドキュメント
[このページで説明するコンポーネント Enhanced Video Renderer は、レガシー機能です。MediaPlayer および IMFMediaEngine の各コンポーネントを通じて公開される Simple Video Renderer (SVR) に置き換えられました。ビデオコンテンツを再生するには、これらのコンポーネントのいずれかにデータを送り、新しいビデオレンダラーをインスタンス化させてください。これらのコンポーネントは Windows 10 および Windows 11 向けに最適化されています。Microsoft は、可能な場合、Windows でビデオメディアを再生する新しいコードでは EVR ではなく MediaPlayer またはより低レベルの IMFMediaEngine API を使用することを強く推奨します。レガシー API を使用している既存のコードについても、可能であれば新しい API を使用するように書き直すことを推奨します。]
拡張ビデオレンダラー (EVR) がインターレース解除 (デインターレース) をどのように実行するかを構成するために使用されるフラグを格納します。
解説(Remarks)
これらのフラグを設定するには、IMFVideoMixerControl2::SetMixingPrefs メソッドを呼び出します。
これらのフラグは、ビデオ品質とレンダリング速度の間のトレードオフを制御します。"MFVideoMixPrefs_Allow..." という名前の定数は、品質マネージャーが品質の低下を要求した場合にのみ、より低品質の設定を有効にします。"MFVideoMixPrefs_Force..." という名前の定数は、品質マネージャーの要求に関係なく、より低品質の設定を使用するよう EVR に強制します。(品質マネージャーの詳細については、IMFQualityAdvise を参照してください。)
現在、次の表に示す 2 つの低品質モードがサポートされています。いずれもフレーム全体を破棄するよりは望ましい方法です。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum MFVideoMixPrefs : int {
MFVideoMixPrefs_ForceHalfInterlace = 1,
MFVideoMixPrefs_AllowDropToHalfInterlace = 2,
MFVideoMixPrefs_AllowDropToBob = 4,
MFVideoMixPrefs_ForceBob = 8,
MFVideoMixPrefs_EnableRotation = 16,
MFVideoMixPrefs_Mask = 31
} MFVideoMixPrefs;public enum MFVideoMixPrefs : int
{
MFVideoMixPrefs_ForceHalfInterlace = 1,
MFVideoMixPrefs_AllowDropToHalfInterlace = 2,
MFVideoMixPrefs_AllowDropToBob = 4,
MFVideoMixPrefs_ForceBob = 8,
MFVideoMixPrefs_EnableRotation = 16,
MFVideoMixPrefs_Mask = 31,
}Public Enum MFVideoMixPrefs As Integer
MFVideoMixPrefs_ForceHalfInterlace = 1
MFVideoMixPrefs_AllowDropToHalfInterlace = 2
MFVideoMixPrefs_AllowDropToBob = 4
MFVideoMixPrefs_ForceBob = 8
MFVideoMixPrefs_EnableRotation = 16
MFVideoMixPrefs_Mask = 31
End Enumimport enum
class MFVideoMixPrefs(enum.IntEnum):
MFVideoMixPrefs_ForceHalfInterlace = 1
MFVideoMixPrefs_AllowDropToHalfInterlace = 2
MFVideoMixPrefs_AllowDropToBob = 4
MFVideoMixPrefs_ForceBob = 8
MFVideoMixPrefs_EnableRotation = 16
MFVideoMixPrefs_Mask = 31// MFVideoMixPrefs
pub const MFVideoMixPrefs_ForceHalfInterlace: i32 = 1;
pub const MFVideoMixPrefs_AllowDropToHalfInterlace: i32 = 2;
pub const MFVideoMixPrefs_AllowDropToBob: i32 = 4;
pub const MFVideoMixPrefs_ForceBob: i32 = 8;
pub const MFVideoMixPrefs_EnableRotation: i32 = 16;
pub const MFVideoMixPrefs_Mask: i32 = 31;// MFVideoMixPrefs
const (
MFVideoMixPrefs_ForceHalfInterlace int32 = 1
MFVideoMixPrefs_AllowDropToHalfInterlace int32 = 2
MFVideoMixPrefs_AllowDropToBob int32 = 4
MFVideoMixPrefs_ForceBob int32 = 8
MFVideoMixPrefs_EnableRotation int32 = 16
MFVideoMixPrefs_Mask int32 = 31
)const
MFVideoMixPrefs_ForceHalfInterlace = 1;
MFVideoMixPrefs_AllowDropToHalfInterlace = 2;
MFVideoMixPrefs_AllowDropToBob = 4;
MFVideoMixPrefs_ForceBob = 8;
MFVideoMixPrefs_EnableRotation = 16;
MFVideoMixPrefs_Mask = 31;// MFVideoMixPrefs
pub const MFVideoMixPrefs_ForceHalfInterlace: i32 = 1;
pub const MFVideoMixPrefs_AllowDropToHalfInterlace: i32 = 2;
pub const MFVideoMixPrefs_AllowDropToBob: i32 = 4;
pub const MFVideoMixPrefs_ForceBob: i32 = 8;
pub const MFVideoMixPrefs_EnableRotation: i32 = 16;
pub const MFVideoMixPrefs_Mask: i32 = 31;const
MFVideoMixPrefs_ForceHalfInterlace* = 1
MFVideoMixPrefs_AllowDropToHalfInterlace* = 2
MFVideoMixPrefs_AllowDropToBob* = 4
MFVideoMixPrefs_ForceBob* = 8
MFVideoMixPrefs_EnableRotation* = 16
MFVideoMixPrefs_Mask* = 31enum MFVideoMixPrefs : int {
MFVideoMixPrefs_ForceHalfInterlace = 1,
MFVideoMixPrefs_AllowDropToHalfInterlace = 2,
MFVideoMixPrefs_AllowDropToBob = 4,
MFVideoMixPrefs_ForceBob = 8,
MFVideoMixPrefs_EnableRotation = 16,
MFVideoMixPrefs_Mask = 31,
}#define global MFVideoMixPrefs_ForceHalfInterlace 0x1
#define global MFVideoMixPrefs_AllowDropToHalfInterlace 0x2
#define global MFVideoMixPrefs_AllowDropToBob 0x4
#define global MFVideoMixPrefs_ForceBob 0x8
#define global MFVideoMixPrefs_EnableRotation 0x10
#define global MFVideoMixPrefs_Mask 0x1F