Skip to content

Commit

Permalink
P)R #11534 from Eran: add D415 formats; change YUYV to yuv422_yuy2 fo…
Browse files Browse the repository at this point in the history
…r ROS2
  • Loading branch information
maloel committed Mar 8, 2023
2 parents db67a6e + 8e7819e commit a75e3c8
Show file tree
Hide file tree
Showing 8 changed files with 107 additions and 104 deletions.
2 changes: 1 addition & 1 deletion src/context.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1074,7 +1074,7 @@ namespace librealsense
}

if (list.size())
LOG_INFO( "Found " << list.size() << " RealSense devices (mask 0x" << std::hex << mask << ")" );
LOG_INFO( "Found " << list.size() << " RealSense devices (mask 0x" << std::hex << mask << ")" << std::dec );
return list;
}

Expand Down
2 changes: 1 addition & 1 deletion src/ds/ds-private.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ namespace librealsense
RS2_DISTORTION_INVERSE_BROWN_CONRADY // The coefficients shall be use for undistort
};
librealsense::copy(calc_intrinsic.coeffs, table->distortion, sizeof(table->distortion));
LOG_DEBUG(endl << array2str((float_4&)(calc_intrinsic.fx, calc_intrinsic.fy, calc_intrinsic.ppx, calc_intrinsic.ppy)) << endl);
//LOG_DEBUG(endl << array2str((float_4&)(calc_intrinsic.fx, calc_intrinsic.fy, calc_intrinsic.ppx, calc_intrinsic.ppy)) << endl);

static rs2_intrinsics ref{};
if (memcmp(&calc_intrinsic, &ref, sizeof(rs2_intrinsics)))
Expand Down
8 changes: 4 additions & 4 deletions src/ds/ds-private.h
Original file line number Diff line number Diff line change
Expand Up @@ -311,10 +311,10 @@ namespace librealsense
{
throw invalid_value_exception("Calibration data CRC error, parsing aborted!");
}*/
LOG_DEBUG("Loaded Valid Table: version [mjr.mnr]: 0x" <<
hex << setfill('0') << setw(4) << header->version << dec
<< ", type " << header->table_type << ", size " << header->table_size
<< ", CRC: " << hex << header->crc32);
//LOG_DEBUG("Loaded Valid Table: version [mjr.mnr]: 0x" <<
// hex << setfill('0') << setw(4) << header->version << dec
// << ", type " << header->table_type << ", size " << header->table_size
// << ", CRC: " << hex << header->crc32 << dec );
return table;
}

Expand Down
8 changes: 4 additions & 4 deletions third-party/realdds/include/realdds/dds-stream-profile.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ namespace realdds {
// converted to a string. It must be '<= size' characters long, and we actually store the terminating null for
// convenience.
//
// Currently, only specific formats are needed and so 6 characters are enough to fit our needs given their ROS
// encodings. We round it up to 8 (64 bits, including the terminating null) for alignment and some flexibility.
// Currently, the longest format we need is "yuv422_yuy2" so 10 characters are enough to fit our needs given their ROS
// encodings. We round it up to 16 (including the terminating null) for alignment and some flexibility.
//
struct dds_stream_format
{
static constexpr size_t size = 7; // max length of encoding
char data[size + 1]; // add a terminating NULL for ease
static constexpr size_t size = 15; // max length of encoding
char data[size + 1]; // add a terminating NULL for ease

dds_stream_format()
: data{ 0 }
Expand Down
9 changes: 6 additions & 3 deletions third-party/realdds/src/dds-stream-profile.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,7 @@ enum rs2_format // copy from rs2_sensor.h
int dds_stream_format::to_rs2() const
{
static std::map< std::string, int > fcc_to_rs2{ // copy from ds5-device.cpp
{ "YUY2", RS2_FORMAT_YUYV },
{ "YUYV", RS2_FORMAT_YUYV },
{ "yuv422_yuy2", RS2_FORMAT_YUYV }, // Used by Color streams; ROS2-compatible
{ "UYVY", RS2_FORMAT_UYVY },
{ "mono8", RS2_FORMAT_Y8 }, // Used by IR streams; ROS2-compatible
{ "Y8I", RS2_FORMAT_Y8I },
Expand All @@ -95,7 +94,9 @@ int dds_stream_format::to_rs2() const
{ "MJPG", RS2_FORMAT_MJPEG },
{ "CNF4", RS2_FORMAT_RAW8 },
{ "BYR2", RS2_FORMAT_RAW16 },
{ "R10", RS2_FORMAT_RAW10 },
{ "MXYZ", RS2_FORMAT_MOTION_XYZ32F },
{ "Y10B", RS2_FORMAT_Y10BPACK },
};

std::string s = to_string();
Expand All @@ -111,7 +112,7 @@ dds_stream_format dds_stream_format::from_rs2( int rs2_format )
char const * encoding = nullptr;
switch( rs2_format )
{
case RS2_FORMAT_YUYV: encoding = "YUYV"; break;
case RS2_FORMAT_YUYV: encoding = "yuv422_yuy2"; break;
case RS2_FORMAT_Y8: encoding = "mono8"; break;
case RS2_FORMAT_Y8I: encoding = "Y8I"; break;
case RS2_FORMAT_W10: encoding = "W10"; break;
Expand All @@ -127,8 +128,10 @@ dds_stream_format dds_stream_format::from_rs2( int rs2_format )
case RS2_FORMAT_MJPEG: encoding = "MJPG"; break;
case RS2_FORMAT_RAW8: encoding = "CNF4"; break;
case RS2_FORMAT_RAW16: encoding = "BYR2"; break;
case RS2_FORMAT_RAW10: encoding = "R10"; break;
case RS2_FORMAT_UYVY: encoding = "UYVY"; break;
case RS2_FORMAT_MOTION_XYZ32F: encoding = "MXYZ"; break; // todo
case RS2_FORMAT_Y10BPACK: encoding = "Y10B"; break;
default:
DDS_THROW( runtime_error, "cannot translate rs2_format " + std::to_string( rs2_format ) + " to any known dds_stream_format" );
};
Expand Down
56 changes: 28 additions & 28 deletions unit-tests/dds/d405.py
Original file line number Diff line number Diff line change
Expand Up @@ -272,169 +272,169 @@ def color_stream_profiles():
dds.video_stream_profile( 30, dds.stream_format("BGRA"), 1280, 720 ),
dds.video_stream_profile( 30, dds.stream_format("RGBA"), 1280, 720 ),
dds.video_stream_profile( 30, dds.stream_format("RGB2"), 1280, 720 ),
dds.video_stream_profile( 30, dds.stream_format("YUYV"), 1280, 720 ),
dds.video_stream_profile( 30, dds.stream_format("yuv422_yuy2"), 1280, 720 ),
dds.video_stream_profile( 15, dds.stream_format("rgb8"), 1280, 720 ),
dds.video_stream_profile( 15, dds.stream_format("Y16"), 1280, 720 ),
dds.video_stream_profile( 15, dds.stream_format("BGRA"), 1280, 720 ),
dds.video_stream_profile( 15, dds.stream_format("RGBA"), 1280, 720 ),
dds.video_stream_profile( 15, dds.stream_format("RGB2"), 1280, 720 ),
dds.video_stream_profile( 15, dds.stream_format("YUYV"), 1280, 720 ),
dds.video_stream_profile( 15, dds.stream_format("yuv422_yuy2"), 1280, 720 ),
dds.video_stream_profile( 5 , dds.stream_format("rgb8"), 1280, 720 ),
dds.video_stream_profile( 5 , dds.stream_format("Y16"), 1280, 720 ),
dds.video_stream_profile( 5 , dds.stream_format("BGRA"), 1280, 720 ),
dds.video_stream_profile( 5 , dds.stream_format("RGBA"), 1280, 720 ),
dds.video_stream_profile( 5 , dds.stream_format("RGB2"), 1280, 720 ),
dds.video_stream_profile( 5 , dds.stream_format("YUYV"), 1280, 720 ),
dds.video_stream_profile( 5 , dds.stream_format("yuv422_yuy2"), 1280, 720 ),
dds.video_stream_profile( 90, dds.stream_format("rgb8"), 848, 480 ),
dds.video_stream_profile( 90, dds.stream_format("Y16"), 848, 480 ),
dds.video_stream_profile( 90, dds.stream_format("BGRA"), 848, 480 ),
dds.video_stream_profile( 90, dds.stream_format("RGBA"), 848, 480 ),
dds.video_stream_profile( 90, dds.stream_format("RGB2"), 848, 480 ),
dds.video_stream_profile( 90, dds.stream_format("YUYV"), 848, 480 ),
dds.video_stream_profile( 90, dds.stream_format("yuv422_yuy2"), 848, 480 ),
dds.video_stream_profile( 60, dds.stream_format("rgb8"), 848, 480 ),
dds.video_stream_profile( 60, dds.stream_format("Y16"), 848, 480 ),
dds.video_stream_profile( 60, dds.stream_format("BGRA"), 848, 480 ),
dds.video_stream_profile( 60, dds.stream_format("RGBA"), 848, 480 ),
dds.video_stream_profile( 60, dds.stream_format("RGB2"), 848, 480 ),
dds.video_stream_profile( 60, dds.stream_format("YUYV"), 848, 480 ),
dds.video_stream_profile( 60, dds.stream_format("yuv422_yuy2"), 848, 480 ),
dds.video_stream_profile( 30, dds.stream_format("rgb8"), 848, 480 ),
dds.video_stream_profile( 30, dds.stream_format("Y16"), 848, 480 ),
dds.video_stream_profile( 30, dds.stream_format("BGRA"), 848, 480 ),
dds.video_stream_profile( 30, dds.stream_format("RGBA"), 848, 480 ),
dds.video_stream_profile( 30, dds.stream_format("RGB2"), 848, 480 ),
dds.video_stream_profile( 30, dds.stream_format("YUYV"), 848, 480 ),
dds.video_stream_profile( 30, dds.stream_format("yuv422_yuy2"), 848, 480 ),
dds.video_stream_profile( 15, dds.stream_format("rgb8"), 848, 480 ),
dds.video_stream_profile( 15, dds.stream_format("Y16"), 848, 480 ),
dds.video_stream_profile( 15, dds.stream_format("BGRA"), 848, 480 ),
dds.video_stream_profile( 15, dds.stream_format("RGBA"), 848, 480 ),
dds.video_stream_profile( 15, dds.stream_format("RGB2"), 848, 480 ),
dds.video_stream_profile( 15, dds.stream_format("YUYV"), 848, 480 ),
dds.video_stream_profile( 15, dds.stream_format("yuv422_yuy2"), 848, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("rgb8"), 848, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("Y16"), 848, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("BGRA"), 848, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("RGBA"), 848, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("RGB2"), 848, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("YUYV"), 848, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("yuv422_yuy2"), 848, 480 ),
dds.video_stream_profile( 90, dds.stream_format("rgb8"), 640, 480 ),
dds.video_stream_profile( 90, dds.stream_format("Y16"), 640, 480 ),
dds.video_stream_profile( 90, dds.stream_format("BGRA"), 640, 480 ),
dds.video_stream_profile( 90, dds.stream_format("RGBA"), 640, 480 ),
dds.video_stream_profile( 90, dds.stream_format("RGB2"), 640, 480 ),
dds.video_stream_profile( 90, dds.stream_format("YUYV"), 640, 480 ),
dds.video_stream_profile( 90, dds.stream_format("yuv422_yuy2"), 640, 480 ),
dds.video_stream_profile( 60, dds.stream_format("rgb8"), 640, 480 ),
dds.video_stream_profile( 60, dds.stream_format("Y16"), 640, 480 ),
dds.video_stream_profile( 60, dds.stream_format("BGRA"), 640, 480 ),
dds.video_stream_profile( 60, dds.stream_format("RGBA"), 640, 480 ),
dds.video_stream_profile( 60, dds.stream_format("RGB2"), 640, 480 ),
dds.video_stream_profile( 60, dds.stream_format("YUYV"), 640, 480 ),
dds.video_stream_profile( 60, dds.stream_format("yuv422_yuy2"), 640, 480 ),
dds.video_stream_profile( 30, dds.stream_format("rgb8"), 640, 480 ),
dds.video_stream_profile( 30, dds.stream_format("Y16"), 640, 480 ),
dds.video_stream_profile( 30, dds.stream_format("BGRA"), 640, 480 ),
dds.video_stream_profile( 30, dds.stream_format("RGBA"), 640, 480 ),
dds.video_stream_profile( 30, dds.stream_format("RGB2"), 640, 480 ),
dds.video_stream_profile( 30, dds.stream_format("YUYV"), 640, 480 ),
dds.video_stream_profile( 30, dds.stream_format("yuv422_yuy2"), 640, 480 ),
dds.video_stream_profile( 15, dds.stream_format("rgb8"), 640, 480 ),
dds.video_stream_profile( 15, dds.stream_format("Y16"), 640, 480 ),
dds.video_stream_profile( 15, dds.stream_format("BGRA"), 640, 480 ),
dds.video_stream_profile( 15, dds.stream_format("RGBA"), 640, 480 ),
dds.video_stream_profile( 15, dds.stream_format("RGB2"), 640, 480 ),
dds.video_stream_profile( 15, dds.stream_format("YUYV"), 640, 480 ),
dds.video_stream_profile( 15, dds.stream_format("yuv422_yuy2"), 640, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("rgb8"), 640, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("Y16"), 640, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("BGRA"), 640, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("RGBA"), 640, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("RGB2"), 640, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("YUYV"), 640, 480 ),
dds.video_stream_profile( 5 , dds.stream_format("yuv422_yuy2"), 640, 480 ),
dds.video_stream_profile( 90, dds.stream_format("rgb8"), 640, 360 ),
dds.video_stream_profile( 90, dds.stream_format("Y16"), 640, 360 ),
dds.video_stream_profile( 90, dds.stream_format("BGRA"), 640, 360 ),
dds.video_stream_profile( 90, dds.stream_format("RGBA"), 640, 360 ),
dds.video_stream_profile( 90, dds.stream_format("RGB2"), 640, 360 ),
dds.video_stream_profile( 90, dds.stream_format("YUYV"), 640, 360 ),
dds.video_stream_profile( 90, dds.stream_format("yuv422_yuy2"), 640, 360 ),
dds.video_stream_profile( 60, dds.stream_format("rgb8"), 640, 360 ),
dds.video_stream_profile( 60, dds.stream_format("Y16"), 640, 360 ),
dds.video_stream_profile( 60, dds.stream_format("BGRA"), 640, 360 ),
dds.video_stream_profile( 60, dds.stream_format("RGBA"), 640, 360 ),
dds.video_stream_profile( 60, dds.stream_format("RGB2"), 640, 360 ),
dds.video_stream_profile( 60, dds.stream_format("YUYV"), 640, 360 ),
dds.video_stream_profile( 60, dds.stream_format("yuv422_yuy2"), 640, 360 ),
dds.video_stream_profile( 30, dds.stream_format("rgb8"), 640, 360 ),
dds.video_stream_profile( 30, dds.stream_format("Y16"), 640, 360 ),
dds.video_stream_profile( 30, dds.stream_format("BGRA"), 640, 360 ),
dds.video_stream_profile( 30, dds.stream_format("RGBA"), 640, 360 ),
dds.video_stream_profile( 30, dds.stream_format("RGB2"), 640, 360 ),
dds.video_stream_profile( 30, dds.stream_format("YUYV"), 640, 360 ),
dds.video_stream_profile( 30, dds.stream_format("yuv422_yuy2"), 640, 360 ),
dds.video_stream_profile( 15, dds.stream_format("rgb8"), 640, 360 ),
dds.video_stream_profile( 15, dds.stream_format("Y16"), 640, 360 ),
dds.video_stream_profile( 15, dds.stream_format("BGRA"), 640, 360 ),
dds.video_stream_profile( 15, dds.stream_format("RGBA"), 640, 360 ),
dds.video_stream_profile( 15, dds.stream_format("RGB2"), 640, 360 ),
dds.video_stream_profile( 15, dds.stream_format("YUYV"), 640, 360 ),
dds.video_stream_profile( 15, dds.stream_format("yuv422_yuy2"), 640, 360 ),
dds.video_stream_profile( 5 , dds.stream_format("rgb8"), 640, 360 ),
dds.video_stream_profile( 5 , dds.stream_format("Y16"), 640, 360 ),
dds.video_stream_profile( 5 , dds.stream_format("BGRA"), 640, 360 ),
dds.video_stream_profile( 5 , dds.stream_format("RGBA"), 640, 360 ),
dds.video_stream_profile( 5 , dds.stream_format("RGB2"), 640, 360 ),
dds.video_stream_profile( 5 , dds.stream_format("YUYV"), 640, 360 ),
dds.video_stream_profile( 5 , dds.stream_format("yuv422_yuy2"), 640, 360 ),
dds.video_stream_profile( 90, dds.stream_format("rgb8"), 480, 270 ),
dds.video_stream_profile( 90, dds.stream_format("Y16"), 480, 270 ),
dds.video_stream_profile( 90, dds.stream_format("BGRA"), 480, 270 ),
dds.video_stream_profile( 90, dds.stream_format("RGBA"), 480, 270 ),
dds.video_stream_profile( 90, dds.stream_format("RGB2"), 480, 270 ),
dds.video_stream_profile( 90, dds.stream_format("YUYV"), 480, 270 ),
dds.video_stream_profile( 90, dds.stream_format("yuv422_yuy2"), 480, 270 ),
dds.video_stream_profile( 60, dds.stream_format("rgb8"), 480, 270 ),
dds.video_stream_profile( 60, dds.stream_format("Y16"), 480, 270 ),
dds.video_stream_profile( 60, dds.stream_format("BGRA"), 480, 270 ),
dds.video_stream_profile( 60, dds.stream_format("RGBA"), 480, 270 ),
dds.video_stream_profile( 60, dds.stream_format("RGB2"), 480, 270 ),
dds.video_stream_profile( 60, dds.stream_format("YUYV"), 480, 270 ),
dds.video_stream_profile( 60, dds.stream_format("yuv422_yuy2"), 480, 270 ),
dds.video_stream_profile( 30, dds.stream_format("rgb8"), 480, 270 ),
dds.video_stream_profile( 30, dds.stream_format("Y16"), 480, 270 ),
dds.video_stream_profile( 30, dds.stream_format("BGRA"), 480, 270 ),
dds.video_stream_profile( 30, dds.stream_format("RGBA"), 480, 270 ),
dds.video_stream_profile( 30, dds.stream_format("RGB2"), 480, 270 ),
dds.video_stream_profile( 30, dds.stream_format("YUYV"), 480, 270 ),
dds.video_stream_profile( 30, dds.stream_format("yuv422_yuy2"), 480, 270 ),
dds.video_stream_profile( 15, dds.stream_format("rgb8"), 480, 270 ),
dds.video_stream_profile( 15, dds.stream_format("Y16"), 480, 270 ),
dds.video_stream_profile( 15, dds.stream_format("BGRA"), 480, 270 ),
dds.video_stream_profile( 15, dds.stream_format("RGBA"), 480, 270 ),
dds.video_stream_profile( 15, dds.stream_format("RGB2"), 480, 270 ),
dds.video_stream_profile( 15, dds.stream_format("YUYV"), 480, 270 ),
dds.video_stream_profile( 15, dds.stream_format("yuv422_yuy2"), 480, 270 ),
dds.video_stream_profile( 5 , dds.stream_format("rgb8"), 480, 270 ),
dds.video_stream_profile( 5 , dds.stream_format("Y16"), 480, 270 ),
dds.video_stream_profile( 5 , dds.stream_format("BGRA"), 480, 270 ),
dds.video_stream_profile( 5 , dds.stream_format("RGBA"), 480, 270 ),
dds.video_stream_profile( 5 , dds.stream_format("RGB2"), 480, 270 ),
dds.video_stream_profile( 5 , dds.stream_format("YUYV"), 480, 270 ),
dds.video_stream_profile( 5 , dds.stream_format("yuv422_yuy2"), 480, 270 ),
dds.video_stream_profile( 90, dds.stream_format("rgb8"), 424, 240 ),
dds.video_stream_profile( 90, dds.stream_format("Y16"), 424, 240 ),
dds.video_stream_profile( 90, dds.stream_format("BGRA"), 424, 240 ),
dds.video_stream_profile( 90, dds.stream_format("RGBA"), 424, 240 ),
dds.video_stream_profile( 90, dds.stream_format("RGB2"), 424, 240 ),
dds.video_stream_profile( 90, dds.stream_format("YUYV"), 424, 240 ),
dds.video_stream_profile( 90, dds.stream_format("yuv422_yuy2"), 424, 240 ),
dds.video_stream_profile( 60, dds.stream_format("rgb8"), 424, 240 ),
dds.video_stream_profile( 60, dds.stream_format("Y16"), 424, 240 ),
dds.video_stream_profile( 60, dds.stream_format("BGRA"), 424, 240 ),
dds.video_stream_profile( 60, dds.stream_format("RGBA"), 424, 240 ),
dds.video_stream_profile( 60, dds.stream_format("RGB2"), 424, 240 ),
dds.video_stream_profile( 60, dds.stream_format("YUYV"), 424, 240 ),
dds.video_stream_profile( 60, dds.stream_format("yuv422_yuy2"), 424, 240 ),
dds.video_stream_profile( 30, dds.stream_format("rgb8"), 424, 240 ),
dds.video_stream_profile( 30, dds.stream_format("Y16"), 424, 240 ),
dds.video_stream_profile( 30, dds.stream_format("BGRA"), 424, 240 ),
dds.video_stream_profile( 30, dds.stream_format("RGBA"), 424, 240 ),
dds.video_stream_profile( 30, dds.stream_format("RGB2"), 424, 240 ),
dds.video_stream_profile( 30, dds.stream_format("YUYV"), 424, 240 ),
dds.video_stream_profile( 30, dds.stream_format("yuv422_yuy2"), 424, 240 ),
dds.video_stream_profile( 15, dds.stream_format("rgb8"), 424, 240 ),
dds.video_stream_profile( 15, dds.stream_format("Y16"), 424, 240 ),
dds.video_stream_profile( 15, dds.stream_format("BGRA"), 424, 240 ),
dds.video_stream_profile( 15, dds.stream_format("RGBA"), 424, 240 ),
dds.video_stream_profile( 15, dds.stream_format("RGB2"), 424, 240 ),
dds.video_stream_profile( 15, dds.stream_format("YUYV"), 424, 240 ),
dds.video_stream_profile( 15, dds.stream_format("yuv422_yuy2"), 424, 240 ),
dds.video_stream_profile( 5 , dds.stream_format("rgb8"), 424, 240 ),
dds.video_stream_profile( 5 , dds.stream_format("Y16"), 424, 240 ),
dds.video_stream_profile( 5 , dds.stream_format("BGRA"), 424, 240 ),
dds.video_stream_profile( 5 , dds.stream_format("RGBA"), 424, 240 ),
dds.video_stream_profile( 5 , dds.stream_format("RGB2"), 424, 240 ),
dds.video_stream_profile( 5 , dds.stream_format("YUYV"), 424, 240 )
dds.video_stream_profile( 5 , dds.stream_format("yuv422_yuy2"), 424, 240 )
]


Expand Down
Loading

0 comments on commit a75e3c8

Please sign in to comment.