Win32 API 日本語リファレンス
ホームMedia.MediaFoundation › MFVideoAspectRatioMode

MFVideoAspectRatioMode

列挙型
基底型i4

メンバー 5

名前10進16進説明
MFVideoARMode_None00x0ビデオのアスペクト比を維持しません。出力矩形に合わせてビデオを引き伸ばします。
MFVideoARMode_PreservePicture10x1出力矩形内でレターボックス表示などを行うことにより、ビデオのアスペクト比を維持します。
MFVideoARMode_PreservePixel20x2
メモ 現在、EVR はこのフラグを無視します。
ディスプレイ デバイスの物理的なサイズが表示解像度と一致しない場合に、アスペクト比を補正します。たとえば、モニターのネイティブ解像度が 1600 x 1200 (4:3) であるのに対して表示解像度が 1280 x 1024 (5:4) の場合、モニターは正方形でないピクセルを表示します。

このフラグを設定する場合は、MFVideoARMode_PreservePicture フラグも設定しなければなりません。

MFVideoARMode_NonLinearStretch40x4

変換先の矩形のアスペクト比が変換元の矩形のアスペクト比と一致しない場合に、非線形の水平方向の引き伸ばしを適用します。

非線形の引き伸ばしアルゴリズムは、画像の中央部ではアスペクト比を維持し、左右に向かうほど段階的に大きく引き伸ばし (または縮め) ます。このモードは、4:3 のコンテンツを 16:9 のディスプレイで全画面表示する際に、ピラーボックス表示の代わりとして役立ちます。非線形の垂直方向の引き伸ばしは、視覚的な結果が一般に良くないため、サポートされていません。

このモードはパフォーマンスの低下を招く場合があります。

このフラグを設定する場合は、MFVideoARMode_PreservePixel フラグおよび MFVideoARMode_PreservePicture フラグも設定しなければなりません。

MFVideoARMode_Mask70x7フラグの値を検証するためのビットマスクです。この値は有効なフラグではありません。

公式ドキュメント

[このページで説明されているコンポーネント Enhanced Video Renderer は、レガシー機能です。これは、MediaPlayer および IMFMediaEngine の各コンポーネントを通じて公開される Simple Video Renderer (SVR) に置き換えられました。ビデオ コンテンツを再生するには、これらのコンポーネントのいずれかにデータを送信し、新しいビデオ レンダラーをインスタンス化させてください。これらのコンポーネントは Windows 10 および Windows 11 向けに最適化されています。Microsoft は、Windows でビデオ メディアを再生する新しいコードでは、可能な限り EVR ではなく MediaPlayer または下位レベルの IMFMediaEngine API を使用することを強く推奨します。レガシー API を使用している既存のコードについても、可能であれば新しい API を使用するように書き換えることを推奨します。]

アスペクト比モードを指定します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum MFVideoAspectRatioMode : int {
    MFVideoARMode_None = 0,
    MFVideoARMode_PreservePicture = 1,
    MFVideoARMode_PreservePixel = 2,
    MFVideoARMode_NonLinearStretch = 4,
    MFVideoARMode_Mask = 7
} MFVideoAspectRatioMode;
public enum MFVideoAspectRatioMode : int
{
    MFVideoARMode_None = 0,
    MFVideoARMode_PreservePicture = 1,
    MFVideoARMode_PreservePixel = 2,
    MFVideoARMode_NonLinearStretch = 4,
    MFVideoARMode_Mask = 7,
}
Public Enum MFVideoAspectRatioMode As Integer
    MFVideoARMode_None = 0
    MFVideoARMode_PreservePicture = 1
    MFVideoARMode_PreservePixel = 2
    MFVideoARMode_NonLinearStretch = 4
    MFVideoARMode_Mask = 7
End Enum
import enum

class MFVideoAspectRatioMode(enum.IntEnum):
    MFVideoARMode_None = 0
    MFVideoARMode_PreservePicture = 1
    MFVideoARMode_PreservePixel = 2
    MFVideoARMode_NonLinearStretch = 4
    MFVideoARMode_Mask = 7
// MFVideoAspectRatioMode
pub const MFVideoARMode_None: i32 = 0;
pub const MFVideoARMode_PreservePicture: i32 = 1;
pub const MFVideoARMode_PreservePixel: i32 = 2;
pub const MFVideoARMode_NonLinearStretch: i32 = 4;
pub const MFVideoARMode_Mask: i32 = 7;
// MFVideoAspectRatioMode
const (
	MFVideoARMode_None int32 = 0
	MFVideoARMode_PreservePicture int32 = 1
	MFVideoARMode_PreservePixel int32 = 2
	MFVideoARMode_NonLinearStretch int32 = 4
	MFVideoARMode_Mask int32 = 7
)
const
  MFVideoARMode_None = 0;
  MFVideoARMode_PreservePicture = 1;
  MFVideoARMode_PreservePixel = 2;
  MFVideoARMode_NonLinearStretch = 4;
  MFVideoARMode_Mask = 7;
// MFVideoAspectRatioMode
pub const MFVideoARMode_None: i32 = 0;
pub const MFVideoARMode_PreservePicture: i32 = 1;
pub const MFVideoARMode_PreservePixel: i32 = 2;
pub const MFVideoARMode_NonLinearStretch: i32 = 4;
pub const MFVideoARMode_Mask: i32 = 7;
const
  MFVideoARMode_None* = 0
  MFVideoARMode_PreservePicture* = 1
  MFVideoARMode_PreservePixel* = 2
  MFVideoARMode_NonLinearStretch* = 4
  MFVideoARMode_Mask* = 7
enum MFVideoAspectRatioMode : int {
    MFVideoARMode_None = 0,
    MFVideoARMode_PreservePicture = 1,
    MFVideoARMode_PreservePixel = 2,
    MFVideoARMode_NonLinearStretch = 4,
    MFVideoARMode_Mask = 7,
}
#define global MFVideoARMode_None             0x0
#define global MFVideoARMode_PreservePicture  0x1
#define global MFVideoARMode_PreservePixel    0x2
#define global MFVideoARMode_NonLinearStretch 0x4
#define global MFVideoARMode_Mask             0x7