-
Notifications
You must be signed in to change notification settings - Fork 4.8k
API Changes
Version 2.38.1
- rs2_cah_trigger_to_string - Utility function
- rs2_cah_trigger - enumeration. L515-specific
Version 2.37.0
- RS2_FRAME_METADATA_GPIO_INPUT_DATA - Metadata attribute for GPIO state. Applicable for selected SKUs.
- points pointcloud::calculate(frame depth) const - to use const modifier.
Version 2.36.0
Types:
- rs2_calibration_type - [Enum] Supported Calibration ypes
- rs2_calibration_status - [Enum] Calibration result
- rs2_calibration_change_callback - [Struct] Calibration Change
- RS2_OPTION_TRIGGER_CAMERA_ACCURACY_HEALTHRS2_OPTION_RESET_CAMERA_ACCURACY_HEALTH - [Option] Provisions for Camera Accuracy Health routine.
- rs2_dsm_params - [Struct] DSM (Digital Sync Module) calibration parameters
- rs2_dsm_correction_model - [Enum] Supported DSM model
- RS2_EXTENSION_FW_LOGGER - Device interface for accessing hardware logs RS2_EXTENSION_AUTO_CALIBRATION_FILTER - Calibration Utility Interface RS2_EXTENSION_DEVICE_CALIBRATION - Calibration Extension Interface RS2_EXTENSION_CALIBRATED_SENSOR - Sensor Calibration Interface
API Calls:
- rs2_register_calibration_change_callback - C-Callback to be invoked upon calibration completion .
- rs2_register_calibration_change_callback_cpp - CPP-Callback to be invoked upon calibration completion.
- rs2_trigger_device_calibration - Start calibration process.
- rs2_override_extrinsics - Replace existing extrinsic.
- rs2_override_intrinsics - Replace sensor's intrinsic.
- rs2_get_dsm_params - Retrieve DSM parameters structure.
- rs2_override_dsm_params - Replace sensor's DSM parameters.
- rs2_reset_sensor_calibration - Reset sensor's DSM parameters.
- rs2_calibration_type_to_string,rs2_calibration_status_to_string - Utility functions.
- rs2_create_fw_log_message - Allocate resources to hold FW log entry.
- rs2_get_fw_log - Retrieve the most recent FW log message.
- rs2_get_flash_log - Flash logs store data collected during the latest power cycle. The API retrieves a single message from that log stored on Flash.
- rs2_delete_fw_log_message - Deallocate existing FW log entry.
- rs2_fw_log_message_data - Retrieve the text message stored in a single FW log entry.
- rs2_fw_log_message_size - Get size in bytes of the relevant FW log message.
- rs2_fw_log_message_timestamp - Get FW-assigned timestamp of the relevant FW log message.
- rs2_fw_log_message_severity - Retrieve FW log severety level.
- rs2_init_fw_log_parser - Initialize and load FW log parser with XML dictionary.
- rs2_create_fw_log_parsed_message - Allocate resources to store and proceed a single FW log message.
- rs2_delete_fw_log_parsed_message - Dealocate parsed message resources.
- rs2_parse_firmware_log - Convert raw FW log message to human-readable format.
- rs2_get_fw_log_parsed_message - Extract the core text from the parsed FW log message.
- rs2_get_fw_log_parsed_file_name - Extract file name of the message's origin.
- rs2_get_fw_log_parsed_thread_name - Get thread id. of the message's origin.
- rs2_get_fw_log_parsed_severity - Read FW log's severety level.
- rs2_get_fw_log_parsed_line - Retrieve the line number of the message's origin.
- rs2_get_fw_log_parsed_timestamp - FW-assigned timestamp of the FW log entry.
- rs2_create_terminal_parser - Create Terminal Command parser.
- rs2_delete_terminal_parser - Delete Terminal object instance.
- rs2_terminal_parse_command - Convert Terminal-generated command into binary format compatible with HW-monitor interface.
- rs2_terminal_parse_response - Convert results obtained from FW into human-readable format.
Version 2.35.0
- RS2_OPTION_THERMAL_COMPENSATION - Provisioning for Thermal Compensation mechanism for selected SKUs.
Version 2.34.0
-
rs2_create_net_device - Establish connection to a hosts that runs Realsense server application and create a proxy camera class. The proxy then can be injected to Librealsense context and retrieved and queried as any other device instance (e.g
query_devices()
). -
RS2_CAMERA_INFO_IP_ADDRESS - Stores the IP address of the remote server. The attribute is applicable for IP device only.
- rs2_get_active_streams - Utility API allows to query the streams currently generated by a given sensor
-
rs2_allocate_synthetic_motion_frame - Allows
Software-device
to produce inertial motion frames. -
rs2_software_device_set_destruction_callback - Execute user-defined code when
software_device
instance's destructor is invoked. The most-common usage is to de-allocate resources and notify user's 3rd-party modules. - rs2_software_device_set_destruction_callback_cpp - The C++ version of the above API.
-
rs2_software_device_register_info - Populate
software_device
with user-defined atrtibutes -
rs2_software_device_update_info - Override
software_device
attributes with user-defined values. The function shal throw if the attribute does not exist - rs2_software_sensor_on_notification - Notification injection to emulate events produced by the external code
-
rs2_software_sensor_add_video_stream_ex - Extends
rs2_software_sensor_add_video_stream
with the notion ofdefault_stream
. Thedefault_stream
attribute provides a hint for the SDK to activate the specific stream when user requests a parameter-less configuration, e.g.pipe.start(void)
-
rs2_software_sensor_add_motion_stream_ex - Extends
rs2_software_sensor_add_motion_stream
withdefault_stream
attribute. -
rs2_software_sensor_add_pose_stream_ex - Extends
rs2_software_sensor_add_pose_stream
withdefault_stream
attribute. -
rs2_software_sensor_add_option - Add user-defined options to
software_device
-
rs2_software_sensor_detach - Disconnect the lifetime of
software_sensor
from the embodiedsoftware_device
in order to release the circular dependency. Follow the link for more details. - rs2_software_notification - used to pass user-defined data into the SDK's notifications mechanism.
- rs2_depth_frame_get_units - Retrieves the Raw Depth -> Metric Depth scaling factor that was previously availabel only via the depth sensor's API.
- RS2_OPTION_EMITTER_ALWAYS_ON - Enable the projector to remain constantly on. Applies to D400 Global Shutter models (D43x) only.
Version 2.33.1
- rs2_serialize_json - Serialize JSON content, returns ASCII-serialized JSON string on success
- rs2_load_json - Load JSON and apply advanced-mode controls
- rs2_log_to_callback - Propagate SDK-generated logs to user-provided callback function
- rs2_log_to_callback_cpp - Propagate SDK-generated logs using c++ callback object
- rs2_get_log_message_line_number - Retrieve the logged line number
- rs2_get_log_message_filename - Retrieve the logged file name
- rs2_get_raw_log_message
- rs2_get_full_log_message
Controls:
- RS2_OPTION_FREEFALL_DETECTION_ENABLED - Toggle sensor free-fall protection mechanism (on by default)
- RS2_OPTION_AVALANCHE_PHOTO_DIODE - Set the exposure interval for the receiver's APD
- RS2_OPTION_POST_PROCESSING_SHARPENING - Set the sharpening level in post-processed phase
- RS2_OPTION_PRE_PROCESSING_SHARPENING - Set the sharpening level in pre-processed phase
- RS2_OPTION_NOISE_FILTERING - Control the edge thresholds for the noise filtering
- RS2_OPTION_INVALIDATION_BYPASS - Toggle pixels invalidation processing
- RS2_OPTION_AMBIENT_LIGHT - Select the ambient light settings
- RS2_OPTION_SENSOR_MODE - Preset the scanning mode resolution
Presets: /** \brief For L500 devices: provides optimized settings (presets) for specific types of usage. */
- rs2_l500_visual_preset - Provides optimized settings for specific types of usage
Option characterization:
-
rs2_sensor_mode - utilized by
RS2_OPTION_SENSOR_MODE
-
rs2_ambient_light - utilized by
RS2_OPTION_AMBIENT_LIGHT
Enum to string convenience APIs
Version 2.32.1
- rs2_remove_static_node - T265: Remove a named location tag
-
rs2_create_huffman_depth_decompress_block - Generates a processing block dedicated for decoding
Z16H
compressed depth format. -
RS2_FORMAT_Z16H - Provision for
Z16H
format. A variable-length compression dedicated for 16-bit depth values using customized Huffman code implementation. - RS2_FRAME_METADATA_RAW_FRAME_SIZE - Metadata attribute for the size in bytes of the transmitted frame payload (w/o metadata header). For non-compressed video streams is equal to Width*Height*BytesPerPixel.
-
RS2_EXTENSION_COLOR_SENSOR,
RS2_EXTENSION_MOTION_SENSOR,
RS2_EXTENSION_FISHEYE_SENSOR,
RS2_EXTENSION_DEPTH_HUFFMAN_DECODER - Extension types used for class instance identification/affiliation.
Version 2.31.0
D4xx Calibration routines: https://github.com/IntelRealSense/librealsense/commit/e89e4d6477e619291789d5b2be141e55303687e5
- rs2_run_on_chip_calibration_cpp - Invoke built-in target-less calibration routine (with progress report)
- rs2_run_tare_calibration_cpp - Adjust camera distance w.r.t. flat target. Requires known ground-truth plane (with progress report)
- rs2_run_on_chip_calibration - Invoke built-in calibration routine
- rs2_run_tare_calibration - Adjust camera distance w.r.t. flat target. Requires known ground-truth plane
- rs2_get_calibration_table - Read calibration table from device Flash
- rs2_set_calibration_table - Write calibration table to the device Flash
Metadata attributes:
-
RS2_FRAME_METADATA_FRAME_LASER_POWER_MODE
has been superseded and will be gradually replaced by RS2_FRAME_METADATA_FRAME_EMITTER_MODE attribute - RS2_FRAME_METADATA_FRAME_LED_POWER value support has been added for selected SKUs.
Options:
- RS2_OPTION_LED_POWER - LED Power settings (mW)
- RS2_OPTION_ZERO_ORDER_ENABLED - L500-specific Depth post-processing filter control (on by default)
- RS2_OPTION_ENABLE_MAP_PRESERVATION - T265: Preserve previous map when starting
Raw Streaming Formats:
-
RS2_FORMAT_Y8I - 8-bit per pixel interleaved. 8-bit left, 8-bit right
-
RS2_FORMAT_Y12I - up to 12-bit intensity date per pixel, interleaved, packed into 24-bit word (little-endian)
-
RS2_FORMAT_INZI - Multi-planar Depth 16bit + IR 10bit (SR3xx)
-
RS2_FORMAT_INVI - 8-bit intensity stream (SR3xx)
-
RS2_FORMAT_W10 - 10 bit per pixel intensity data. Y10BPACK-complient [8,8,8,8,[2,2,2,2]]
-
RS2_EXTENSION_AUTO_CALIBRATED_DEVICE - Enabled for D4xx devices that support auto-calibration
PLY Exporter customization
- OPTION_PLY_MESH - Store Depth as Pointcloud/Polygons (Mesh) selector.
- OPTION_PLY_BINARY - Selec ASCII/Binary representation
- OPTION_PLY_NORMALS - Generate normals per polygon vertex (applicable Mesh only)
- OPTION_PLY_THRESHOLD - Set the threshold for polygon generation
Version 2.30.0
-
RS2_NOTIFICATION_CATEGORY_POSE_RELOCALIZATION - category added to
rs2_notification_category
. The notification designates T265 performing relocalization event, i.e. finding a match between the current position and a previously recorded map.
Version 2.29.0
Changed enum RS2_CAMERA_INFO_FIRMWARE_UPDATE_SERIAL_NUMBER to RS2_CAMERA_INFO_FIRMWARE_UPDATE_ID
Version 2.27.0
-
T265 Calibration Write APIs: Allow custom calibration to be provided to the device and committed to device flash memory. There is also a mechanism to roll-back to factory calibration. Currently these APIs are only implemented for the T265, but similar scheme is likely to be used for other families
- rs2_set_intrinsics - set video stream profile intrinsic calibration
- rs2_set_extrinsics - set extrinsic calibration between two stream profiles
- rs2_set_motion_device_intrinsics - set motion stream profile intrinsics
- rs2_reset_to_factory_calibration - Resets the device to factory calibration when available
- rs2_write_calibration - Commit calibration changes to device flash memory
-
rs2_clone_video_stream_profile - Utility function used when developing custom processing blocks that modify video stream resolution
Version 2.26.0
Firmware Update with non Digitally-signed images:
- rs2_update_firmware_unsigned_cpp - Invoke Firmware Update flow using unsigned DFU image.
- rs2_update_firmware_unsigned - Same as above for C-code users
- rs2_get_frame_data_size - The actual frame size may differ from the initially-negotiated max size. Required to properly support the compressed data streams, such as MJPEG.
- RS2_FORMAT_MJPEG - Adding SDK support for MJPEG compressed stream type
- RS2_OPTION_DEPTH_OFFSET- Provides the offset from the sensor to the depth origin for affected camera types.
Version 2.25.0
Introduce T265-specific options
- RS2_OPTION_ENABLE_MAPPING - Enable internal mapping generation required for location correction (feedback). Turning this option off will result in device running in an open loop.
- RS2_OPTION_ENABLE_RELOCALIZATION - Allow the device ti utilize the internal/stored map to correct the current location based on previously recorded data.
- RS2_OPTION_ENABLE_POSE_JUMPING - Allow the device to correct the location by making a discontinuous transformation (jump)
- RS2_OPTION_ENABLE_DYNAMIC_CALIBRATION Read more in the above link
Version 2.24.0
- Firmware Update functionality
- Switch SR300 and D400 camera into DFU (Firmware Update) mode rs2_enter_update_state. When applied, the D400 camera will disconnect from host and reconnect as boot-loader device with a different VID/PID.
- Perform Firmware Upgrade for D400/SR300 device rs2_update_firmware. The functionality requires a digitally-signed image to be provided as an input
- Perform Firmware Upgrade for D400/SR300 device, report progress to user-provided callback rs2_update_firmware_cpp
- Generate a firmware image copy rs2_create_flash_backup. Note that the generated backup image format is different from the file required in
rs2_update_firmware/rs2_update_firmware_cpp
and cannot be used with these APIs. - Generate a firmware image copy, report progress to user-provided callback rs2_create_flash_backup_cpp. The limitations are similar to
rs2_create_flash_backup
Version 2.23.0
- Depth linearity enhancement - Mitigate the half-pixel disparity issue by adjusting the Amplitude factor in the modulation funciton ()
- Adding getter/setter for the Half-disparity modulation function control rs2_set_amp_factor/rs2_get_amp_factor into the Advanced-mode parameters block.
- Adding a new temperature sensor
RS2_OPTION_APD_TEMPERATURE
option. - Enumerating Global Timer-supported sensors with explicit extension type
RS2_EXTENSION_GLOBAL_TIMER
.
Version 2.22.0
- Global Camera Timestamp:
- Add
rs2_timestamp_domain::RS2_TIMESTAMP_DOMAIN_GLOBAL_TIME
enumeration type that will be used as default when the HW timestamp is available via the appropriate metadata attribute. - Add
rs2_sensor* rs2_get_frame_sensor
function - Add
RS2_OPTION_GLOBAL_TIME_ENABLED
option
- Depth units transformation - Processing block
-
rs2_processing_block* rs2_create_units_transform
function -
Add
rs2_format::RS2_FORMAT_DISTANCE
synthetic stream format -
Add
units_transform
class -
Add
rs2_error * rs2_create_error
functionality -
Add
pose_stream_profile
class to handle T265 pose sensor. -
Add
frame::get_sensor()
functionality -
Add
sensor_from_frame(frame f)
functionality
- GLSL Processing Blocks Module:
- New header files with new API for GLSL-supported modules are added to include/librealsense2-gl directory
New IR format introduced to D415 - W10
:
- Rectified, 10 bit per-pixels (packed) IR stream
- FullHD configuration only 30 fps
- Can be configured for use in conjunction with Depth stream (which is limited to 720p)
- Available as:
- parsed 10 bit per pixel RS2_FORMAT_Y10BPACK
- Raw packed data (4pixel/5bytes) according to V4L2-PIX-FMT-Y10BPACK specification
New Lens distortion model support added for T265 optical sensors -
RS2_DISTORTION_KANNALA_BRANDT4.
The model is utilized in Project/Deproject routines
rs2_send_wheel_odometry - Wheel odometer API velocity type updated from angular to linear.
No API changes
-
rs2_get_recommended_processing_blocks
Retrieving an ordered list of processing blocks/filters that are recommended to be used for a specific sensor. For instance, for the Depth sensor the list may include (Decimation->Disparity->Spatial->Temporal->HoleFilling->Disparity``) sequence. -
rs2_get_recommended_processing_blocks_count
Retrieving the number of elements on the processing blocks list -
rs2_get_processing_block
Extracting a specific processing block from the list -
rs2_delete_recommended_processing_blocks
Deleting the processing blocks list. The function shall be used in conjunction withrs2_get_recommended_processing_blocks
mentioned above to explicitly release the allocated resources. -
rs2_supports_processing_block_info
Test for attribute availbility without throwing exception -
rs2_get_processing_block_info
Retrieve processing block attribute -
rs2_is_processing_block_extendable_to
Check API extension support -
rs2_create_zero_order_invalidation_block
Adding zero order invalidation processing block
-
rs2_get_options_list
Dynamic discovery of the options supported by a librealsense entity (sensor/processing_block/etc`). -
rs2_get_options_list_size
Retrieve the number of elements in the options list. -
rs2_get_option_name
Return human-readable option's name attribute. -
rs2_get_option_from_list
Return an indexed element from the lsit -
rs2_delete_options_list
Deleting the processing blocks list. The function shall be used in conjunction withrs2_get_options_list
to explicitly release previously allocated resources. - Extending RS2_OPTIONS enumeration list with:
RS2_OPTION_ZERO_ORDER_POINT_X
,RS2_OPTION_ZERO_ORDER_POINT_Y
,RS2_OPTION_LLD_TEMPERATURE
,RS2_OPTION_MC_TEMPERATURE
,RS2_OPTION_MA_TEMPERATURE
-
rs2_get_stereo_baseline
Retrieve Stereo-based Depth sensor baseline -
rs2_context_add_software_device
Inject a software (mockup) device into the SDK's context to be discoverable viaquery_devices
API call.
-
rs2_context_unload_tracking_module
Unload all perviously acquired tracking device instances. A device query for T265 will automatically take ownership of the connected device. This new API allows to explicitly release the devices so that they will be available for use by external processes. -
rs2_export_localization_map
Advanced feature that allows to export the localization map for later reuse. -
rs2_import_localization_map
Import previously-obtained localization map into device. -
rs2_set_static_node
Add a positional bookmark (name&location) for positional referencing. -
rs2_get_static_node
Retrieve previously stored bookmark position. -
rs2_load_wheel_odometry_config
Load the robot platform configuration and calibration data into device. The data includes the rigid body transformation as well as calibration parameters. -
rs2_send_wheel_odometry
Feed odometer data generated by a third-party sensor into the tracking device.
-
rs2_option_to_string
- For existing options it will return option name, but for future API additions the user should call rs2_get_option_name instead
-
rs2_create_yuy_decoder
Adding YUY2 to RGB processing block #3056 : -
rs2_create_error
Exposing librealsense error to avoid cross-boundary new/delete operations: -
rs2_create_threshold
Adding depth min/max clamp filter (processing block): -
RS2_OPTION_EMITTER_ON_OFF
- addingRS2_OPTION_EMITTER_ON_OFF
to options enumeration -
rs2_processing_block_register_simple_option
- adding ability to register custom processing block options - Adding
save_to_ply
andsave_single_frameset
processing blocks to C++ headers only (staging to be added to the API) under rs_export.hpp.
- set_devices_changed_callback - was removed from C++ header files
-
#2773 introduced asynchronous pipeline API (recommended for high frequency data such as IMU). This change is limited to adding new overloads to
pipeline.start
method:
-
rs2_pipeline_start_with_callback - pipeline start with C function pointer and user data, similar to
sensor.start
-
rs2_pipeline_start_with_callback_cpp - pipeline start with C++ frame callback object, similar to
sensor.start
- rs2_pipeline_start_with_config_and_callback - pipeline start with callback and config
- rs2_pipeline_start_with_config_and_callback_cpp - pipeline start with callback and config (C++ frame callback object)
- #2687 introduces new API to control recording compression:
- rs2_create_record_device_ex - create recorder and explicitly enable or disable compression. By default, compression will be enabled based on device type. D435i and T265 devices that provide high FPS streams disable compression by default to avoid frame drops during recording.
-
#2673 adds API to generate IMU and pose data with
software_device
:
Added support for IMU stream and recording IMU frames in software sensor:
- stream_profile add_motion_stream(rs2_motion_stream motion_stream)
- rs2_stream_profile* rs2_software_sensor_add_motion_stream(rs2_sensor* sensor, rs2_motion_stream motion_stream, rs2_error** error);
- void on_motion_frame(rs2_software_motion_frame frame)
- void rs2_software_sensor_on_motion_frame(rs2_sensor* sensor, rs2_software_motion_frame frame, rs2_error** error);
Added support for pose stream and recording pose frames in software sensor:
- stream_profile add_pose_stream(rs2_pose_stream pose_stream)
- rs2_stream_profile* rs2_software_sensor_add_pose_stream(rs2_sensor* sensor, rs2_pose_stream pose_stream, rs2_error** error);
- void on_pose_frame(rs2_software_pose_frame frame)
- void rs2_software_sensor_on_pose_frame(rs2_sensor* sensor, rs2_software_pose_frame frame, rs2_error** error);
-
#2757 is splitting C++
processing_block
class intoprocessing_block
andfilter
classes, withfilter
being derived fromprocessing_block
.processing_block
abstraction offersstart
andinvoke
operations and does not guaranty results will be immediately available (processing_block
can chose to delay frames).filter
is special type of processing block that performs its operation immediately. This lets users compose filters usingapply_filter
operation.
-
rs2_project_color_pixel_to_depth_pixel - map pixel in the color image to pixel in depth image
-
rs2_allocate_points - allows the user to write custom processing block that outputs frame of type points
-
frame::apply_filter - this method allows unified application of processing blocks, regardless of processing or frame type. This allows easy composition of processing blocks.
-
processing_block::operator()(frame f) const
was removed to reduce the overall ways processing block can be invoked. All processing blocks still containinvoke
method for async processing (that sends the results to callback), and can be applied using addedapply_filter
method, in addition to helper methods likecolorize
andcalculate
specific to each block.
- rs2_query_devices_ex - provide a list of connected devices with user-specified mask. This allows to cherry-pick specific types (e.g D400/SR300) during device acquisition stage.
-
rs2_try_wait_for_frame, rs2_pipeline_try_wait_for_frames - wait_for_frames overload that does not throw an exception on timeout
-
was_added and get_new_devices methods added to event_information C++ class
-
rs2_option::RS2_OPTION_INTER_CAM_SYNC_MODE - Master/Slave control for multi-cam setup synchronization.
-
rs2_frame_metadata_value - Extending available attributes:
- Depth Sensor:
- Laser Power, Laser Power Mode, Exposure Priority, Exposure ROI.
- RGB Sensor:
- Brightness, Contrast, Saturation, Sharpness, Backlight_Compensation, Hue, Gamma, White_Balance_Mode & Temperature, Powerline Frequency and Low Light Compensation.
- Depth Sensor:
- rs2_camera_info::RS2_CAMERA_INFO_RECOMMENDED_FIRMWARE_VERSION - Field was moved next to RS2_CAMERA_INFO_FIRMWARE_VERSION.
- rs2_create_processing_block_fptr - Allows to create custom processing blocks using C-bindings (C, LabView, .NET)
- rs2_start_processing_fptr - Allows to start a processing block with a callback
- rs2_config_enable_device_from_file_repeat_option - Allows to configure pipeline to play from recording while controlling playback-repeat behavior
-
rs2_create_hole_filling_filter_block - Hole-Filling filter supports three modes of operation:
- Fill from left - fill the hole by the value from an immediate left neighbor
- Fill from Far - select one of the up/down/left/right pixel neighbors farthest away from the camera
- Fill from Near - select one of the up/down/left/right neighbors closest to the camera.
It is recommended to use this post-processing block last in the filters chain. The functionality is integrated and can be reviewed in realsense-viewer/post-processing section
No API changes
Adding RS2_CAMERA_INFO_USB_TYPE_DESCRIPTOR
enumeration to detect USB2 vs USB3 mode (when supported by the firmware).
Adding RS2_OPTION_AUTO_EXPOSURE_CONVERGE_STEP
enumeration to control the FishEye Auto-Exposure algorithm
The option is available for TM1-enabled devices only.
No API changes
-
rs2::frameset::get_infrared_frame() - Simpler way for users to get infrared frames from a
rs2::frameset
- Fixed
rs2_set_devices_changed_callback
- missingconst
specifier andvoid** user
parameter were added. - Change the 'Holes Filling' control for Temporal Post-Processing filter to be activated with
RS2_OPTION_HOLES_FILL
instead ofRS2_OPTION_FILTER_MAGNITUDE
- rs2_keep_frame - this function can be used to preserve specific frame for longer processing. Calling it signals the intention to not return this frame to the pool within next 100ms.
-
rs2_create_disparity_transform_block A depth data conversion class that transforms depth data info/from disparity domain for stereo-based depth sensors (D400 series). This functionality allows to run post-processing filters in disparity domain to enhance the filtered outcome.
-
rs2_depth_stereo_frame_get_baseline Retrieve the stereoscopic baseline in mm for stereo-based depth camera.
-
rs2_export_to_ply Making the export functionality publicly available, also addressing #862
- rs2_log - Usability function that allows the user to add logs to librealsense internal logger. The feature is useful in debugging and profiling scenarios.
Post-processing depth filters:
- rs2_create_decimation_filter_block - Down-sampling filter that effectively reduces the depth map resolution.
- rs2_create_spatial_filter_block - Spatial edge-preserving depth filter.
- rs2_create_temporal_filter_block - Temporal filter that rectifies depth values based on previously-available frames.
The filters have been integrated into the realsense-viewer and depth-quality tools.
No API changes introduced
- rs2_start_processing_queue - convenience function that lets the user target the output of a processing block (for example align) directly into a frame_queue. This helps in languages where function pointers are not available, such as LabView
Signature of rs2_is_option_read_only, rs2_get_option, rs2_set_option, rs2_supports_option, rs2_get_option_description and rs2_get_option_value_description was changed. First parameter used to be pointer to rs2_sensor and now is pointer to rs2_options. However, it is 100% safe to cast pointer to rs2_sensor to pointer to rs2_options.
See Pipeline Changes pull-request for explanation
- rs2_stop_pipeline is now available as rs2_pipeline_stop
- rs2_start_pipeline is now available as rs2_pipeline_start
- rs2_pipeline_get_device is now available as rs2_pipeline_profile_get_device
- rs2_pipeline_get_active_streams is now available as rs2_pipeline_profile_get_streams
- rs2_enable_pipeline_stream is now available as rs2_config_enable_stream
- rs2_enable_pipeline_device is now available as rs2_config_enable_device
- rs2_disable_stream_pipeline is now available as rs2_config_disable_stream
- rs2_disable_all_streams_pipeline is now available as rs2_config_disable_all_streams
- rs2_pipeline_start_with_config
- rs2_pipeline_get_active_profile
- rs2_delete_pipeline_profile
- rs2_create_config
- rs2_delete_config
- rs2_config_enable_all_stream
- rs2_config_enable_device_from_file
- rs2_config_enable_record_to_file
- rs2_config_resolve
- rs2_config_can_resolve
- rs2_config_disable_indexed_stream
- rs2_get_stream_profile_size - This function was intended to offer an estimate of USB bandwidth, however USB3 performance is affect by factors other then bytes/second, rendering this method useless
- rs2_open_pipeline - This function was offered to force pipeline configuration prior to streaming. This can be more effectively achieved by rs2_config_resolve and rs2_config_can_resolve
- rs2_start_pipeline_with_callback - and rs2_start_pipeline_with_callback_cpp - Pipeline is always performing synchronization at the moment. If you wish to get minimum latency you can use callback API of the individual sensors
- rs2_pipeline_get_selection_count, rs2_pipeline_get_stream_selection, rs2_pipeline_get_stream_type_selection, rs2_pipeline_delete_selection - These methods were redundant
- rs2_get_context_time is now available as rs2_get_time
- rs2_create_pipeline_with_device is now available as rs2_enable_pipeline_device
- rs2_enable_stream_pipeline is now available as rs2_enable_pipeline_stream
- rs2_pipeline_get_selection is now available as rs2_pipeline_get_active_streams
- rs2_can_enable_stream_pipeline - This method, while useful, was not 100% clearly defined. The same goal was more cleanly achieved in a later release - rs2_config_can_resolve
- rs2_pipeline_get_extrinsics - Extrinsics can be queried between stream profiles, and don't require the pipeline or context.
- rs2_pipeline_get_context - Context can be passed to pipeline constructor for dependency injection, but should not be required for anything useful later on.
- rs2_create_pointcloud used to accept 2 parameters but rs2_create_pointcloud accepts 1 parameters!
- rs2_create_processing_block used to accept 3 parameters but rs2_create_processing_block accepts 2 parameters!
- rs2_create_align used to accept 3 parameters but rs2_create_align accepts 2 parameters!
Intel® RealSense™ SDK Wiki
- Home
- Troubleshooting Q&A
- Release Notes
- API Changes
- API How-To
- Build Configuration
- Overview of Depth from Stereo
- Post-Processing
- Sample Data for SDK examples
- D400 Series Visual Presets
- Projection in RealSense SDK 2.0
- API Documentation
- About Android Support
- RealSense with Raspberry Pi 3
- RealSense with Raspberry Pi 4
- RealSense with NVidia Jetson
- Using Two Cameras with ROS
- Frame Buffering Management
- Supported Matrix
- Docker