Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
librealsense::hdr_merge Class Reference

#include <hdr-merge.h>

Inheritance diagram for librealsense::hdr_merge:
Inheritance graph
[legend]

Public Member Functions

 hdr_merge ()
 
- Public Member Functions inherited from librealsense::generic_processing_block
 generic_processing_block (const char *name)
 
virtual ~generic_processing_block ()
 
- Public Member Functions inherited from librealsense::processing_block
synthetic_source_interfaceget_source () override
 
void invoke (frame_holder frames) override
 
 processing_block (const char *name)
 
void set_output_callback (frame_callback_ptr callback) override
 
void set_processing_callback (frame_processor_callback_ptr callback) override
 
virtual ~processing_block ()
 
- Public Member Functions inherited from librealsense::processing_block_interface
virtual ~processing_block_interface ()=default
 
- Public Member Functions inherited from librealsense::options_interface
virtual ~options_interface ()=default
 
- Public Member Functions inherited from librealsense::recordable< options_interface >
virtual ~recordable ()=default
 
- Public Member Functions inherited from librealsense::info_interface
virtual ~info_interface ()=default
 
- Public Member Functions inherited from librealsense::recordable< info_interface >
virtual ~recordable ()=default
 
- Public Member Functions inherited from librealsense::options_container
void create_snapshot (std::shared_ptr< options_interface > &snapshot) const override
 
void enable_recording (std::function< void(const options_interface &)> record_action) override
 
optionget_option (rs2_option id) override
 
const optionget_option (rs2_option id) const override
 
std::shared_ptr< optionget_option_handler (rs2_option id)
 
std::shared_ptr< optionget_option_handler (rs2_option id) const
 
virtual const char * get_option_name (rs2_option option) const override
 
std::vector< rs2_optionget_supported_options () const override
 
void register_option (rs2_option id, std::shared_ptr< option > option)
 
bool supports_option (rs2_option id) const override
 
void unregister_option (rs2_option id)
 
void update (std::shared_ptr< extension_snapshot > ext) override
 
- Public Member Functions inherited from librealsense::extension_snapshot
virtual ~extension_snapshot ()=default
 
- Public Member Functions inherited from librealsense::info_container
void create_snapshot (std::shared_ptr< info_interface > &snapshot) const override
 
void enable_recording (std::function< void(const info_interface &)> record_action) override
 
const std::stringget_info (rs2_camera_info info) const override
 
void register_info (rs2_camera_info info, const std::string &val)
 
bool supports_info (rs2_camera_info info) const override
 
void update (std::shared_ptr< extension_snapshot > ext) override
 
void update_info (rs2_camera_info info, const std::string &val)
 

Protected Member Functions

rs2::frame process_frame (const rs2::frame_source &source, const rs2::frame &f) override
 
bool should_process (const rs2::frame &frame) override
 
- Protected Member Functions inherited from librealsense::generic_processing_block
virtual rs2::frame prepare_output (const rs2::frame_source &source, rs2::frame input, std::vector< rs2::frame > results)
 

Private Member Functions

bool check_frames_mergeability (const rs2::frameset first_fs, const rs2::frameset second_fs, bool &use_ir) const
 
void discard_depth_merged_frame_if_needed (const rs2::frame &f)
 
template<typename T >
bool is_infrared_valid (T ir_value, rs2_format ir_format) const
 
template<typename T >
void merge_frames_using_ir (uint16_t *new_data, uint16_t *d0, uint16_t *d1, const rs2::video_frame &first_ir, const rs2::video_frame &second_ir, int width_height_prod) const
 
void merge_frames_using_only_depth (uint16_t *new_data, uint16_t *d0, uint16_t *d1, int width_height_prod) const
 
rs2::frame merging_algorithm (const rs2::frame_source &source, const rs2::frameset first_fs, const rs2::frameset second_fs, const bool use_ir) const
 
void reset_warning_counter_on_pipe_restart (const rs2::depth_frame &depth_frame)
 
bool should_ir_be_used_for_merging (const rs2::depth_frame &first_depth, const rs2::video_frame &first_ir, const rs2::depth_frame &second_depth, const rs2::video_frame &second_ir) const
 

Private Attributes

rs2::frame _depth_merged_frame
 
int _frames_without_requested_metadata_counter
 
std::map< int, rs2::frameset_framesets
 
unsigned long long _previous_depth_frame_counter
 
const int IR_OVER_SATURATED_VALUE_Y16 = 0x3eb
 
const int IR_OVER_SATURATED_VALUE_Y8 = 0xfa
 
const int IR_UNDER_SATURATED_VALUE_Y16 = 0x14
 
const int IR_UNDER_SATURATED_VALUE_Y8 = 0x05
 
