Intel® RealSense™ Cross Platform API
Intel 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 Intel Corporation. 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 {
69 
78 
86 int rs2_supports_frame_metadata(const rs2_frame* frame, rs2_frame_metadata_value frame_metadata, rs2_error** error);
87 
97 
105 
113 
120 unsigned long long rs2_get_frame_number(const rs2_frame* frame, rs2_error** error);
121 
128 int rs2_get_frame_data_size(const rs2_frame* frame, rs2_error** error);
129 
136 const void* rs2_get_frame_data(const rs2_frame* frame, rs2_error** error);
137 
144 int rs2_get_frame_width(const rs2_frame* frame, rs2_error** error);
145 
152 int rs2_get_frame_height(const rs2_frame* frame, rs2_error** error);
153 
158 float rs2_depth_frame_get_units( const rs2_frame* frame, rs2_error** error );
159 
167 
176 
183 void rs2_frame_add_ref(rs2_frame* frame, rs2_error ** error);
184 
190 
198 
207 
215 void rs2_export_to_ply(const rs2_frame* frame, const char* fname, rs2_frame* texture, rs2_error** error);
216 
225 
232 int rs2_get_frame_points_count(const rs2_frame* frame, rs2_error** error);
233 
241 
249 int rs2_is_frame_extendable_to(const rs2_frame* frame, rs2_extension extension_type, rs2_error ** error);
250 
266  int new_bpp, int new_width, int new_height, int new_stride, rs2_extension frame_type, rs2_error** error);
267 
279  rs2_extension frame_type, rs2_error** error);
280 
290 rs2_frame* rs2_allocate_points(rs2_source* source, const rs2_stream_profile* new_stream, rs2_frame* original, rs2_error** error);
291 
301 rs2_frame* rs2_allocate_composite_frame(rs2_source* source, rs2_frame** frames, int count, rs2_error** error);
302 
312 rs2_frame* rs2_extract_frame(rs2_frame* composite, int index, rs2_error** error);
313 
321 
329 
330 
337 void rs2_pose_frame_get_pose_data(const rs2_frame* frame, rs2_pose* pose, rs2_error** error);
338 
339 #ifdef __cplusplus
340 }
341 #endif
342 #endif
RS2_FRAME_METADATA_POWER_LINE_FREQUENCY
@ RS2_FRAME_METADATA_POWER_LINE_FREQUENCY
Definition: rs_frame.h:59
RS2_FRAME_METADATA_CONTRAST
@ RS2_FRAME_METADATA_CONTRAST
Definition: rs_frame.h:51
RS2_FRAME_METADATA_FRAME_TIMESTAMP
@ RS2_FRAME_METADATA_FRAME_TIMESTAMP
Definition: rs_frame.h:32
rs2_get_frame_timestamp
rs2_time_t rs2_get_frame_timestamp(const rs2_frame *frame, rs2_error **error)
RS2_FRAME_METADATA_SATURATION
@ RS2_FRAME_METADATA_SATURATION
Definition: rs_frame.h:52
RS2_FRAME_METADATA_FRAME_LASER_POWER
@ RS2_FRAME_METADATA_FRAME_LASER_POWER
Definition: rs_frame.h:43
RS2_FRAME_METADATA_SENSOR_TIMESTAMP
@ RS2_FRAME_METADATA_SENSOR_TIMESTAMP
Definition: rs_frame.h:33
RS2_FRAME_METADATA_FRAME_LED_POWER
@ RS2_FRAME_METADATA_FRAME_LED_POWER
Definition: rs_frame.h:62
RS2_FRAME_METADATA_MANUAL_WHITE_BALANCE
@ RS2_FRAME_METADATA_MANUAL_WHITE_BALANCE
Definition: rs_frame.h:58
rs2_supports_frame_metadata
int rs2_supports_frame_metadata(const rs2_frame *frame, rs2_frame_metadata_value frame_metadata, rs2_error **error)
RS2_FRAME_METADATA_EXPOSURE_PRIORITY
@ RS2_FRAME_METADATA_EXPOSURE_PRIORITY
Definition: rs_frame.h:45
rs2_timestamp_domain_to_string
const char * rs2_timestamp_domain_to_string(rs2_timestamp_domain info)
rs2_extension
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
Definition: rs_types.h:161
rs2_frame
struct rs2_frame rs2_frame
Definition: rs_types.h:250
RS2_FRAME_METADATA_AUTO_WHITE_BALANCE_TEMPERATURE
@ RS2_FRAME_METADATA_AUTO_WHITE_BALANCE_TEMPERATURE
Definition: rs_frame.h:54
rs2_release_frame
void rs2_release_frame(rs2_frame *frame)
rs2_source
struct rs2_source rs2_source
Definition: rs_types.h:263
rs2_depth_frame_get_units
float rs2_depth_frame_get_units(const rs2_frame *frame, rs2_error **error)
RS2_FRAME_METADATA_GPIO_INPUT_DATA
@ RS2_FRAME_METADATA_GPIO_INPUT_DATA
Definition: rs_frame.h:64
rs2_get_frame_timestamp_domain
rs2_timestamp_domain rs2_get_frame_timestamp_domain(const rs2_frame *frameset, rs2_error **error)
rs2_get_frame_width
int rs2_get_frame_width(const rs2_frame *frame, rs2_error **error)
RS2_FRAME_METADATA_FRAME_COUNTER
@ RS2_FRAME_METADATA_FRAME_COUNTER
Definition: rs_frame.h:31
rs2_pixel
Pixel location within 2D image. (0,0) is the topmost, left corner. Positive X is right,...
Definition: rs_types.h:118
rs2_get_frame_sensor
rs2_sensor * rs2_get_frame_sensor(const rs2_frame *frame, rs2_error **error)
rs2_frame_metadata_to_string
const char * rs2_frame_metadata_to_string(rs2_frame_metadata_value metadata)
RS2_FRAME_METADATA_HUE
@ RS2_FRAME_METADATA_HUE
Definition: rs_frame.h:56
RS2_FRAME_METADATA_EXPOSURE_ROI_LEFT
@ RS2_FRAME_METADATA_EXPOSURE_ROI_LEFT
Definition: rs_frame.h:46
rs2_allocate_synthetic_video_frame
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)
RS2_FRAME_METADATA_EXPOSURE_ROI_RIGHT
@ RS2_FRAME_METADATA_EXPOSURE_ROI_RIGHT
Definition: rs_frame.h:47
RS2_TIMESTAMP_DOMAIN_HARDWARE_CLOCK
@ RS2_TIMESTAMP_DOMAIN_HARDWARE_CLOCK
Definition: rs_frame.h:21
rs2_get_frame_texture_coordinates
rs2_pixel * rs2_get_frame_texture_coordinates(const rs2_frame *frame, rs2_error **error)
RS2_FRAME_METADATA_RAW_FRAME_SIZE
@ RS2_FRAME_METADATA_RAW_FRAME_SIZE
Definition: rs_frame.h:63
RS2_FRAME_METADATA_LOW_LIGHT_COMPENSATION
@ RS2_FRAME_METADATA_LOW_LIGHT_COMPENSATION
Definition: rs_frame.h:60
RS2_FRAME_METADATA_BRIGHTNESS
@ RS2_FRAME_METADATA_BRIGHTNESS
Definition: rs_frame.h:50
rs2_get_frame_height
int rs2_get_frame_height(const rs2_frame *frame, rs2_error **error)
rs_types.h
Exposes RealSense structs.
RS2_FRAME_METADATA_BACKLIGHT_COMPENSATION
@ RS2_FRAME_METADATA_BACKLIGHT_COMPENSATION
Definition: rs_frame.h:55
RS2_FRAME_METADATA_FRAME_EMITTER_MODE
@ RS2_FRAME_METADATA_FRAME_EMITTER_MODE
Definition: rs_frame.h:61
rs2_get_frame_metadata
rs2_metadata_type rs2_get_frame_metadata(const rs2_frame *frame, rs2_frame_metadata_value frame_metadata, rs2_error **error)
RS2_FRAME_METADATA_BACKEND_TIMESTAMP
@ RS2_FRAME_METADATA_BACKEND_TIMESTAMP
Definition: rs_frame.h:41
rs2_frame_metadata_value_to_string
const char * rs2_frame_metadata_value_to_string(rs2_frame_metadata_value metadata)
RS2_TIMESTAMP_DOMAIN_COUNT
@ RS2_TIMESTAMP_DOMAIN_COUNT
Definition: rs_frame.h:24
RS2_FRAME_METADATA_GAMMA
@ RS2_FRAME_METADATA_GAMMA
Definition: rs_frame.h:57
rs2_metadata_type
long long rs2_metadata_type
Definition: rs_types.h:290
rs2_allocate_points
rs2_frame * rs2_allocate_points(rs2_source *source, const rs2_stream_profile *new_stream, rs2_frame *original, rs2_error **error)
rs2_get_frame_vertices
rs2_vertex * rs2_get_frame_vertices(const rs2_frame *frame, rs2_error **error)
rs2_sensor
struct rs2_sensor rs2_sensor
Definition: rs_types.h:271
rs2_extract_frame
rs2_frame * rs2_extract_frame(rs2_frame *composite, int index, rs2_error **error)
rs2_frame_add_ref
void rs2_frame_add_ref(rs2_frame *frame, rs2_error **error)
RS2_FRAME_METADATA_COUNT
@ RS2_FRAME_METADATA_COUNT
Definition: rs_frame.h:65
rs2_pose
Definition: rs_types.h:135
RS2_FRAME_METADATA_SHARPNESS
@ RS2_FRAME_METADATA_SHARPNESS
Definition: rs_frame.h:53
RS2_FRAME_METADATA_AUTO_EXPOSURE
@ RS2_FRAME_METADATA_AUTO_EXPOSURE
Definition: rs_frame.h:37
rs2_embedded_frames_count
int rs2_embedded_frames_count(rs2_frame *composite, rs2_error **error)
rs2_export_to_ply
void rs2_export_to_ply(const rs2_frame *frame, const char *fname, rs2_frame *texture, rs2_error **error)
RS2_FRAME_METADATA_WHITE_BALANCE
@ RS2_FRAME_METADATA_WHITE_BALANCE
Definition: rs_frame.h:38
rs2_vertex
3D coordinates with origin at topmost left corner of the lense, with positive Z pointing away from th...
Definition: rs_types.h:112
rs2_get_frame_stride_in_bytes
int rs2_get_frame_stride_in_bytes(const rs2_frame *frame, rs2_error **error)
RS2_FRAME_METADATA_GAIN_LEVEL
@ RS2_FRAME_METADATA_GAIN_LEVEL
Definition: rs_frame.h:35
rs2_stream_profile
struct rs2_stream_profile rs2_stream_profile
Definition: rs_types.h:258
rs2_get_frame_data
const void * rs2_get_frame_data(const rs2_frame *frame, rs2_error **error)
RS2_FRAME_METADATA_FRAME_LASER_POWER_MODE
@ RS2_FRAME_METADATA_FRAME_LASER_POWER_MODE
Definition: rs_frame.h:44
rs2_time_t
double rs2_time_t
Definition: rs_types.h:289
RS2_FRAME_METADATA_ACTUAL_EXPOSURE
@ RS2_FRAME_METADATA_ACTUAL_EXPOSURE
Definition: rs_frame.h:34
RS2_FRAME_METADATA_TEMPERATURE
@ RS2_FRAME_METADATA_TEMPERATURE
Definition: rs_frame.h:40
RS2_FRAME_METADATA_EXPOSURE_ROI_BOTTOM
@ RS2_FRAME_METADATA_EXPOSURE_ROI_BOTTOM
Definition: rs_frame.h:49
rs2_get_frame_number
unsigned long long rs2_get_frame_number(const rs2_frame *frame, rs2_error **error)
RS2_FRAME_METADATA_TIME_OF_ARRIVAL
@ RS2_FRAME_METADATA_TIME_OF_ARRIVAL
Definition: rs_frame.h:39
RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME
@ RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME
Definition: rs_frame.h:22
rs2_get_frame_data_size
int rs2_get_frame_data_size(const rs2_frame *frame, rs2_error **error)
rs2_get_frame_stream_profile
const rs2_stream_profile * rs2_get_frame_stream_profile(const rs2_frame *frame, rs2_error **error)
rs2_timestamp_domain
rs2_timestamp_domain
Specifies the clock in relation to which the frame timestamp was measured.
Definition: rs_frame.h:20
RS2_FRAME_METADATA_EXPOSURE_ROI_TOP
@ RS2_FRAME_METADATA_EXPOSURE_ROI_TOP
Definition: rs_frame.h:48
RS2_FRAME_METADATA_ACTUAL_FPS
@ RS2_FRAME_METADATA_ACTUAL_FPS
Definition: rs_frame.h:42
rs2_frame_metadata_value
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:30
rs2_synthetic_frame_ready
void rs2_synthetic_frame_ready(rs2_source *source, rs2_frame *frame, rs2_error **error)
rs2_is_frame_extendable_to
int rs2_is_frame_extendable_to(const rs2_frame *frame, rs2_extension extension_type, rs2_error **error)
rs2_allocate_synthetic_motion_frame
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)
rs2_get_frame_bits_per_pixel
int rs2_get_frame_bits_per_pixel(const rs2_frame *frame, rs2_error **error)
rs2_get_frame_points_count
int rs2_get_frame_points_count(const rs2_frame *frame, rs2_error **error)
rs2_pose_frame_get_pose_data
void rs2_pose_frame_get_pose_data(const rs2_frame *frame, rs2_pose *pose, rs2_error **error)
rs2_allocate_composite_frame
rs2_frame * rs2_allocate_composite_frame(rs2_source *source, rs2_frame **frames, int count, rs2_error **error)
RS2_TIMESTAMP_DOMAIN_GLOBAL_TIME
@ RS2_TIMESTAMP_DOMAIN_GLOBAL_TIME
Definition: rs_frame.h:23
rs2_keep_frame
void rs2_keep_frame(rs2_frame *frame)
rs2_error
struct rs2_error rs2_error
Definition: rs_types.h:247