libwebm/mkvmuxer/
colour.rs

1//use num_traits::{FromPrimitive, ToPrimitive};
2
3#[derive(Primitive)]
4pub enum MatrixCoefficients {
5    kGbr = 0,
6    kBt709 = 1,
7    kUnspecifiedMc = 2,
8    kReserved = 3,
9    kFcc = 4,
10    kBt470bg = 5,
11    kSmpte170MMc = 6,
12    kSmpte240MMc = 7,
13    kYcocg = 8,
14    kBt2020NonConstantLuminance = 9,
15    kBt2020ConstantLuminance = 10,
16}
17
18#[derive(Primitive)]
19pub enum ChromaSitingHorz {
20    kUnspecifiedCsh = 0,
21    kLeftCollocated = 1,
22    kHalfCsh = 2,
23}
24
25#[derive(Primitive)]
26pub enum ChromaSitingVert {
27    kUnspecifiedCsv = 0,
28    kTopCollocated = 1,
29    kHalfCsv = 2,
30}
31
32#[derive(Primitive)]
33pub enum Range {
34    kUnspecifiedCr = 0,
35    kBroadcastRange = 1,
36    kFullRange = 2,
37    kMcTcDefined = 3, // Defined by MatrixCoefficients/TransferCharacteristics.
38}
39
40#[derive(Primitive)]
41pub enum TransferCharacteristics {
42    kIturBt709Tc = 1,
43    kUnspecifiedTc = 2,
44    kReservedTc = 3,
45    kGamma22Curve = 4,
46    kGamma28Curve = 5,
47    kSmpte170MTc = 6,
48    kSmpte240MTc = 7,
49    kLinear = 8,
50    kLog = 9,
51    kLogSqrt = 10,
52    kIec6196624 = 11,
53    kIturBt1361ExtendedColourGamut = 12,
54    kIec6196621 = 13,
55    kIturBt202010bit = 14,
56    kIturBt202012bit = 15,
57    kSmpteSt2084 = 16,
58    kSmpteSt4281Tc = 17,
59    kAribStdB67Hlg = 18,
60}
61
62#[derive(Primitive)]
63pub enum Primaries {
64    kReservedP0 = 0,
65    kIturBt709P = 1,
66    kUnspecifiedP = 2,
67    kReservedP3 = 3,
68    kIturBt470M = 4,
69    kIturBt470Bg = 5,
70    kSmpte170MP = 6,
71    kSmpte240MP = 7,
72    kFilm = 8,
73    kIturBt2020 = 9,
74    kSmpteSt4281P = 10,
75    kJedecP22Phosphors = 22,
76}