xref: /aosp_15_r20/external/armnn/samples/common/include/Utils/Types.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <cstddef>
9 #include <cstdint>
10 #include <vector>
11 #include <tuple>
12 
13 #include <armnn/BackendId.hpp>
14 
15 namespace common
16 {
17 
18 struct Size
19 {
20 
21     uint32_t m_Width;
22     uint32_t m_Height;
23 
Sizecommon::Size24     Size() : Size(0, 0) {}
25 
Sizecommon::Size26     Size(uint32_t width, uint32_t height) :
27             m_Width{width}, m_Height{height} {}
28 
Sizecommon::Size29     Size(const Size& other)
30             : Size(other.m_Width, other.m_Height) {}
31 
32     ~Size() = default;
33 
34     Size &operator=(const Size& other) = default;
35 };
36 
37 struct BBoxColor
38 {
39     std::tuple<int, int, int> colorCode;
40 };
41 
42 struct PipelineOptions
43 {
44     std::string m_ModelName;
45     std::string m_ModelFilePath;
46     std::vector<armnn::BackendId> m_backends;
47     bool m_ProfilingEnabled = false;
48 };
49 
50 template<typename T>
51 using InferenceResult = std::vector<T>;
52 
53 template<typename T>
54 using InferenceResults = std::vector<InferenceResult<T>>;
55 } // namespace common