ホーム › Media.MediaFoundation › DXVA2_VideoPrimaries
DXVA2_VideoPrimaries
列挙型メンバー 10
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| DXVA2_VideoPrimariesMask | 31 | 0x1F | フラグ値を検証するためのビットマスクです。この値自体は有効なフラグではありません。 |
| DXVA2_VideoPrimaries_Unknown | 0 | 0x0 | 不明です。DXVA2_VideoPrimaries_BT709 として扱います。 |
| DXVA2_VideoPrimaries_reserved | 1 | 0x1 | 予約済みです。使用しないでください。 |
| DXVA2_VideoPrimaries_BT709 | 2 | 0x2 | ITU-R BT.709。sRGB および scRGB にも使用されます。 |
| DXVA2_VideoPrimaries_BT470_2_SysM | 3 | 0x3 | ITU-R BT.470-4 System M (NTSC)。 |
| DXVA2_VideoPrimaries_BT470_2_SysBG | 4 | 0x4 | ITU-R BT.470-4 System B,G (PAL)。 |
| DXVA2_VideoPrimaries_SMPTE170M | 5 | 0x5 | SMPTE 170M。 |
| DXVA2_VideoPrimaries_SMPTE240M | 6 | 0x6 | SMPTE 240M。 |
| DXVA2_VideoPrimaries_EBU3213 | 7 | 0x7 | EBU Tech. 3213。 |
| DXVA2_VideoPrimaries_SMPTE_C | 8 | 0x8 | SMPTE C (SMPTE RP 145)。 |
公式ドキュメント
ビデオ ソースのカラー プライマリ(色の三原色)を指定します。これらのフラグは DXVA2_ExtendedFormat 構造体で使用されます。
解説(Remarks)
カラー プライマリは、RGB の色を CIE XYZ 色空間へ変換する方法を定義するものであり、異なる RGB 色空間の間で色を変換するために使用できます。RGB 色空間は、次の表に示すように、RGB 原色の色度座標 (x,y) と白色点によって定義されます。
| 色空間 | (Rx, Ry) | (Gx, Gy) | (Bx, By) | 白色点 (Wx, Wy) |
|---|---|---|---|---|
| BT.709 | (0.64, 0.33) | (0.30, 0.60) | (0.15, 0.06) | D65 (0.3127, 0.3290) |
| BT.470-2 System B,G; EBU 3213 | (0.64, 0.33) | (0.29, 0.60) | (0.15, 0.06) | D65 (0.3127, 0.3290) |
| BT.470-4 System M | (0.67, 0.33) | (0.21, 0.71) | (0.14, 0.08) | CIE III.C (0.310, 0.316) |
| SMPTE 170M; SMPTE 240M; SMPTE C | (0.63, 0.34) | (0.31, 0.595) | (0.155, 0.07) | D65 (0.3127, 0.3291) |
z 座標は、x と y から次のように導出できます。z = 1 - x - y。RGB の色と CIE XYZ 三刺激値との間で変換するには、次のようにして行列 T を計算します。
T が求まれば、次の式を使用して RGB の色値と CIE XYZ 三刺激値との間で変換できます。これらの式は、RGB 成分が線形(ガンマ補正されていない)であり、範囲 [0...1] に正規化されていることを前提としています。
ある RGB 色空間から別の RGB 色空間へ色を直接変換するには、次の式を使用します。ここで T1 は色空間 RGB1 の行列、T2 は色空間 RGB2 の行列です。
これらの式の導出については、Charles Poynton, Digital Video and HDTV Algorithms and Interfaces (Morgan Kaufmann, 2003) を参照してください。
この列挙型は、DXVA 1.0 で使用されていた DXVA_VideoPrimaries 列挙型に相当します。
ビデオ形式の記述に IMFMediaType インターフェイスを使用している場合、カラー プライマリは MF_MT_VIDEO_PRIMARIES 属性で指定します。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_VideoPrimaries : int {
DXVA2_VideoPrimariesMask = 31,
DXVA2_VideoPrimaries_Unknown = 0,
DXVA2_VideoPrimaries_reserved = 1,
DXVA2_VideoPrimaries_BT709 = 2,
DXVA2_VideoPrimaries_BT470_2_SysM = 3,
DXVA2_VideoPrimaries_BT470_2_SysBG = 4,
DXVA2_VideoPrimaries_SMPTE170M = 5,
DXVA2_VideoPrimaries_SMPTE240M = 6,
DXVA2_VideoPrimaries_EBU3213 = 7,
DXVA2_VideoPrimaries_SMPTE_C = 8
} DXVA2_VideoPrimaries;public enum DXVA2_VideoPrimaries : int
{
DXVA2_VideoPrimariesMask = 31,
DXVA2_VideoPrimaries_Unknown = 0,
DXVA2_VideoPrimaries_reserved = 1,
DXVA2_VideoPrimaries_BT709 = 2,
DXVA2_VideoPrimaries_BT470_2_SysM = 3,
DXVA2_VideoPrimaries_BT470_2_SysBG = 4,
DXVA2_VideoPrimaries_SMPTE170M = 5,
DXVA2_VideoPrimaries_SMPTE240M = 6,
DXVA2_VideoPrimaries_EBU3213 = 7,
DXVA2_VideoPrimaries_SMPTE_C = 8,
}Public Enum DXVA2_VideoPrimaries As Integer
DXVA2_VideoPrimariesMask = 31
DXVA2_VideoPrimaries_Unknown = 0
DXVA2_VideoPrimaries_reserved = 1
DXVA2_VideoPrimaries_BT709 = 2
DXVA2_VideoPrimaries_BT470_2_SysM = 3
DXVA2_VideoPrimaries_BT470_2_SysBG = 4
DXVA2_VideoPrimaries_SMPTE170M = 5
DXVA2_VideoPrimaries_SMPTE240M = 6
DXVA2_VideoPrimaries_EBU3213 = 7
DXVA2_VideoPrimaries_SMPTE_C = 8
End Enumimport enum
class DXVA2_VideoPrimaries(enum.IntEnum):
DXVA2_VideoPrimariesMask = 31
DXVA2_VideoPrimaries_Unknown = 0
DXVA2_VideoPrimaries_reserved = 1
DXVA2_VideoPrimaries_BT709 = 2
DXVA2_VideoPrimaries_BT470_2_SysM = 3
DXVA2_VideoPrimaries_BT470_2_SysBG = 4
DXVA2_VideoPrimaries_SMPTE170M = 5
DXVA2_VideoPrimaries_SMPTE240M = 6
DXVA2_VideoPrimaries_EBU3213 = 7
DXVA2_VideoPrimaries_SMPTE_C = 8// DXVA2_VideoPrimaries
pub const DXVA2_VideoPrimariesMask: i32 = 31;
pub const DXVA2_VideoPrimaries_Unknown: i32 = 0;
pub const DXVA2_VideoPrimaries_reserved: i32 = 1;
pub const DXVA2_VideoPrimaries_BT709: i32 = 2;
pub const DXVA2_VideoPrimaries_BT470_2_SysM: i32 = 3;
pub const DXVA2_VideoPrimaries_BT470_2_SysBG: i32 = 4;
pub const DXVA2_VideoPrimaries_SMPTE170M: i32 = 5;
pub const DXVA2_VideoPrimaries_SMPTE240M: i32 = 6;
pub const DXVA2_VideoPrimaries_EBU3213: i32 = 7;
pub const DXVA2_VideoPrimaries_SMPTE_C: i32 = 8;// DXVA2_VideoPrimaries
const (
DXVA2_VideoPrimariesMask int32 = 31
DXVA2_VideoPrimaries_Unknown int32 = 0
DXVA2_VideoPrimaries_reserved int32 = 1
DXVA2_VideoPrimaries_BT709 int32 = 2
DXVA2_VideoPrimaries_BT470_2_SysM int32 = 3
DXVA2_VideoPrimaries_BT470_2_SysBG int32 = 4
DXVA2_VideoPrimaries_SMPTE170M int32 = 5
DXVA2_VideoPrimaries_SMPTE240M int32 = 6
DXVA2_VideoPrimaries_EBU3213 int32 = 7
DXVA2_VideoPrimaries_SMPTE_C int32 = 8
)const
DXVA2_VideoPrimariesMask = 31;
DXVA2_VideoPrimaries_Unknown = 0;
DXVA2_VideoPrimaries_reserved = 1;
DXVA2_VideoPrimaries_BT709 = 2;
DXVA2_VideoPrimaries_BT470_2_SysM = 3;
DXVA2_VideoPrimaries_BT470_2_SysBG = 4;
DXVA2_VideoPrimaries_SMPTE170M = 5;
DXVA2_VideoPrimaries_SMPTE240M = 6;
DXVA2_VideoPrimaries_EBU3213 = 7;
DXVA2_VideoPrimaries_SMPTE_C = 8;// DXVA2_VideoPrimaries
pub const DXVA2_VideoPrimariesMask: i32 = 31;
pub const DXVA2_VideoPrimaries_Unknown: i32 = 0;
pub const DXVA2_VideoPrimaries_reserved: i32 = 1;
pub const DXVA2_VideoPrimaries_BT709: i32 = 2;
pub const DXVA2_VideoPrimaries_BT470_2_SysM: i32 = 3;
pub const DXVA2_VideoPrimaries_BT470_2_SysBG: i32 = 4;
pub const DXVA2_VideoPrimaries_SMPTE170M: i32 = 5;
pub const DXVA2_VideoPrimaries_SMPTE240M: i32 = 6;
pub const DXVA2_VideoPrimaries_EBU3213: i32 = 7;
pub const DXVA2_VideoPrimaries_SMPTE_C: i32 = 8;const
DXVA2_VideoPrimariesMask* = 31
DXVA2_VideoPrimaries_Unknown* = 0
DXVA2_VideoPrimaries_reserved* = 1
DXVA2_VideoPrimaries_BT709* = 2
DXVA2_VideoPrimaries_BT470_2_SysM* = 3
DXVA2_VideoPrimaries_BT470_2_SysBG* = 4
DXVA2_VideoPrimaries_SMPTE170M* = 5
DXVA2_VideoPrimaries_SMPTE240M* = 6
DXVA2_VideoPrimaries_EBU3213* = 7
DXVA2_VideoPrimaries_SMPTE_C* = 8enum DXVA2_VideoPrimaries : int {
DXVA2_VideoPrimariesMask = 31,
DXVA2_VideoPrimaries_Unknown = 0,
DXVA2_VideoPrimaries_reserved = 1,
DXVA2_VideoPrimaries_BT709 = 2,
DXVA2_VideoPrimaries_BT470_2_SysM = 3,
DXVA2_VideoPrimaries_BT470_2_SysBG = 4,
DXVA2_VideoPrimaries_SMPTE170M = 5,
DXVA2_VideoPrimaries_SMPTE240M = 6,
DXVA2_VideoPrimaries_EBU3213 = 7,
DXVA2_VideoPrimaries_SMPTE_C = 8,
}#define global DXVA2_VideoPrimariesMask 0x1F
#define global DXVA2_VideoPrimaries_Unknown 0x0
#define global DXVA2_VideoPrimaries_reserved 0x1
#define global DXVA2_VideoPrimaries_BT709 0x2
#define global DXVA2_VideoPrimaries_BT470_2_SysM 0x3
#define global DXVA2_VideoPrimaries_BT470_2_SysBG 0x4
#define global DXVA2_VideoPrimaries_SMPTE170M 0x5
#define global DXVA2_VideoPrimaries_SMPTE240M 0x6
#define global DXVA2_VideoPrimaries_EBU3213 0x7
#define global DXVA2_VideoPrimaries_SMPTE_C 0x8