const int NUMBER_OF_FRAMES_WITHOUT_METADATA_FOR_WARNING = 20
 

Additional Inherited Members

- Protected Attributes inherited from librealsense::processing_block
frame_processor_callback_ptr _callback
 
std::mutex _mutex
 
frame_source _source
 
synthetic_source _source_wrapper
 
- Protected Attributes inherited from librealsense::options_container
std::map< rs2_option, std::shared_ptr< option > > _options
 
std::function< void(const options_interface &)> _recording_function = [](const options_interface&) {}
 

Detailed Description

Definition at line 12 of file hdr-merge.h.

Constructor & Destructor Documentation

librealsense::hdr_merge::hdr_merge ( )

Definition at line 8 of file hdr-merge.cpp.

Member Function Documentation

bool librealsense::hdr_merge::check_frames_mergeability ( const rs2::frameset  first_fs,
const rs2::frameset  second_fs,
bool &  use_ir 
) const
private

Definition at line 145 of file hdr-merge.cpp.

void librealsense::hdr_merge::discard_depth_merged_frame_if_needed ( const rs2::frame f)
private

Definition at line 121 of file hdr-merge.cpp.

template<typename T >
bool librealsense::hdr_merge::is_infrared_valid ( ir_value,
rs2_format  ir_format 
) const
private

Definition at line 75 of file hdr-merge.h.

template<typename T >
void librealsense::hdr_merge::merge_frames_using_ir ( uint16_t new_data,
uint16_t d0,
uint16_t d1,
const rs2::video_frame first_ir,
const rs2::video_frame second_ir,
int  width_height_prod 
) const
private

Definition at line 55 of file hdr-merge.h.

void librealsense::hdr_merge::merge_frames_using_only_depth ( uint16_t new_data,
uint16_t d0,
uint16_t d1,
int  width_height_prod 
) const
private

Definition at line 228 of file hdr-merge.cpp.

rs2::frame librealsense::hdr_merge::merging_algorithm ( const rs2::frame_source source,
const rs2::frameset  first_fs,
const rs2::frameset  second_fs,
const bool  use_ir 
) const
private

Definition at line 170 of file hdr-merge.cpp.

rs2::frame librealsense::hdr_merge::process_frame ( const rs2::frame_source source,
const rs2::frame f 
)
overrideprotectedvirtual

Implements librealsense::generic_processing_block.

Definition at line 62 of file hdr-merge.cpp.

void librealsense::hdr_merge::reset_warning_counter_on_pipe_restart ( const rs2::depth_frame depth_frame)
private

Definition at line 51 of file hdr-merge.cpp.

bool librealsense::hdr_merge::should_ir_be_used_for_merging ( const rs2::depth_frame first_depth,
const rs2::video_frame first_ir,
const rs2::depth_frame second_depth,
const rs2::video_frame second_ir 
) const
private

Definition at line 241 of file hdr-merge.cpp.

bool librealsense::hdr_merge::should_process ( const rs2::frame frame)
overrideprotectedvirtual

Implements librealsense::generic_processing_block.

Definition at line 15 of file hdr-merge.cpp.

Member Data Documentation

rs2::frame librealsense::hdr_merge::_depth_merged_frame
private

Definition at line 50 of file hdr-merge.h.

int librealsense::hdr_merge::_frames_without_requested_metadata_counter
private

Definition at line 48 of file hdr-merge.h.

std::map<int, rs2::frameset> librealsense::hdr_merge::_framesets
private

Definition at line 49 of file hdr-merge.h.

unsigned long long librealsense::hdr_merge::_previous_depth_frame_counter
private

Definition at line 47 of file hdr-merge.h.

const int librealsense::hdr_merge::IR_OVER_SATURATED_VALUE_Y16 = 0x3eb
private

Definition at line 28 of file hdr-merge.h.

const int librealsense::hdr_merge::IR_OVER_SATURATED_VALUE_Y8 = 0xfa
private

Definition at line 25 of file hdr-merge.h.

const int librealsense::hdr_merge::IR_UNDER_SATURATED_VALUE_Y16 = 0x14
private

Definition at line 27 of file hdr-merge.h.

const int librealsense::hdr_merge::IR_UNDER_SATURATED_VALUE_Y8 = 0x05
private

Definition at line 24 of file hdr-merge.h.

const int librealsense::hdr_merge::NUMBER_OF_FRAMES_WITHOUT_METADATA_FOR_WARNING = 20
private

Definition at line 30 of file hdr-merge.h.


The documentation for this class was generated from the following files:


librealsense2
Author(s): Sergey Dorodnicov , Doron Hirshberg , Mark Horn , Reagan Lopez , Itay Carpis
autogenerated on Mon May 3 2021 02:50:37