ホーム › Media.MediaFoundation › DXVA2_VideoTransferFunction
DXVA2_VideoTransferFunction
列挙型メンバー 10
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| DXVA2_VideoTransFuncMask | 31 | 0x1F | フラグ値を検証するためのビットマスクです。この値は有効なフラグではありません。 |
| DXVA2_VideoTransFunc_Unknown | 0 | 0x0 | 不明です。DXVA2_VideoTransFunc_709 として扱ってください。 |
| DXVA2_VideoTransFunc_10 | 1 | 0x1 | 線形 RGB (ガンマ = 1.0)。 |
| DXVA2_VideoTransFunc_18 | 2 | 0x2 | 真の 1.8 ガンマ、L' = L^1/1.8。 |
| DXVA2_VideoTransFunc_20 | 3 | 0x3 | 真の 2.0 ガンマ、L' = L^1/2.0。 |
| DXVA2_VideoTransFunc_22 | 4 | 0x4 | 真の 2.2 ガンマ、L' = L^1/2.2。この伝達関数は ITU-R BT.470-2 System M (NTSC) で使用されます。 |
| DXVA2_VideoTransFunc_709 | 5 | 0x5 | ITU-R BT.709 伝達関数です。低域に線形セグメントを持つガンマ 2.2 カーブです。この伝達関数は BT.709、BT.601、SMPTE 296M、SMPTE 170M、BT.470、および SMPTE 274M で使用されます。さらに BT-1361 は [0...1] の範囲内でこの関数を使用します。 |
| DXVA2_VideoTransFunc_240M | 6 | 0x6 | SMPTE 240M 伝達関数です。低域に線形セグメントを持つガンマ 2.2 カーブです。 |
| DXVA2_VideoTransFunc_sRGB | 7 | 0x7 | sRGB 伝達関数です。低域に線形セグメントを持つガンマ 2.4 カーブです。 |
| DXVA2_VideoTransFunc_28 | 8 | 0x8 | 真の 2.8 ガンマです。L' = L^1/2.8。この伝達関数は ITU-R BT.470-2 System B, G (PAL) で使用されます。 |
公式ドキュメント
線形 RGB から非線形 RGB (R'G'B') への変換関数を指定します。これらのフラグは DXVA2_ExtendedFormat 構造体で使用されます。
解説(Remarks)
次の表に、代表的な伝達関数の式を示します。これらの式において、L は線形値、L' は非線形 (ガンマ補正後) の値です。これらの値は正規化された範囲 [0...1] を基準とします。
| 色空間 | 伝達関数 |
|---|---|
| sRGB (8 ビット) |
L' = 12.92L (L < 0.031308 の場合)
L' = 1.055L^1/2.4− 0.055 (L >= 0.031308 の場合) |
| BT.470-2 System B, G | L' = L^0.36 |
| BT.470-2 System M | L' = L^0.45 |
| BT.709 |
L' = 4.50L (L < 0.018 の場合)
L' = 1.099L^0.45− 0.099 (L >= 0.018 の場合) |
| scRGB | L' = L |
| SMPTE 240M |
L' = 4.0L (L < 0.0228 の場合)
L' = 1.1115L^0.45− 0.01115 (L >= 0.0228 の場合) |
次の表に、元のガンマ補正値を求めるための逆変換式を示します。
| 色空間 | 伝達関数 |
|---|---|
| sRGB (8 ビット) |
L = 1/12.92L' (L' < 0.03928 の場合)
L = ((L' + 0.055)/1055)^2.4 (L' >= 0.03928 の場合) |
| BT.470-2 System B, G | L = L'^1/0.36 |
| BT.470-2 System M | L = L'^1/0.45 |
| BT.709 |
L = L'/4.50 (L' < 0.081 の場合)
L = ((L' + 0.099) / 1.099)^1/0.45 (L' >= 0.081 の場合) |
| scRGB | L = L' |
| SMPTE 240M |
L = L'/4.0 (L' < 0.0913 の場合)
L= ((L' + 0.1115)/1.1115)^1/0.45 (L' >= 0.0913 の場合) |
この列挙型は、DXVA 1.0 で使用されていた DXVA_VideoTransferFunction 列挙型と同等です。
IMFMediaType インターフェイスを使用してビデオ形式を記述する場合、伝達関数は MF_MT_TRANSFER_FUNCTION 属性で指定します。
出典・ライセンス: 上記「公式ドキュメント」の内容は 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_VideoTransferFunction : int {
DXVA2_VideoTransFuncMask = 31,
DXVA2_VideoTransFunc_Unknown = 0,
DXVA2_VideoTransFunc_10 = 1,
DXVA2_VideoTransFunc_18 = 2,
DXVA2_VideoTransFunc_20 = 3,
DXVA2_VideoTransFunc_22 = 4,
DXVA2_VideoTransFunc_709 = 5,
DXVA2_VideoTransFunc_240M = 6,
DXVA2_VideoTransFunc_sRGB = 7,
DXVA2_VideoTransFunc_28 = 8
} DXVA2_VideoTransferFunction;public enum DXVA2_VideoTransferFunction : int
{
DXVA2_VideoTransFuncMask = 31,
DXVA2_VideoTransFunc_Unknown = 0,
DXVA2_VideoTransFunc_10 = 1,
DXVA2_VideoTransFunc_18 = 2,
DXVA2_VideoTransFunc_20 = 3,
DXVA2_VideoTransFunc_22 = 4,
DXVA2_VideoTransFunc_709 = 5,
DXVA2_VideoTransFunc_240M = 6,
DXVA2_VideoTransFunc_sRGB = 7,
DXVA2_VideoTransFunc_28 = 8,
}Public Enum DXVA2_VideoTransferFunction As Integer
DXVA2_VideoTransFuncMask = 31
DXVA2_VideoTransFunc_Unknown = 0
DXVA2_VideoTransFunc_10 = 1
DXVA2_VideoTransFunc_18 = 2
DXVA2_VideoTransFunc_20 = 3
DXVA2_VideoTransFunc_22 = 4
DXVA2_VideoTransFunc_709 = 5
DXVA2_VideoTransFunc_240M = 6
DXVA2_VideoTransFunc_sRGB = 7
DXVA2_VideoTransFunc_28 = 8
End Enumimport enum
class DXVA2_VideoTransferFunction(enum.IntEnum):
DXVA2_VideoTransFuncMask = 31
DXVA2_VideoTransFunc_Unknown = 0
DXVA2_VideoTransFunc_10 = 1
DXVA2_VideoTransFunc_18 = 2
DXVA2_VideoTransFunc_20 = 3
DXVA2_VideoTransFunc_22 = 4
DXVA2_VideoTransFunc_709 = 5
DXVA2_VideoTransFunc_240M = 6
DXVA2_VideoTransFunc_sRGB = 7
DXVA2_VideoTransFunc_28 = 8// DXVA2_VideoTransferFunction
pub const DXVA2_VideoTransFuncMask: i32 = 31;
pub const DXVA2_VideoTransFunc_Unknown: i32 = 0;
pub const DXVA2_VideoTransFunc_10: i32 = 1;
pub const DXVA2_VideoTransFunc_18: i32 = 2;
pub const DXVA2_VideoTransFunc_20: i32 = 3;
pub const DXVA2_VideoTransFunc_22: i32 = 4;
pub const DXVA2_VideoTransFunc_709: i32 = 5;
pub const DXVA2_VideoTransFunc_240M: i32 = 6;
pub const DXVA2_VideoTransFunc_sRGB: i32 = 7;
pub const DXVA2_VideoTransFunc_28: i32 = 8;// DXVA2_VideoTransferFunction
const (
DXVA2_VideoTransFuncMask int32 = 31
DXVA2_VideoTransFunc_Unknown int32 = 0
DXVA2_VideoTransFunc_10 int32 = 1
DXVA2_VideoTransFunc_18 int32 = 2
DXVA2_VideoTransFunc_20 int32 = 3
DXVA2_VideoTransFunc_22 int32 = 4
DXVA2_VideoTransFunc_709 int32 = 5
DXVA2_VideoTransFunc_240M int32 = 6
DXVA2_VideoTransFunc_sRGB int32 = 7
DXVA2_VideoTransFunc_28 int32 = 8
)const
DXVA2_VideoTransFuncMask = 31;
DXVA2_VideoTransFunc_Unknown = 0;
DXVA2_VideoTransFunc_10 = 1;
DXVA2_VideoTransFunc_18 = 2;
DXVA2_VideoTransFunc_20 = 3;
DXVA2_VideoTransFunc_22 = 4;
DXVA2_VideoTransFunc_709 = 5;
DXVA2_VideoTransFunc_240M = 6;
DXVA2_VideoTransFunc_sRGB = 7;
DXVA2_VideoTransFunc_28 = 8;// DXVA2_VideoTransferFunction
pub const DXVA2_VideoTransFuncMask: i32 = 31;
pub const DXVA2_VideoTransFunc_Unknown: i32 = 0;
pub const DXVA2_VideoTransFunc_10: i32 = 1;
pub const DXVA2_VideoTransFunc_18: i32 = 2;
pub const DXVA2_VideoTransFunc_20: i32 = 3;
pub const DXVA2_VideoTransFunc_22: i32 = 4;
pub const DXVA2_VideoTransFunc_709: i32 = 5;
pub const DXVA2_VideoTransFunc_240M: i32 = 6;
pub const DXVA2_VideoTransFunc_sRGB: i32 = 7;
pub const DXVA2_VideoTransFunc_28: i32 = 8;const
DXVA2_VideoTransFuncMask* = 31
DXVA2_VideoTransFunc_Unknown* = 0
DXVA2_VideoTransFunc_10* = 1
DXVA2_VideoTransFunc_18* = 2
DXVA2_VideoTransFunc_20* = 3
DXVA2_VideoTransFunc_22* = 4
DXVA2_VideoTransFunc_709* = 5
DXVA2_VideoTransFunc_240M* = 6
DXVA2_VideoTransFunc_sRGB* = 7
DXVA2_VideoTransFunc_28* = 8enum DXVA2_VideoTransferFunction : int {
DXVA2_VideoTransFuncMask = 31,
DXVA2_VideoTransFunc_Unknown = 0,
DXVA2_VideoTransFunc_10 = 1,
DXVA2_VideoTransFunc_18 = 2,
DXVA2_VideoTransFunc_20 = 3,
DXVA2_VideoTransFunc_22 = 4,
DXVA2_VideoTransFunc_709 = 5,
DXVA2_VideoTransFunc_240M = 6,
DXVA2_VideoTransFunc_sRGB = 7,
DXVA2_VideoTransFunc_28 = 8,
}#define global DXVA2_VideoTransFuncMask 0x1F
#define global DXVA2_VideoTransFunc_Unknown 0x0
#define global DXVA2_VideoTransFunc_10 0x1
#define global DXVA2_VideoTransFunc_18 0x2
#define global DXVA2_VideoTransFunc_20 0x3
#define global DXVA2_VideoTransFunc_22 0x4
#define global DXVA2_VideoTransFunc_709 0x5
#define global DXVA2_VideoTransFunc_240M 0x6
#define global DXVA2_VideoTransFunc_sRGB 0x7
#define global DXVA2_VideoTransFunc_28 0x8