From 49dba8d6d5ab8ef93aea320f8d39cf11d04e9cf0 Mon Sep 17 00:00:00 2001 From: Tommy Date: Tue, 15 Nov 2022 08:00:31 +0100 Subject: [PATCH 1/3] Change incorrect values for image format bytes per pixel --- .../depthai-shared/datatype/RawImgFrame.hpp | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/include/depthai-shared/datatype/RawImgFrame.hpp b/include/depthai-shared/datatype/RawImgFrame.hpp index 7a842951..77267004 100644 --- a/include/depthai-shared/datatype/RawImgFrame.hpp +++ b/include/depthai-shared/datatype/RawImgFrame.hpp @@ -49,49 +49,49 @@ struct RawImgFrame : public RawBuffer { static constexpr int typeToBpp(Type type) { switch(type) { case Type::YUV422i: - return 1; + return 2; break; case Type::YUV444p: - return 1; + return 3; break; case Type::YUV420p: - return 1; + return 2; break; case Type::YUV422p: - return 1; + return 2; break; case Type::YUV400p: - return 1; + return 2; break; case Type::RGBA8888: - return 1; + return 4; break; case Type::RGB161616: - return 2; + return 6; break; case Type::RGB888p: - return 1; + return 3; break; case Type::BGR888p: - return 1; + return 3; break; case Type::RGB888i: - return 1; + return 3; break; case Type::BGR888i: - return 1; + return 3; break; case Type::RGBF16F16F16p: - return 2; + return 6; break; case Type::BGRF16F16F16p: - return 2; + return 6; break; case Type::RGBF16F16F16i: - return 2; + return 6; break; case Type::BGRF16F16F16i: - return 2; + return 6; break; case Type::GRAY8: return 1; @@ -130,13 +130,13 @@ struct RawImgFrame : public RawBuffer { return 2; break; case Type::YUV444i: - return 1; + return 2; break; case Type::NV12: - return 1; + return 2; break; case Type::NV21: - return 1; + return 2; break; case Type::BITSTREAM: return 1; @@ -179,6 +179,7 @@ struct RawImgFrame : public RawBuffer { int64_t sequenceNum = 0; // increments for each frame Timestamp ts = {}; // generation timestamp, synced to host time Timestamp tsDevice = {}; // generation timestamp, direct device monotonic clock + dai::FrameEvent event = dai::FrameEvent::NONE; void serialize(std::vector& metadata, DatatypeEnum& datatype) const override { metadata = utility::serialize(*this); From 1b122a938bd841169a1e736c97c027f55e11ddd4 Mon Sep 17 00:00:00 2001 From: Tommy Date: Tue, 15 Nov 2022 08:00:31 +0100 Subject: [PATCH 2/3] Change incorrect values for image format bytes per pixel --- .../depthai-shared/datatype/RawImgFrame.hpp | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/include/depthai-shared/datatype/RawImgFrame.hpp b/include/depthai-shared/datatype/RawImgFrame.hpp index 7a842951..531a6b37 100644 --- a/include/depthai-shared/datatype/RawImgFrame.hpp +++ b/include/depthai-shared/datatype/RawImgFrame.hpp @@ -49,49 +49,49 @@ struct RawImgFrame : public RawBuffer { static constexpr int typeToBpp(Type type) { switch(type) { case Type::YUV422i: - return 1; + return 2; break; case Type::YUV444p: - return 1; + return 3; break; case Type::YUV420p: - return 1; + return 2; break; case Type::YUV422p: - return 1; + return 2; break; case Type::YUV400p: - return 1; + return 2; break; case Type::RGBA8888: - return 1; + return 4; break; case Type::RGB161616: - return 2; + return 6; break; case Type::RGB888p: - return 1; + return 3; break; case Type::BGR888p: - return 1; + return 3; break; case Type::RGB888i: - return 1; + return 3; break; case Type::BGR888i: - return 1; + return 3; break; case Type::RGBF16F16F16p: - return 2; + return 6; break; case Type::BGRF16F16F16p: - return 2; + return 6; break; case Type::RGBF16F16F16i: - return 2; + return 6; break; case Type::BGRF16F16F16i: - return 2; + return 6; break; case Type::GRAY8: return 1; @@ -130,13 +130,13 @@ struct RawImgFrame : public RawBuffer { return 2; break; case Type::YUV444i: - return 1; + return 2; break; case Type::NV12: - return 1; + return 2; break; case Type::NV21: - return 1; + return 2; break; case Type::BITSTREAM: return 1; From abce4a25cd3a7ba709cef7a5c1b3c70e9f99f480 Mon Sep 17 00:00:00 2001 From: Tommy Date: Mon, 21 Nov 2022 22:35:15 +0100 Subject: [PATCH 3/3] Use floating point BPP values where applicable --- .../depthai-shared/datatype/RawImgFrame.hpp | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/include/depthai-shared/datatype/RawImgFrame.hpp b/include/depthai-shared/datatype/RawImgFrame.hpp index 77267004..9d199b7f 100644 --- a/include/depthai-shared/datatype/RawImgFrame.hpp +++ b/include/depthai-shared/datatype/RawImgFrame.hpp @@ -46,22 +46,25 @@ struct RawImgFrame : public RawBuffer { NONE }; - static constexpr int typeToBpp(Type type) { + static constexpr float typeToBpp(Type type) { switch(type) { + case Type::YUV422p: + return 2; + break; case Type::YUV422i: return 2; break; case Type::YUV444p: return 3; break; - case Type::YUV420p: - return 2; + case Type::YUV444i: + return 3; break; - case Type::YUV422p: - return 2; + case Type::YUV420p: + return 1.5f; break; case Type::YUV400p: - return 2; + return 1.5f; break; case Type::RGBA8888: return 4; @@ -72,10 +75,10 @@ struct RawImgFrame : public RawBuffer { case Type::RGB888p: return 3; break; - case Type::BGR888p: + case Type::RGB888i: return 3; break; - case Type::RGB888i: + case Type::BGR888p: return 3; break; case Type::BGR888i: @@ -84,10 +87,10 @@ struct RawImgFrame : public RawBuffer { case Type::RGBF16F16F16p: return 6; break; - case Type::BGRF16F16F16p: + case Type::RGBF16F16F16i: return 6; break; - case Type::RGBF16F16F16i: + case Type::BGRF16F16F16p: return 6; break; case Type::BGRF16F16F16i: @@ -100,13 +103,13 @@ struct RawImgFrame : public RawBuffer { return 2; break; case Type::LUT2: - return 1; + return 0.125f; break; case Type::LUT4: - return 1; + return 0.25f; break; case Type::LUT16: - return 1; + return 0.5f; break; case Type::RAW16: return 2; @@ -124,19 +127,16 @@ struct RawImgFrame : public RawBuffer { return 1; break; case Type::PACK10: - return 2; + return 1.25f; break; case Type::PACK12: - return 2; - break; - case Type::YUV444i: - return 2; + return 1.5f; break; case Type::NV12: - return 2; + return 1.5f; break; case Type::NV21: - return 2; + return 1.5f; break; case Type::BITSTREAM: return 1;