LibMultiSense
LibMultiSense Documentation
Loading...
Searching...
No Matches
CompressedImageMessage.hh
Go to the documentation of this file.
1
37
#ifndef LibMultiSense_CompressedImageMessage
38
#define LibMultiSense_CompressedImageMessage
39
40
#include <typeinfo>
41
#include <cmath>
42
43
#include "
utility/Portability.hh
"
44
45
namespace
crl
{
46
namespace
multisense
{
47
namespace
details {
48
namespace
wire {
49
50
class
WIRE_HEADER_ATTRIBS_
CompressedImageHeader
{
51
public
:
52
53
static
CRL_CONSTEXPR
IdType
ID = ID_DATA_COMPRESSED_IMAGE;
54
static
CRL_CONSTEXPR
VersionType
VERSION = 1;
55
56
static
CRL_CONSTEXPR
uint32_t H264_CODEC = 0;
57
58
#ifdef SENSORPOD_FIRMWARE
59
IdType
id;
60
VersionType
version;
61
#endif
// SENSORPOD_FIRMWARE
62
63
uint32_t
source
;
64
uint32_t
bitsPerPixel
;
65
uint32_t
codec
;
66
int64_t
frameId
;
67
uint16_t
width
;
68
uint16_t
height
;
69
uint32_t
exposure
;
70
float
gain
;
71
uint32_t
compressedDataBufferSize
;
72
uint32_t
sourceExtended
;
73
74
CompressedImageHeader
()
75
:
76
#ifdef SENSORPOD_FIRMWARE
77
id(ID),
78
version(VERSION),
79
#endif
// SENSORPOD_FIRMWARE
80
source(0),
81
bitsPerPixel(0),
82
codec(0),
83
frameId(0),
84
width(0),
85
height(0),
86
exposure(0),
87
gain(0.0),
88
compressedDataBufferSize(0),
89
sourceExtended(0)
90
{};
91
};
92
93
#ifndef SENSORPOD_FIRMWARE
94
95
class
CompressedImage
:
public
CompressedImageHeader
{
96
public
:
97
98
void
*
dataP
;
99
100
//
101
// Constructors
102
103
CompressedImage
(
utility::BufferStreamReader
&r,
VersionType
v) {
serialize
(r,v);};
104
CompressedImage
() :
dataP
(NULL) {};
105
106
//
107
// Serialization routine
108
109
template
<
class
Archive>
110
void
serialize
(Archive& message,
111
const
VersionType
version)
112
{
113
message &
source
;
114
message &
bitsPerPixel
;
115
message &
codec
;
116
message &
frameId
;
117
message &
width
;
118
message &
height
;
119
message &
exposure
;
120
message &
gain
;
121
message &
compressedDataBufferSize
;
122
123
if
(
typeid
(Archive) ==
typeid
(
utility::BufferStreamWriter
)) {
124
125
message.write(
dataP
,
compressedDataBufferSize
);
126
127
}
else
{
128
129
dataP
= message.peek();
130
message.seek(message.tell() +
compressedDataBufferSize
);
131
}
132
133
if
(version >= 1)
134
{
135
message &
sourceExtended
;
136
}
137
else
138
{
139
sourceExtended
= 0;
140
}
141
142
}
143
};
144
145
#endif
// !SENSORPOD_FIRMWARE
146
147
}}}}
// namespaces
148
149
#endif
Portability.hh
Macros and symbols to help portability between different compiler versions.
CRL_CONSTEXPR
#define CRL_CONSTEXPR
Definition
Portability.hh:49
WIRE_HEADER_ATTRIBS_
#define WIRE_HEADER_ATTRIBS_
Definition
Protocol.hh:65
crl::multisense::details::utility::BufferStreamReader
Definition
BufferStream.hh:192
crl::multisense::details::utility::BufferStreamWriter
Definition
BufferStream.hh:259
crl::multisense::details::wire::CompressedImageHeader
Definition
CompressedImageMessage.hh:50
crl::multisense::details::wire::CompressedImageHeader::gain
float gain
Definition
CompressedImageMessage.hh:70
crl::multisense::details::wire::CompressedImageHeader::sourceExtended
uint32_t sourceExtended
Definition
CompressedImageMessage.hh:72
crl::multisense::details::wire::CompressedImageHeader::height
uint16_t height
Definition
CompressedImageMessage.hh:68
crl::multisense::details::wire::CompressedImageHeader::compressedDataBufferSize
uint32_t compressedDataBufferSize
Definition
CompressedImageMessage.hh:71
crl::multisense::details::wire::CompressedImageHeader::bitsPerPixel
uint32_t bitsPerPixel
Definition
CompressedImageMessage.hh:64
crl::multisense::details::wire::CompressedImageHeader::codec
uint32_t codec
Definition
CompressedImageMessage.hh:65
crl::multisense::details::wire::CompressedImageHeader::width
uint16_t width
Definition
CompressedImageMessage.hh:67
crl::multisense::details::wire::CompressedImageHeader::frameId
int64_t frameId
Definition
CompressedImageMessage.hh:66
crl::multisense::details::wire::CompressedImageHeader::exposure
uint32_t exposure
Definition
CompressedImageMessage.hh:69
crl::multisense::details::wire::CompressedImageHeader::source
uint32_t source
Definition
CompressedImageMessage.hh:63
crl::multisense::details::wire::CompressedImageHeader::CompressedImageHeader
CompressedImageHeader()
Definition
CompressedImageMessage.hh:74
crl::multisense::details::wire::CompressedImage
Definition
CompressedImageMessage.hh:95
crl::multisense::details::wire::CompressedImage::CompressedImage
CompressedImage(utility::BufferStreamReader &r, VersionType v)
Definition
CompressedImageMessage.hh:103
crl::multisense::details::wire::CompressedImage::CompressedImage
CompressedImage()
Definition
CompressedImageMessage.hh:104
crl::multisense::details::wire::CompressedImage::dataP
void * dataP
Definition
CompressedImageMessage.hh:98
crl::multisense::details::wire::CompressedImage::serialize
void serialize(Archive &message, const VersionType version)
Definition
CompressedImageMessage.hh:110
crl::multisense::details::wire::VersionType
uint16_t VersionType
Definition
Protocol.hh:137
crl::multisense::details::wire::IdType
uint16_t IdType
Definition
Protocol.hh:136
crl
Definition
BufferStream.hh:51
multisense
Definition
MultiSenseChannel.hh:44
source
Wire
include
wire
CompressedImageMessage.hh
Generated on Wed Dec 17 2025 23:55:12 for LibMultiSense by
1.9.8