RealSense Cross Platform API
RealSense Cross-platform API
rs_frame.h
Go to the documentation of this file.
1 /* License: Apache 2.0. See LICENSE file in root directory.
2  Copyright(c) 2017 RealSense, Inc. All Rights Reserved. */
3 
10 #ifndef LIBREALSENSE_RS2_FRAME_H
11 #define LIBREALSENSE_RS2_FRAME_H
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 #include "rs_types.h"
17 
20 {
27 
30 {
167 
170 {
177 
186 
194 int rs2_supports_frame_metadata(const rs2_frame* frame, rs2_frame_metadata_value frame_metadata, rs2_error** error);
195 
205 
213 
220 rs2_sensor* rs2_get_frame_sensor(const rs2_frame* frame, rs2_error** error);
221 
228 unsigned long long rs2_get_frame_number(const rs2_frame* frame, rs2_error** error);
229 
236 int rs2_get_frame_data_size(const rs2_frame* frame, rs2_error** error);
237 
244 const void* rs2_get_frame_data(const rs2_frame* frame, rs2_error** error);
245 
252 int rs2_get_frame_width(const rs2_frame* frame, rs2_error** error);
253 
260 int rs2_get_frame_height(const rs2_frame* frame, rs2_error** error);
261 
266 float rs2_depth_frame_get_units( const rs2_frame* frame, rs2_error** error );
267 
274 int rs2_get_frame_stride_in_bytes(const rs2_frame* frame, rs2_error** error);
275 
283 int rs2_get_frame_bits_per_pixel(const rs2_frame* frame, rs2_error** error);
284 
291 void rs2_frame_add_ref(rs2_frame* frame, rs2_error ** error);
292 
297 void rs2_release_frame(rs2_frame* frame);
298 
305 void rs2_keep_frame(rs2_frame* frame);
306 
314 rs2_vertex* rs2_get_frame_vertices(const rs2_frame* frame, rs2_error** error);
315 
323 void rs2_export_to_ply(const rs2_frame* frame, const char* fname, rs2_frame* texture, rs2_error** error);
324 
333 
340 int rs2_get_frame_points_count(const rs2_frame* frame, rs2_error** error);
341 
350 
357 int rs2_get_frame_labeled_points_count(const rs2_frame* frame, rs2_error** error);
358 
365 void* rs2_get_frame_labels(const rs2_frame* frame, rs2_error** error);
366 
373 unsigned int rs2_get_frame_labeled_points_width(const rs2_frame* frame, rs2_error** error);
374 
381 unsigned int rs2_get_frame_labeled_points_height(const rs2_frame* frame, rs2_error** error);
382 
389 unsigned int rs2_get_frame_labeled_points_bits_per_pixel(const rs2_frame* frame, rs2_error** error);
390 
398 
405 const char * rs2_get_stream_profile_name( const rs2_stream_profile * profile, rs2_error ** error );
406 
414 int rs2_is_frame_extendable_to(const rs2_frame* frame, rs2_extension extension_type, rs2_error ** error);
415 
431  int new_bpp, int new_width, int new_height, int new_stride, rs2_extension frame_type, rs2_error** error);
432 
444  rs2_extension frame_type, rs2_error** error);
445 
455 rs2_frame* rs2_allocate_points(rs2_source* source, const rs2_stream_profile* new_stream, rs2_frame* original, rs2_error** error);
456 
466 rs2_frame* rs2_allocate_composite_frame(rs2_source* source, rs2_frame** frames, int count, rs2_error** error);
467 
477 rs2_frame* rs2_extract_frame(rs2_frame* composite, int index, rs2_error** error);
478 
485 int rs2_embedded_frames_count(rs2_frame* composite, rs2_error** error);
486 
493 void rs2_synthetic_frame_ready(rs2_source* source, rs2_frame* frame, rs2_error** error);
494 
495 
502 void rs2_pose_frame_get_pose_data(const rs2_frame* frame, rs2_pose* pose, rs2_error** error);
503 
514 void rs2_extract_target_dimensions(const rs2_frame* frame, rs2_calib_target_type calib_type, float * target_dims, unsigned int target_dims_size, rs2_error** error);
515 
516 #ifdef __cplusplus
517 }
518 #endif
519 #endif
Definition: rs_frame.h:67
Definition: rs_frame.h:127
void rs2_export_to_ply(const rs2_frame *frame, const char *fname, rs2_frame *texture, rs2_error **error)
float rs2_depth_frame_get_units(const rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:34
Definition: rs_frame.h:133
Definition: rs_frame.h:33
int rs2_get_frame_points_count(const rs2_frame *frame, rs2_error **error)
const rs2_stream_profile * rs2_get_frame_stream_profile(const rs2_frame *frame, rs2_error **error)
rs2_frame * rs2_allocate_composite_frame(rs2_source *source, rs2_frame **frames, int count, rs2_error **error)
rs2_sensor * rs2_get_frame_sensor(const rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:76
const char * rs2_timestamp_domain_to_string(rs2_timestamp_domain info)
const char * rs2_frame_metadata_to_string(rs2_frame_metadata_value metadata)
Definition: rs_frame.h:21
int rs2_is_frame_extendable_to(const rs2_frame *frame, rs2_extension extension_type, rs2_error **error)
rs2_frame * rs2_allocate_points(rs2_source *source, const rs2_stream_profile *new_stream, rs2_frame *original, rs2_error **error)
Definition: rs_frame.h:41
Definition: rs_frame.h:84
Definition: rs_frame.h:125
Definition: rs_frame.h:57
void rs2_keep_frame(rs2_frame *frame)
rs2_calib_target_type
Calibration target type.
Definition: rs_frame.h:169
Definition: rs_frame.h:74
Definition: rs_frame.h:69
Definition: rs_frame.h:118
rs2_time_t rs2_get_frame_timestamp(const rs2_frame *frame, rs2_error **error)
rs2_pixel * rs2_get_frame_texture_coordinates(const rs2_frame *frame, rs2_error **error)
rs2_vertex * rs2_get_frame_labeled_vertices(const rs2_frame *frame, rs2_error **error)
3D coordinates with origin at topmost left corner of the lense, with positive Z pointing away from th...
Definition: rs_types.h:87
Definition: rs_frame.h:131
Definition: rs_frame.h:51
const char * rs2_frame_metadata_value_to_string(rs2_frame_metadata_value metadata)
int rs2_supports_frame_metadata(const rs2_frame *frame, rs2_frame_metadata_value frame_metadata, rs2_error **error)
Definition: rs_frame.h:122
Definition: rs_frame.h:52
struct rs2_sensor rs2_sensor
Definition: rs_types.h:300
Definition: rs_frame.h:130
int rs2_get_frame_height(const rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:66
Definition: rs_frame.h:24
Definition: rs_frame.h:45
int rs2_get_frame_stride_in_bytes(const rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:37
rs2_frame * rs2_allocate_synthetic_video_frame(rs2_source *source, const rs2_stream_profile *new_stream, rs2_frame *original, int new_bpp, int new_width, int new_height, int new_stride, rs2_extension frame_type, rs2_error **error)
void * rs2_get_frame_labels(const rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:62
int rs2_embedded_frames_count(rs2_frame *composite, rs2_error **error)
Definition: rs_frame.h:31
Exposes RealSense structs.
int rs2_get_frame_width(const rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:46
Definition: rs_frame.h:163
Definition: rs_frame.h:72
Definition: rs_frame.h:123
rs2_timestamp_domain rs2_get_frame_timestamp_domain(const rs2_frame *frameset, rs2_error **error)
Definition: rs_types.h:110
void rs2_synthetic_frame_ready(rs2_source *source, rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:78
Definition: rs_frame.h:48
struct rs2_stream_profile rs2_stream_profile
Definition: rs_types.h:287
Definition: rs_frame.h:38
unsigned int rs2_get_frame_labeled_points_height(const rs2_frame *frame, rs2_error **error)
const char * rs2_calib_target_type_to_string(rs2_calib_target_type type)
Definition: rs_frame.h:70
Definition: rs_frame.h:174
unsigned long long rs2_get_frame_number(const rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:35
Definition: rs_frame.h:71
Definition: rs_frame.h:56
struct rs2_source rs2_source
Definition: rs_types.h:292
Definition: rs_frame.h:47
int rs2_get_frame_data_size(const rs2_frame *frame, rs2_error **error)
void rs2_extract_target_dimensions(const rs2_frame *frame, rs2_calib_target_type calib_type, float *target_dims, unsigned int target_dims_size, rs2_error **error)
Definition: rs_frame.h:42
Definition: rs_frame.h:63
unsigned int rs2_get_frame_labeled_points_bits_per_pixel(const rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:40
Definition: rs_frame.h:32
Definition: rs_frame.h:102
rs2_frame * rs2_allocate_synthetic_motion_frame(rs2_source *source, const rs2_stream_profile *new_stream, rs2_frame *original, rs2_extension frame_type, rs2_error **error)
Definition: rs_frame.h:53
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition: rs_types.h:137
Definition: rs_frame.h:162
long long rs2_metadata_type
Definition: rs_types.h:324
Definition: rs_frame.h:50
unsigned int rs2_get_frame_labeled_points_width(const rs2_frame *frame, rs2_error **error)
rs2_vertex * rs2_get_frame_vertices(const rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:23
void rs2_frame_add_ref(rs2_frame *frame, rs2_error **error)
const char * rs2_get_stream_profile_name(const rs2_stream_profile *profile, rs2_error **error)
Definition: rs_frame.h:124
Definition: rs_frame.h:61
Definition: rs_frame.h:100
Definition: rs_frame.h:68
Definition: rs_frame.h:65
void rs2_release_frame(rs2_frame *frame)
Definition: rs_frame.h:64
int rs2_get_frame_labeled_points_count(const rs2_frame *frame, rs2_error **error)
rs2_frame * rs2_extract_frame(rs2_frame *composite, int index, rs2_error **error)
rs2_metadata_type rs2_get_frame_metadata(const rs2_frame *frame, rs2_frame_metadata_value frame_metadata, rs2_error **error)
struct rs2_error rs2_error
Definition: rs_types.h:276
double rs2_time_t
Definition: rs_types.h:323
Definition: rs_frame.h:120
Definition: rs_frame.h:129
Definition: rs_frame.h:43
Definition: rs_frame.h:39
void rs2_pose_frame_get_pose_data(const rs2_frame *frame, rs2_pose *pose, rs2_error **error)
Definition: rs_frame.h:22
int rs2_get_frame_bits_per_pixel(const rs2_frame *frame, rs2_error **error)
rs2_frame_metadata_value
Per-Frame-Metadata is the set of read-only properties that might be exposed for each individual frame...
Definition: rs_frame.h:29
struct rs2_frame rs2_frame
Definition: rs_types.h:279
const void * rs2_get_frame_data(const rs2_frame *frame, rs2_error **error)
Definition: rs_frame.h:73
Pixel location within 2D image. (0,0) is the topmost, left corner. Positive X is right, positive Y is down.
Definition: rs_types.h:93
rs2_timestamp_domain
Specifies the clock in relation to which the frame timestamp was measured.
Definition: rs_frame.h:19