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 
68 
76 
83 
92 
102 
115 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);
116 
124 
132 void rs2_start_processing_fptr(rs2_processing_block* block, rs2_frame_callback_ptr on_frame, void* user, rs2_error** error);
133 
141 
148 void rs2_process_frame(rs2_processing_block* block, rs2_frame* frame, rs2_error** error);
149 
155 
163 rs2_frame_queue* rs2_create_frame_queue(int capacity, rs2_error** error);
164 
170 
176 int rs2_frame_queue_size(rs2_frame_queue* queue, rs2_error** error);
177 
185 rs2_frame* rs2_wait_for_frame(rs2_frame_queue* queue, unsigned int timeout_ms, rs2_error** error);
186 
194 int rs2_poll_for_frame(rs2_frame_queue* queue, rs2_frame** output_frame, rs2_error** error);
195 
204 int rs2_try_wait_for_frame(rs2_frame_queue* queue, unsigned int timeout_ms, rs2_frame** output_frame, rs2_error** error);
205 
211 void rs2_enqueue_frame(rs2_frame* frame, void* queue);
212 
219 
226 
232 
238 
244 rs2_processing_block* rs2_create_disparity_transform_block(unsigned char transform_to_disparity, rs2_error** error);
245 
251 
258 
265 
273 
280 
287 
295 const char* rs2_get_processing_block_info(const rs2_processing_block* block, rs2_camera_info info, rs2_error** error);
296 
305 
313 int rs2_is_processing_block_extendable_to(const rs2_processing_block* block, rs2_extension extension_type, rs2_error** error);
314 
315 #ifdef __cplusplus
316 }
317 #endif
318 #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:26
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:26
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:269
struct rs2_frame_queue rs2_frame_queue
Definition: rs_types.h:233
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_y411_decoder(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_frame_queue_size(rs2_frame_queue *queue, 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:34
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:43
rs2_processing_block * rs2_create_sequence_id_filter(rs2_error **error)
struct rs2_processing_block rs2_processing_block
Definition: rs_types.h:246
rs2_processing_block * rs2_create_yuy_decoder(rs2_error **error)
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition: rs_types.h:136
rs2_processing_block * rs2_create_spatial_filter_block(rs2_error **error)
void(* rs2_frame_callback_ptr)(rs2_frame *, void *)
Definition: rs_types.h:268
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:229
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)
rs2_processing_block * rs2_create_hdr_merge_processing_block(rs2_error **error)
struct rs2_frame rs2_frame
Definition: rs_types.h:232