1 #pragma once
2 
3 #include <aidl/android/hardware/graphics/common/PlaneLayoutComponentType.h>
4 
5 #include <cstdint>
6 
7 namespace pixel::graphics {
8 
9 using aidl::android::hardware::graphics::common::PlaneLayoutComponentType;
10 
11 // These are represented as bitwise in PlaneLayoutComponentType.aidl, but we
12 // do not treat them as such. This helps in better separation of component type
13 // as required.
14 enum class ComponentType : uint32_t {
15     Y = static_cast<uint32_t>(PlaneLayoutComponentType::Y),
16     CB = static_cast<uint32_t>(PlaneLayoutComponentType::CB),
17     CR = static_cast<uint32_t>(PlaneLayoutComponentType::CR),
18     R = static_cast<uint32_t>(PlaneLayoutComponentType::R),
19     G = static_cast<uint32_t>(PlaneLayoutComponentType::G),
20     B = static_cast<uint32_t>(PlaneLayoutComponentType::B),
21     RAW = static_cast<uint32_t>(PlaneLayoutComponentType::RAW),
22     A = static_cast<uint32_t>(PlaneLayoutComponentType::A),
23 
24     // These are not in PlaneLayoutComponentType
25     D = 1 << 21,
26     S,
27     BLOB,
28 };
29 
30 } // namespace pixel::graphics
31