ホーム › Media.MediaFoundation › DXVA2_VideoTransferMatrix
DXVA2_VideoTransferMatrix
列挙型メンバー 5
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| DXVA2_VideoTransferMatrixMask | 7 | 0x7 | フラグ値を検証するためのビットマスクです。この値は有効なフラグではありません。 |
| DXVA2_VideoTransferMatrix_Unknown | 0 | 0x0 | 不明です。標準解像度のコンテンツでは DXVA2_VideoTransferMatrix_BT601 として扱います。高解像度のコンテンツでは DXVA2_VideoTransferMatrix_BT709 として扱います。(ここでいう高解像度コンテンツとは、ソースの高さが 576 ラインを超えるものを指します。) |
| DXVA2_VideoTransferMatrix_BT709 | 1 | 0x1 | ITU-R BT.709 の変換マトリックスです。 |
| DXVA2_VideoTransferMatrix_BT601 | 2 | 0x2 | ITU-R BT.601 の変換マトリックスです。SMPTE 170 および ITU-R BT.470-2 System B,G にも使用されます。 |
| DXVA2_VideoTransferMatrix_SMPTE240M | 3 | 0x3 | SMPTE 240M の変換マトリックスです。 |
公式ドキュメント
Y'PbPr (コンポーネントビデオ) とスタジオ R'G'B' の間の変換マトリックスを表します。これらのフラグは DXVA2_ExtendedFormat 構造体で使用されます。
解説(Remarks)
変換マトリックスは次のように定義されます。
BT.709 の変換マトリックス:
Y' 0.212600 0.715200 0.072200 R'
Pb = -0.114572 -0.385428 0.500000 x G'
Pr 0.500000 -0.454153 -0.045847 B'
R' 1.000000 0.000000 1.574800 Y'
G' = 1.000000 -0.187324 -0.468124 x Pb
B' 1.000000 1.855600 0.000000 Pr
BT.601 の変換マトリックス:
Y' 0.299000 0.587000 0.114000 R'
Pb = -0.168736 -0.331264 0.500000 x G'
Pr 0.500000 -0.418688 -0.081312 B'
R' 1.000000 0.000000 1.402000 Y'
G' = 1.000000 -0.344136 -0.714136 x Pb
B' 1.000000 1.772000 0.000000 Pr
SMPTE 240M (SMPTE RP 145) の変換マトリックス:
Y' 0.212000 0.701000 0.087000 R'
Pb = -0.116000 -0.384000 0.500000 x G'
Pr 0.500000 -0.445000 -0.055000 B'
R' 1.000000 -0.000000 1.576000 Y'
G' = 1.000000 -0.227000 -0.477000 x Pb
B' 1.000000 1.826000 0.000000 Pr
この列挙型は、DXVA 1.0 で使用される DXVA_VideoTransferMatrix 列挙型と同等です。
ビデオ形式の記述に IMFMediaType インターフェイスを使用している場合、ビデオ変換マトリックスは MF_MT_YUV_MATRIX 属性で指定します。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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 DXVA2_VideoTransferMatrix : int {
DXVA2_VideoTransferMatrixMask = 7,
DXVA2_VideoTransferMatrix_Unknown = 0,
DXVA2_VideoTransferMatrix_BT709 = 1,
DXVA2_VideoTransferMatrix_BT601 = 2,
DXVA2_VideoTransferMatrix_SMPTE240M = 3
} DXVA2_VideoTransferMatrix;public enum DXVA2_VideoTransferMatrix : int
{
DXVA2_VideoTransferMatrixMask = 7,
DXVA2_VideoTransferMatrix_Unknown = 0,
DXVA2_VideoTransferMatrix_BT709 = 1,
DXVA2_VideoTransferMatrix_BT601 = 2,
DXVA2_VideoTransferMatrix_SMPTE240M = 3,
}Public Enum DXVA2_VideoTransferMatrix As Integer
DXVA2_VideoTransferMatrixMask = 7
DXVA2_VideoTransferMatrix_Unknown = 0
DXVA2_VideoTransferMatrix_BT709 = 1
DXVA2_VideoTransferMatrix_BT601 = 2
DXVA2_VideoTransferMatrix_SMPTE240M = 3
End Enumimport enum
class DXVA2_VideoTransferMatrix(enum.IntEnum):
DXVA2_VideoTransferMatrixMask = 7
DXVA2_VideoTransferMatrix_Unknown = 0
DXVA2_VideoTransferMatrix_BT709 = 1
DXVA2_VideoTransferMatrix_BT601 = 2
DXVA2_VideoTransferMatrix_SMPTE240M = 3// DXVA2_VideoTransferMatrix
pub const DXVA2_VideoTransferMatrixMask: i32 = 7;
pub const DXVA2_VideoTransferMatrix_Unknown: i32 = 0;
pub const DXVA2_VideoTransferMatrix_BT709: i32 = 1;
pub const DXVA2_VideoTransferMatrix_BT601: i32 = 2;
pub const DXVA2_VideoTransferMatrix_SMPTE240M: i32 = 3;// DXVA2_VideoTransferMatrix
const (
DXVA2_VideoTransferMatrixMask int32 = 7
DXVA2_VideoTransferMatrix_Unknown int32 = 0
DXVA2_VideoTransferMatrix_BT709 int32 = 1
DXVA2_VideoTransferMatrix_BT601 int32 = 2
DXVA2_VideoTransferMatrix_SMPTE240M int32 = 3
)const
DXVA2_VideoTransferMatrixMask = 7;
DXVA2_VideoTransferMatrix_Unknown = 0;
DXVA2_VideoTransferMatrix_BT709 = 1;
DXVA2_VideoTransferMatrix_BT601 = 2;
DXVA2_VideoTransferMatrix_SMPTE240M = 3;// DXVA2_VideoTransferMatrix
pub const DXVA2_VideoTransferMatrixMask: i32 = 7;
pub const DXVA2_VideoTransferMatrix_Unknown: i32 = 0;
pub const DXVA2_VideoTransferMatrix_BT709: i32 = 1;
pub const DXVA2_VideoTransferMatrix_BT601: i32 = 2;
pub const DXVA2_VideoTransferMatrix_SMPTE240M: i32 = 3;const
DXVA2_VideoTransferMatrixMask* = 7
DXVA2_VideoTransferMatrix_Unknown* = 0
DXVA2_VideoTransferMatrix_BT709* = 1
DXVA2_VideoTransferMatrix_BT601* = 2
DXVA2_VideoTransferMatrix_SMPTE240M* = 3enum DXVA2_VideoTransferMatrix : int {
DXVA2_VideoTransferMatrixMask = 7,
DXVA2_VideoTransferMatrix_Unknown = 0,
DXVA2_VideoTransferMatrix_BT709 = 1,
DXVA2_VideoTransferMatrix_BT601 = 2,
DXVA2_VideoTransferMatrix_SMPTE240M = 3,
}#define global DXVA2_VideoTransferMatrixMask 0x7
#define global DXVA2_VideoTransferMatrix_Unknown 0x0
#define global DXVA2_VideoTransferMatrix_BT709 0x1
#define global DXVA2_VideoTransferMatrix_BT601 0x2
#define global DXVA2_VideoTransferMatrix_SMPTE240M 0x3