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

DVD_PREFERRED_DISPLAY_MODE

列挙型
基底型i4

メンバー 4

名前10進16進説明
DISPLAY_CONTENT_DEFAULT00x0既定のウィンドウ サイズとコンテンツの種類を使用します。
DISPLAY_16x910x116 x 9 のウィンドウを使用します。
DISPLAY_4x3_PANSCAN_PREFERRED20x24 x 3 のウィンドウを使用し、可能であればパンスキャンに変換します。
DISPLAY_4x3_LETTERBOX_PREFERRED30x34 x 3 のウィンドウを使用し、可能であればレターボックスに変換します。

公式ドキュメント

[このページに関連する機能である DirectShow はレガシー機能です。この機能は MediaPlayerIMFMediaEngine、および Audio/Video Capture in Media Foundation に置き換えられています。これらの機能は Windows 10 および Windows 11 向けに最適化されています。Microsoft は、新しいコードでは可能な限り DirectShow ではなく MediaPlayerIMFMediaEngineAudio/Video Capture in Media Foundation を使用することを強く推奨します。また、レガシー API を使用している既存のコードについても、可能であれば新しい API を使用するように書き換えることを推奨します。]

非推奨です。
ユーザーが希望するウィンドウのアスペクト比と変換方法を示します。

解説(Remarks)

DVD_PREFERRED_DISPLAY_MODE 列挙型は、ユーザーが希望するウィンドウのアスペクト比と、16 x 9 のコンテンツを 4 x 3 のウィンドウのアスペクト比に変換する際に希望する方法を示します。変換方法にはパンスキャンとレターボックスの 2 種類があります。トリミングや引き伸ばしを行わずに、表示ウィンドウ内で可能な限り大きいサイズでビデオを表示することを、レターボックス形式での表示と呼びます。パンスキャンとは、ビデオの作成者が定義したパラメーターを使用して、16 x 9 のビデオを 4 x 3 のウィンドウに表示するためにトリミングすることを指します。

この列挙型が変換方法の優先設定を示すのは、コンテンツによってはこれらのいずれか一方の方法でしか表示できない場合があるためです。4 x 3 のコンテンツは、常にサイドボックス化によって 16 x 9 のウィンドウに変換されます。サイドボックス化では、レターボックスを使用する 16 x 9 から 4 x 3 への変換のように表示領域の上下に黒帯を追加するのではなく、表示領域の左右に黒帯が追加されます。

次の表は、1 列目に示す実際のコンテンツの種類と、それ以外の列に示すユーザーの表示設定との組み合わせで使用される変換方法を示しています。

実際のコンテンツの種類 16 x 9 4 x 3 パンスキャン 4 x 3 レターボックス
4 x 3 サイドボックス なし なし
16 x 9 レターボックスのみ なし レターボックス レターボックス
16 x 9 パンスキャンのみ なし パンスキャン パンスキャン
16 x 9 パンスキャンまたはレターボックス なし パンスキャン レターボックス

使用されるネイティブのウィンドウ サイズは、常にユーザーが希望するサイズです。

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

各言語での定義

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

typedef enum DVD_PREFERRED_DISPLAY_MODE : int {
    DISPLAY_CONTENT_DEFAULT = 0,
    DISPLAY_16x9 = 1,
    DISPLAY_4x3_PANSCAN_PREFERRED = 2,
    DISPLAY_4x3_LETTERBOX_PREFERRED = 3
} DVD_PREFERRED_DISPLAY_MODE;
public enum DVD_PREFERRED_DISPLAY_MODE : int
{
    DISPLAY_CONTENT_DEFAULT = 0,
    DISPLAY_16x9 = 1,
    DISPLAY_4x3_PANSCAN_PREFERRED = 2,
    DISPLAY_4x3_LETTERBOX_PREFERRED = 3,
}
Public Enum DVD_PREFERRED_DISPLAY_MODE As Integer
    DISPLAY_CONTENT_DEFAULT = 0
    DISPLAY_16x9 = 1
    DISPLAY_4x3_PANSCAN_PREFERRED = 2
    DISPLAY_4x3_LETTERBOX_PREFERRED = 3
End Enum
import enum

class DVD_PREFERRED_DISPLAY_MODE(enum.IntEnum):
    DISPLAY_CONTENT_DEFAULT = 0
    DISPLAY_16x9 = 1
    DISPLAY_4x3_PANSCAN_PREFERRED = 2
    DISPLAY_4x3_LETTERBOX_PREFERRED = 3
// DVD_PREFERRED_DISPLAY_MODE
pub const DISPLAY_CONTENT_DEFAULT: i32 = 0;
pub const DISPLAY_16x9: i32 = 1;
pub const DISPLAY_4x3_PANSCAN_PREFERRED: i32 = 2;
pub const DISPLAY_4x3_LETTERBOX_PREFERRED: i32 = 3;
// DVD_PREFERRED_DISPLAY_MODE
const (
	DISPLAY_CONTENT_DEFAULT int32 = 0
	DISPLAY_16x9 int32 = 1
	DISPLAY_4x3_PANSCAN_PREFERRED int32 = 2
	DISPLAY_4x3_LETTERBOX_PREFERRED int32 = 3
)
const
  DISPLAY_CONTENT_DEFAULT = 0;
  DISPLAY_16x9 = 1;
  DISPLAY_4x3_PANSCAN_PREFERRED = 2;
  DISPLAY_4x3_LETTERBOX_PREFERRED = 3;
// DVD_PREFERRED_DISPLAY_MODE
pub const DISPLAY_CONTENT_DEFAULT: i32 = 0;
pub const DISPLAY_16x9: i32 = 1;
pub const DISPLAY_4x3_PANSCAN_PREFERRED: i32 = 2;
pub const DISPLAY_4x3_LETTERBOX_PREFERRED: i32 = 3;
const
  DISPLAY_CONTENT_DEFAULT* = 0
  DISPLAY_16x9* = 1
  DISPLAY_4x3_PANSCAN_PREFERRED* = 2
  DISPLAY_4x3_LETTERBOX_PREFERRED* = 3
enum DVD_PREFERRED_DISPLAY_MODE : int {
    DISPLAY_CONTENT_DEFAULT = 0,
    DISPLAY_16x9 = 1,
    DISPLAY_4x3_PANSCAN_PREFERRED = 2,
    DISPLAY_4x3_LETTERBOX_PREFERRED = 3,
}
#define global DISPLAY_CONTENT_DEFAULT         0x0
#define global DISPLAY_16x9                    0x1
#define global DISPLAY_4x3_PANSCAN_PREFERRED   0x2
#define global DISPLAY_4x3_LETTERBOX_PREFERRED 0x3