ifm3d
ifm3d::RgbInfo Struct Reference

Metadata transported in an H.264 SEI "unregistered user data" message (ITU-T H.264 §D.1, payloadType 5). More...

#include <ifm3d/rtsp/frame_metadata.h>

Classes

struct  Intrinsic
 Intrinsic / inverse-intrinsic calibration model. More...
 

Public Attributes

std::uint32_t version = 0
 
std::uint32_t frame_counter = 0
 
std::uint64_t timestamp_ns = 0
 
float exposure_time = 0.0F
 
std::array< float, 6 > extrinsic_optic_to_user {}
 transX, transY, transZ [m], rotX, rotY, rotZ [rad].
 
Intrinsic intrinsic
 
Intrinsic inverse_intrinsic
 

Static Public Attributes

static constexpr std::size_t INTRINSIC_PARAM_COUNT = 32
 Number of float parameters in an intrinsic calibration model.
 
static constexpr std::size_t WIRE_SIZE = 308
 Serialized size of the RGB_INFO field block, in bytes (the SEI user-data payload excluding the leading 16-byte UUID).
 
static constexpr std::array< std::uint8_t, 16 > UUID
 16-byte RFC-4122 UUID identifying the RGB_INFO SEI payload (UUIDv5 of name "RGB_INFO"): e6ccb4b0-0071-580e-828d-928c60078143. More...
 

Detailed Description

Metadata transported in an H.264 SEI "unregistered user data" message (ITU-T H.264 §D.1, payloadType 5).

O3C devices embed a RGB_INFO structure (ticket O3C-6884) in every coded video frame. When the RtspClient decodes a frame it parses this SEI payload and attaches it to the delivered ifm3d::Buffer as JSON metadata (see the frame_metadata keys below), so applications can correlate the decoded image with the device's frame counter, timestamp and calibration.

Wire layout (all little-endian, IEEE-754 floats), 308 bytes total:

Offset  Field                    Type             Size
0x0000  version                  uint32           4
0x0004  frame_counter            uint32           4
0x0008  timestamp_ns             uint64           8
0x0010  exposure_time            float32          4
0x0014  extrinsic_optic_to_user  float32[6]       24
0x002C  intrinsic_calibration    uint32 + f32[32] 132
0x00B0  inverse_intrinsic_calib  uint32 + f32[32] 132

Member Data Documentation

◆ UUID

constexpr std::array<std::uint8_t, 16> ifm3d::RgbInfo::UUID
staticconstexpr
Initial value:
= {0xe6,
0xcc,
0xb4,
0xb0,
0x00,
0x71,
0x58,
0x0e,
0x82,
0x8d,
0x92,
0x8c,
0x60,
0x07,
0x81,
0x43}

16-byte RFC-4122 UUID identifying the RGB_INFO SEI payload (UUIDv5 of name "RGB_INFO"): e6ccb4b0-0071-580e-828d-928c60078143.


The documentation for this struct was generated from the following file: