-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added support for rgb metadata #3791
Conversation
src/l500/l500-color.h
Outdated
|
||
auto intrinsic = (intrinsic_rgb*)(res.data()); | ||
|
||
auto model = intrinsic->resolution.intrinsicResolution[0]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add mapping between the requested profile and the table's entry
src/l500/l500-color.h
Outdated
return {}; | ||
using namespace ivcam2; | ||
|
||
auto res = *_owner->_color_intrinsics_table_raw; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Employ the embedded template for the table validation
auto table = check_calib<TBD_table>(*_TBD_table_raw);
src/l500/l500-depth.cpp
Outdated
command cmd_fy(0x01, 0xa00e080c, 0xa00e0810); | ||
command cmd_cx(0x01, 0xa00e0814, 0xa00e0818); | ||
command cmd_cy(0x01, 0xa00e0818, 0xa00e081c); | ||
auto fx = _hw_monitor->send(cmd_fx); // CBUFspare_000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens if the cal throws ? wrapping with try/catch or some other preventive measure is needed
src/l500/l500-depth.h
Outdated
|
||
if (res.size() < sizeof(float) * 4) | ||
if (res.size() < sizeof(intrinsic_depth)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The same as with RGB intrinsic above
src/l500/l500-depth.h
Outdated
throw invalid_value_exception("size of calibration invalid"); | ||
|
||
auto intrinsic = (intrinsic_depth*)(res.data()); | ||
|
||
auto model = intrinsic->resolution.intrinsicResolution[0].world.pinhole_cam_model; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Depth does has multiple resolutions. How is this translated to intrinsicResolution[0].world.pinhole_cam_model
src/l500/l500-private.cpp
Outdated
auto res = *((pose*)raw_data.data()); | ||
float trans_scale = 0.001f; | ||
|
||
if (res.position.x > 0.f) // Extrinsic of color is referenced to the Depth Sensor CS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This heuristic will work for D400 only
src/l500/l500-private.h
Outdated
@@ -28,8 +28,11 @@ namespace librealsense | |||
GVD = 0x10, | |||
GLD = 0x0f, | |||
DPT_INTRINSICS_GET = 0x5A, | |||
DPT_INTRINSICS_FULL_GET = 0x7F, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please make the list ordered to prevent/highlight duplicates
src/l500/l500-private.h
Outdated
@@ -72,6 +75,87 @@ namespace librealsense | |||
{ DFU_error, "DFU error" }, | |||
}; | |||
|
|||
typedef struct pinhole_model | |||
{ | |||
float2 focalLength; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please switch to unified code style
src/l500/l500-private.h
Outdated
@@ -72,6 +75,87 @@ namespace librealsense | |||
{ DFU_error, "DFU error" }, | |||
}; | |||
|
|||
typedef struct pinhole_model |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pls verify whether those type require #pragma pack(ing) for parsing
src/l500/l500-private.h
Outdated
uint16_t reserved16; | ||
uint8_t reserved8; | ||
uint8_t numOfResolutions; | ||
pinhole_camera_model intrinsicResolution[1]; //Dynamic number of entries according to numOfResolutions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Provision for 5 resolutions
447f0fb
to
8a901c2
Compare
This is required as a back-compatibility measure, as well as Android/Mac bypass. The drawback -The enum flow that is dependent on HID activation latency will not commit, resulting in partial functionality only. Will be added to known-issues Change-Id: Ib8c546741eedb37a040c7ba0d7a79bf804c4dfdc Signed-off-by: Evgeni Raikhel <[email protected]>
Change-Id: Iae982b95509a65a5d1b0057728c45209c0c15d3e Signed-off-by: Evgeni Raikhel <[email protected]>
Spitted l500-depth class to l500-device and l500-depth.
Added support for rgb metadata
Tracked On: RS5-2343