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

DXVA2_VideoPrimaries

列挙型
基底型i4

メンバー 10

名前10進16進説明
DXVA2_VideoPrimariesMask310x1Fフラグ値を検証するためのビットマスクです。この値自体は有効なフラグではありません。
DXVA2_VideoPrimaries_Unknown00x0不明です。DXVA2_VideoPrimaries_BT709 として扱います。
DXVA2_VideoPrimaries_reserved10x1予約済みです。使用しないでください。
DXVA2_VideoPrimaries_BT70920x2ITU-R BT.709。sRGB および scRGB にも使用されます。
DXVA2_VideoPrimaries_BT470_2_SysM30x3ITU-R BT.470-4 System M (NTSC)。
DXVA2_VideoPrimaries_BT470_2_SysBG40x4ITU-R BT.470-4 System B,G (PAL)。
DXVA2_VideoPrimaries_SMPTE170M50x5SMPTE 170M。
DXVA2_VideoPrimaries_SMPTE240M60x6SMPTE 240M。
DXVA2_VideoPrimaries_EBU321370x7EBU Tech. 3213。
DXVA2_VideoPrimaries_SMPTE_C80x8SMPTE 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 を計算します。

RGB 変換を示す行列計算のスクリーンショット。 T が求まれば、次の式を使用して RGB の色値と CIE XYZ 三刺激値との間で変換できます。これらの式は、RGB 成分が線形(ガンマ補正されていない)であり、範囲 [0...1] に正規化されていることを前提としています。 RGB の色値と CIE XYZ 三刺激値との間の変換を示す行列計算のスクリーンショット。 ある RGB 色空間から別の RGB 色空間へ色を直接変換するには、次の式を使用します。ここで T1 は色空間 RGB1 の行列、T2 は色空間 RGB2 の行列です。 ある RGB 色空間から別の RGB 色空間への変換を示す行列計算のスクリーンショット。 これらの式の導出については、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)

各言語での定義

列挙メンバーの定義。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 Enum
import 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* = 8
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,
}
#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