Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
rs_processing.h
Go to the documentation of this file.
1 /* License: Apache 2.0. See LICENSE file in root directory.
2  Copyright(c) 2017 Intel Corporation. All Rights Reserved. */
3 
10 #ifndef LIBREALSENSE_RS2_PROCESSING_H
11 #define LIBREALSENSE_RS2_PROCESSING_H
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 #include "rs_types.h"
18 #include "rs_sensor.h"
19 #include "rs_option.h"
20 
29 
37 
44 
55 
63 
70 
79 
89 
102 int rs2_processing_block_register_simple_option(rs2_processing_block* block, rs2_option option_id, float min, float max, float step, float def, rs2_error** error);
103 
111 
119 void rs2_start_processing_fptr(rs2_processing_block* block, rs2_frame_callback_ptr on_frame, void* user, rs2_error** error);
120 
128 
135 void rs2_process_frame(rs2_processing_block* block, rs2_frame* frame, rs2_error** error);
136 
142 
150 rs2_frame_queue* rs2_create_frame_queue(int capacity, rs2_error** error);
151 
157 
165 rs2_frame* rs2_wait_for_frame(rs2_frame_queue* queue, unsigned int timeout_ms, rs2_error** error);
166 
174 int rs2_poll_for_frame(rs2_frame_queue* queue, rs2_frame** output_frame, rs2_error** error);
175 
184 int rs2_try_wait_for_frame(rs2_frame_queue* queue, unsigned int timeout_ms, rs2_frame** output_frame, rs2_error** error);
185 
191 void rs2_enqueue_frame(rs2_frame* frame, void* queue);
192 
199 
206 
212 
218 
224 rs2_processing_block* rs2_create_disparity_transform_block(unsigned char transform_to_disparity, rs2_error** error);
225 
231 
238 
245 
253 
261 const char* rs2_get_processing_block_info(const rs2_processing_block* block, rs2_camera_info info, rs2_error** error);
262 
271 
279 int rs2_is_processing_block_extendable_to(const rs2_processing_block* block, rs2_extension extension_type, rs2_error** error);
280 
281 #ifdef __cplusplus
282 }
283 #endif
284 #endif
rs2_processing_block * rs2_create_decimation_filter_block(rs2_error **error)
rs2_camera_info
Read-only strings that can be queried from the device. Not all information attributes are available o...
Definition: rs_sensor.h:22
Definition: rs_types.hpp:25
rs2_processing_block * rs2_create_processing_block_fptr(rs2_frame_processor_callback_ptr proc, void *context, rs2_error **error)
rs2_processing_block * rs2_create_threshold(rs2_error **error)
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls,...
Definition: rs_option.h:22
rs2_processing_block * rs2_create_zero_order_invalidation_block(rs2_error **error)
rs2_processing_block * rs2_create_units_transform(rs2_error **error)
void rs2_start_processing(rs2_processing_block *block, rs2_frame_callback *on_frame, rs2_error **error)
void(* rs2_frame_processor_callback_ptr)(rs2_frame *, rs2_source *, void *)
Definition: rs_types.h:251
struct rs2_frame_queue rs2_frame_queue
Definition: rs_types.h:221
int rs2_poll_for_frame(rs2_frame_queue *queue, rs2_frame **output_frame, rs2_error **error)
void rs2_start_processing_fptr(rs2_processing_block *block, rs2_frame_callback_ptr on_frame, void *user, rs2_error **error)
rs2_processing_block * rs2_create_hole_filling_filter_block(rs2_error **error)
rs2_processing_block * rs2_create_sync_processing_block(rs2_error **error)
rs2_processing_block * rs2_create_processing_block(rs2_frame_processor_callback *proc, rs2_error **error)
void rs2_delete_frame_queue(rs2_frame_queue *queue)
rs2_frame_queue * rs2_create_frame_queue(int capacity, rs2_error **error)
rs2_frame * rs2_wait_for_frame(rs2_frame_queue *queue, unsigned int timeout_ms, rs2_error **error)
void rs2_process_frame(rs2_processing_block *block, rs2_frame *frame, rs2_error **error)
rs2_processing_block * rs2_create_huffman_depth_decompress_block(rs2_error **error)
int rs2_processing_block_register_simple_option(rs2_processing_block *block, rs2_option option_id, float min, float max, float step, float def, rs2_error **error)
rs2_processing_block * rs2_create_rates_printer_block(rs2_error **error)
rs2_processing_block * rs2_create_align(rs2_stream align_to, rs2_error **error)
rs2_processing_block * rs2_create_pointcloud(rs2_error **error)
void rs2_enqueue_frame(rs2_frame *frame, void *queue)
Exposes RealSense structs.
Definition: rs_types.hpp:32
int rs2_supports_processing_block_info(const rs2_processing_block *block, rs2_camera_info info, rs2_error **error)
Exposes RealSense sensor functionality for C compilers.
void rs2_delete_processing_block(rs2_processing_block *block)
rs2_processing_block * rs2_create_temporal_filter_block(rs2_error **error)
Exposes sensor options functionality for C compilers.
rs2_processing_block * rs2_create_disparity_transform_block(unsigned char transform_to_disparity, rs2_error **error)
rs2_processing_block * rs2_create_colorizer(rs2_error **error)
rs2_stream
Streams are different types of data provided by RealSense devices.
Definition: rs_sensor.h:41
struct rs2_processing_block rs2_processing_block
Definition: rs_types.h:234
rs2_processing_block * rs2_create_yuy_decoder(rs2_error **error)
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition: rs_types.h:134
rs2_processing_block * rs2_create_spatial_filter_block(rs2_error **error)
void(* rs2_frame_callback_ptr)(rs2_frame *, void *)
Definition: rs_types.h:250
int rs2_try_wait_for_frame(rs2_frame_queue *queue, unsigned int timeout_ms, rs2_frame **output_frame, rs2_error **error)
int rs2_is_processing_block_extendable_to(const rs2_processing_block *block, rs2_extension extension_type, rs2_error **error)
struct rs2_error rs2_error
Definition: rs_types.h:217
const char * rs2_get_processing_block_info(const rs2_processing_block *block, rs2_camera_info info, rs2_error **error)
void rs2_start_processing_queue(rs2_processing_block *block, rs2_frame_queue *queue, rs2_error **error)
struct rs2_frame rs2_frame
Definition: rs_types.h:220