ifm3d
frame_metadata.h
1 /*
2  * Copyright 2026-present ifm electronic, gmbh
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #ifndef IFM3D_RTSP_FRAME_METADATA_H
7 #define IFM3D_RTSP_FRAME_METADATA_H
8 
9 #include <array>
10 #include <cstdint>
11 
12 #include <ifm3d/rtsp/module_rtsp.h>
13 
14 namespace ifm3d
15 {
38  struct IFM3D_EXPORT RgbInfo
39  {
41  static constexpr std::size_t INTRINSIC_PARAM_COUNT = 32;
42 
47  static constexpr std::size_t WIRE_SIZE = 308;
48 
53  static constexpr std::array<std::uint8_t, 16> UUID = {0xe6,
54  0xcc,
55  0xb4,
56  0xb0,
57  0x00,
58  0x71,
59  0x58,
60  0x0e,
61  0x82,
62  0x8d,
63  0x92,
64  0x8c,
65  0x60,
66  0x07,
67  0x81,
68  0x43};
69 
71  struct Intrinsic
72  {
73  std::uint32_t model_id = 0;
74  std::array<float, INTRINSIC_PARAM_COUNT> model_parameters{};
75  };
76 
77  std::uint32_t version = 0;
78  std::uint32_t frame_counter = 0;
79  std::uint64_t timestamp_ns = 0;
80  float exposure_time = 0.0F;
81 
83  std::array<float, 6> extrinsic_optic_to_user{};
84 
85  Intrinsic intrinsic;
86  Intrinsic inverse_intrinsic;
87  };
88 
94  namespace frame_metadata
95  {
96  constexpr const char* VERSION = "version";
97  constexpr const char* FRAME_COUNTER = "frame_counter";
98  constexpr const char* TIMESTAMP_NS = "timestamp_ns";
99  constexpr const char* EXPOSURE_TIME = "exposure_time";
100  constexpr const char* EXTRINSIC_OPTIC_TO_USER = "extrinsic_optic_to_user";
101  constexpr const char* INTRINSIC_MODEL_ID = "intrinsic_model_id";
102  constexpr const char* INTRINSIC_PARAMETERS = "intrinsic_parameters";
103  constexpr const char* INVERSE_INTRINSIC_MODEL_ID =
104  "inverse_intrinsic_model_id";
105  constexpr const char* INVERSE_INTRINSIC_PARAMETERS =
106  "inverse_intrinsic_parameters";
107  } // namespace frame_metadata
108 
109 } // namespace ifm3d
110 
111 #endif // IFM3D_RTSP_FRAME_METADATA_H
Intrinsic / inverse-intrinsic calibration model.
Definition: frame_metadata.h:72
Metadata transported in an H.264 SEI "unregistered user data" message (ITU-T H.264 §D....
Definition: frame_metadata.h:39