summaryrefslogtreecommitdiff
path: root/python/openvino/runtime/streaming/image_streaming_app/raw_image.h
diff options
context:
space:
mode:
authorEric Dao <eric@erickhangdao.com>2025-03-10 17:54:31 -0400
committerEric Dao <eric@erickhangdao.com>2025-03-10 17:54:31 -0400
commitab224e2e6ba65f5a369ec392f99cd8845ad06c98 (patch)
treea1e757e9341863ed52b8ad4c5a1c45933aab9da4 /python/openvino/runtime/streaming/image_streaming_app/raw_image.h
parent40da1752f2c8639186b72f6838aa415e854d0b1d (diff)
downloadthesis-master.tar.gz
thesis-master.tar.bz2
thesis-master.zip
completed thesisHEADmaster
Diffstat (limited to 'python/openvino/runtime/streaming/image_streaming_app/raw_image.h')
-rw-r--r--python/openvino/runtime/streaming/image_streaming_app/raw_image.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/python/openvino/runtime/streaming/image_streaming_app/raw_image.h b/python/openvino/runtime/streaming/image_streaming_app/raw_image.h
new file mode 100644
index 0000000..9cb08b4
--- /dev/null
+++ b/python/openvino/runtime/streaming/image_streaming_app/raw_image.h
@@ -0,0 +1,52 @@
+// Copyright 2023 Intel Corporation.
+//
+// This software and the related documents are Intel copyrighted materials,
+// and your use of them is governed by the express license under which they
+// were provided to you ("License"). Unless the License provides otherwise,
+// you may not use, modify, copy, publish, distribute, disclose or transmit
+// this software or the related documents without Intel's prior written
+// permission.
+//
+// This software and the related documents are provided as is, with no express
+// or implied warranties, other than those that are expressly stated in the
+// License.
+
+#pragma once
+#include <cstdint>
+#include <filesystem>
+#include <memory>
+#include <vector>
+#include "ILayoutTransform.h"
+#include "bmp_file.h"
+#include "float16.h"
+
+class RawImage {
+ public:
+ RawImage(std::filesystem::path filePath,
+ bool runLayoutTransform,
+ const ILayoutTransform::Configuration& ltConfiguration);
+ uint8_t* GetData();
+ size_t GetSize();
+ std::string Filename() { return _filePath; }
+ bool DumpLayoutTransform();
+ static std::vector<uint16_t> LayoutTransform(uint32_t width,
+ uint32_t height,
+ const std::vector<uint8_t>& data,
+ const ILayoutTransform::Configuration& ltConfiguration);
+ static std::vector<uint8_t> MakePlanar(uint32_t width, uint32_t height, const std::vector<uint8_t>& data);
+ bool IsValid();
+
+ private:
+ static void GenerateLayoutIndexes(const ILayoutTransform::Configuration& ltConfiguration);
+ void LayoutTransform(const ILayoutTransform::Configuration& ltConfiguration);
+ static std::vector<uint16_t> LayoutTransform(const std::vector<uint8_t>& sourceData,
+ uint32_t numPixels,
+ const ILayoutTransform::Configuration& ltConfiguration);
+
+ std::filesystem::path _filePath;
+ std::shared_ptr<BmpFile> _spBmpFile;
+ std::vector<uint16_t> _layoutTransformData;
+ static std::vector<int32_t> _indexes;
+ bool _runLayoutTransform = false;
+ ILayoutTransform::Configuration _ltConfiguration;
+};