scuffle_h265/enums/profile_compatibility_flags.rs
1bitflags::bitflags! {
2 /// Represents the profile compatibility flags.
3 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
4 pub struct ProfileCompatibilityFlags: u32 {
5 /// Profile flag 0
6 const Profile0 = 1 << 31;
7 /// Main Profile
8 ///
9 /// ISO/IEC 23008-2 - A.3.2
10 const MainProfile = 1 << 30; // 1
11 /// Main 10 Profile
12 ///
13 /// ISO/IEC 23008-2 - A.3.3
14 const Main10Profile = 1 << 29; // 2
15 /// Main Still Picture Profile
16 ///
17 /// ISO/IEC 23008-2 - A.3.4
18 const MainStillPictureProfile = 1 << 28; // 3
19 /// Format Range Extensions Profile
20 ///
21 /// ISO/IEC 23008-2 - A.3.5
22 const FormatRangeExtensionsProfile = 1 << 27; // 4
23 /// High Throughput Profile
24 ///
25 /// ISO/IEC 23008-2 - A.3.6
26 const HighThroughputProfile = 1 << 26; // 5
27 /// Profile flag 6
28 const Profile6 = 1 << 25;
29 /// Profile flag 7
30 const Profile7 = 1 << 24;
31 /// Profile flag 8
32 const Profile8 = 1 << 23;
33 /// Screen Content Coding Extensions Profile
34 ///
35 /// ISO/IEC 23008-2 - A.3.7
36 const ScreenContentCodingExtensionsProfile = 1 << 22;
37 /// Profile flag 10
38 const Profile10 = 1 << 21;
39 /// High Throughput Screen Content Coding Extensions Profile
40 ///
41 /// ISO/IEC 23008-2 - A.3.8
42 const HighThroughputScreenContentCodingExtensionsProfile = 1 << 20;
43 /// Profile flag 12
44 const Profile12 = 1 << 19;
45 /// Profile flag 13
46 const Profile13 = 1 << 18;
47 /// Profile flag 14
48 const Profile14 = 1 << 17;
49 /// Profile flag 15
50 const Profile15 = 1 << 16;
51 /// Profile flag 16
52 const Profile16 = 1 << 15;
53 /// Profile flag 17
54 const Profile17 = 1 << 14;
55 /// Profile flag 18
56 const Profile18 = 1 << 13;
57 /// Profile flag 19
58 const Profile19 = 1 << 12;
59 /// Profile flag 20
60 const Profile20 = 1 << 11;
61 /// Profile flag 21
62 const Profile21 = 1 << 10;
63 /// Profile flag 22
64 const Profile22 = 1 << 9;
65 /// Profile flag 23
66 const Profile23 = 1 << 8;
67 /// Profile flag 24
68 const Profile24 = 1 << 7;
69 /// Profile flag 25
70 const Profile25 = 1 << 6;
71 /// Profile flag 26
72 const Profile26 = 1 << 5;
73 /// Profile flag 27
74 const Profile27 = 1 << 4;
75 /// Profile flag 28
76 const Profile28 = 1 << 3;
77 /// Profile flag 29
78 const Profile29 = 1 << 2;
79 /// Profile flag 30
80 const Profile30 = 1 << 1;
81 /// Profile flag 31
82 const Profile31 = 1 << 0;
83 }
84}