summaryrefslogtreecommitdiff
path: root/python/openvino/runtime/common/format_reader/yuv_nv12.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'python/openvino/runtime/common/format_reader/yuv_nv12.cpp')
-rw-r--r--python/openvino/runtime/common/format_reader/yuv_nv12.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/python/openvino/runtime/common/format_reader/yuv_nv12.cpp b/python/openvino/runtime/common/format_reader/yuv_nv12.cpp
new file mode 100644
index 0000000..f25c5cb
--- /dev/null
+++ b/python/openvino/runtime/common/format_reader/yuv_nv12.cpp
@@ -0,0 +1,36 @@
+// Copyright (C) 2018-2022 Intel Corporation
+// SPDX-License-Identifier: Apache-2.0
+//
+
+// clang-format off
+#include <fstream>
+#include <iostream>
+#include <string>
+
+#include "yuv_nv12.h"
+// clang-format on
+
+using namespace FormatReader;
+
+YUV_NV12::YUV_NV12(const std::string& filename) {
+ auto pos = filename.rfind('.');
+ if (pos == std::string::npos)
+ return;
+ if (filename.substr(pos + 1) != "yuv")
+ return;
+
+ std::ifstream file(filename, std::ios::binary);
+ if (!file.is_open()) {
+ return;
+ }
+
+ file.seekg(0, file.end);
+ _size = file.tellg();
+ file.seekg(0, file.beg);
+
+ _data.reset(new unsigned char[_size], std::default_delete<unsigned char[]>());
+
+ file.read(reinterpret_cast<char*>(_data.get()), _size);
+
+ file.close();
+}