9 #include <k4arecord/playback.h>
10 #include <k4arecord/record.h>
14 #include <unordered_map>
32 namespace k4a_plugin {
40 static std::unordered_map<std::string, HINSTANCE> map_lib_name_to_handle;
42 if (map_lib_name_to_handle.count(lib_name) == 0) {
48 std::string env_lib_dir =
"";
49 char const* temp = std::getenv(
"K4A_LIB_DIR");
50 if (temp !=
nullptr) {
51 env_lib_dir = std::string(temp);
55 static const std::vector<std::string> k4a_lib_path_hints = {
58 "C:\\Program Files\\Azure Kinect SDK v1.4.1\\sdk\\windows-desktop\\amd64\\release\\bin",
59 "C:\\Program Files\\Azure Kinect SDK v1.4.0\\sdk\\windows-desktop\\amd64\\release\\bin",
60 "C:\\Program Files\\Azure Kinect SDK v1.3.0\\sdk\\windows-desktop\\amd64\\release\\bin",
61 "C:\\Program Files\\Azure Kinect SDK v1.2.0\\sdk\\windows-desktop\\amd64\\release\\bin"
65 HINSTANCE handle =
NULL;
66 for (
const std::string& k4a_lib_path_hint : k4a_lib_path_hints) {
69 std::string full_path = k4a_lib_path_hint +
"\\" + lib_name;
70 handle = LoadLibrary(TEXT(full_path.c_str()));
79 map_lib_name_to_handle[lib_name] = handle;
81 return map_lib_name_to_handle.at(lib_name);
84 #define DEFINE_BRIDGED_FUNC_WITH_COUNT(lib_name, return_type, f_name, \
86 return_type f_name(EXTRACT_TYPES_PARAMS(num_args, __VA_ARGS__)) { \
87 typedef return_type (*f_type)( \
88 EXTRACT_TYPES_PARAMS(num_args, __VA_ARGS__)); \
89 static f_type f = nullptr; \
92 f = (f_type)GetProcAddress(GetDynamicLibHandle(lib_name), \
95 utility::LogError("Cannot load func {}", #f_name); \
97 utility::LogDebug("Loaded func {}", #f_name); \
100 return f(EXTRACT_PARAMS(num_args, __VA_ARGS__)); \
109 static std::unordered_map<std::string, void*> map_lib_name_to_handle;
111 if (map_lib_name_to_handle.count(lib_name) == 0) {
121 std::vector<std::string> k4a_lib_path_hints;
122 if (
const char* ld_paths_c = std::getenv(
"LD_LIBRARY_PATH")) {
125 k4a_lib_path_hints.insert(k4a_lib_path_hints.begin(),
"");
127 void* handle =
nullptr;
128 std::string full_path;
129 for (
const std::string& k4a_lib_path_hint : k4a_lib_path_hints) {
130 if (k4a_lib_path_hint ==
"") {
131 full_path = lib_name;
133 full_path = k4a_lib_path_hint +
"/" + lib_name;
135 handle = dlopen(full_path.c_str(), RTLD_NOW);
136 if (handle !=
NULL) {
144 struct link_map* map =
nullptr;
145 if (!dlinfo(handle, RTLD_DI_LINKMAP, &map)) {
146 if (map !=
nullptr) {
155 map_lib_name_to_handle[lib_name] = handle;
157 return map_lib_name_to_handle.at(lib_name);
160 #define DEFINE_BRIDGED_FUNC_WITH_COUNT(lib_name, return_type, f_name, \
162 return_type f_name(EXTRACT_TYPES_PARAMS(num_args, __VA_ARGS__)) { \
163 typedef return_type (*f_type)( \
164 EXTRACT_TYPES_PARAMS(num_args, __VA_ARGS__)); \
165 static f_type f = nullptr; \
168 f = (f_type)dlsym(GetDynamicLibHandle(lib_name), #f_name); \
170 utility::LogError("Cannot load {}: {}", #f_name, dlerror()); \
173 return f(EXTRACT_PARAMS(num_args, __VA_ARGS__)); \
178 #define DEFINE_BRIDGED_FUNC(lib_name, return_type, f_name, ...) \
179 DEFINE_BRIDGED_FUNC_WITH_COUNT(lib_name, return_type, f_name, \
180 COUNT_ARGS(__VA_ARGS__), __VA_ARGS__)
191 const k4a_device_configuration_t,
276 k4a_record_configuration_t*,
331 k4a_playback_seek_origin_t,
351 k4a_logging_message_cb_t*,
489 k4a_memory_destroy_cb_t*,
492 buffer_release_cb_context,
593 k4a_device_configuration_t*,
626 k4a_hardware_version_t*,
634 k4a_color_control_command_t,
646 k4a_color_control_mode_t*,
654 k4a_color_control_command_t,
656 k4a_color_control_mode_t*,
666 k4a_color_control_command_t,
668 k4a_color_control_mode_t,
688 const k4a_depth_mode_t,
690 const k4a_color_resolution_t,
701 sync_in_jack_connected,
703 sync_out_jack_connected)
711 raw_calibration_size,
712 const k4a_depth_mode_t,
714 const k4a_color_resolution_t,
722 const k4a_calibration_t*,
726 const k4a_calibration_type_t,
728 const k4a_calibration_type_t,
736 const k4a_calibration_t*,
742 const k4a_calibration_type_t,
744 const k4a_calibration_type_t,
754 const k4a_calibration_t*,
758 const k4a_calibration_type_t,
760 const k4a_calibration_type_t,
770 const k4a_calibration_t*,
776 const k4a_calibration_type_t,
778 const k4a_calibration_type_t,
786 k4a_transformation_t,
788 const k4a_calibration_t*,
794 k4a_transformation_t,
795 transformation_handle)
800 k4a_transformation_t,
801 transformation_handle,
805 transformed_depth_image)
810 k4a_transformation_t,
811 transformation_handle,
817 transformed_color_image)
822 k4a_transformation_t,
823 transformation_handle,
826 const k4a_calibration_type_t,
filament::Texture::InternalFormat format
#define DEFINE_BRIDGED_FUNC(lib_name, return_type, f_name,...)
void k4a_device_stop_imu(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle), k4a_device_t, device_handle))
k4a_image_format_t k4a_image_get_format(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
k4a_result_t k4a_image_create_from_buffer(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_format_t, format, int, width_pixels, int, height_pixels, int, stride_bytes, uint8_t *, buffer, size_t, buffer_size, k4a_memory_destroy_cb_t *, buffer_release_cb, void *, buffer_release_cb_context, k4a_image_t *, image_handle), k4a_image_format_t, format, int, width_pixels, int, height_pixels, int, stride_bytes, uint8_t *, buffer, size_t, buffer_size, k4a_memory_destroy_cb_t *, buffer_release_cb, void *, buffer_release_cb_context, k4a_image_t *, image_handle))
k4a_result_t k4a_record_write_capture(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle, k4a_capture_t, capture_handle), k4a_record_t, recording_handle, k4a_capture_t, capture_handle))
k4a_stream_result_t k4a_playback_get_previous_capture(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_capture_t *, capture_handle), k4a_playback_t, playback_handle, k4a_capture_t *, capture_handle))
k4a_result_t k4a_device_get_color_control(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_color_control_command_t, command, k4a_color_control_mode_t *, mode, int32_t *, value), k4a_device_t, device_handle, k4a_color_control_command_t, command, k4a_color_control_mode_t *, mode, int32_t *, value))
uint64_t k4a_image_get_exposure_usec(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
void k4a_device_stop_cameras(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle), k4a_device_t, device_handle))
uint32_t k4a_image_get_iso_speed(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
k4a_stream_result_t k4a_playback_get_next_imu_sample(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_imu_sample_t *, imu_sample), k4a_playback_t, playback_handle, k4a_imu_sample_t *, imu_sample))
k4a_result_t k4a_transformation_depth_image_to_color_camera(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, k4a_image_t, transformed_depth_image), k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, k4a_image_t, transformed_depth_image))
void k4a_capture_set_color_image(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle, k4a_image_t, image_handle), k4a_capture_t, capture_handle, k4a_image_t, image_handle))
k4a_result_t k4a_capture_create(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t *, capture_handle), k4a_capture_t *, capture_handle))
k4a_result_t k4a_device_open(EXTRACT_TYPES_PARAMS(COUNT_ARGS(uint32_t, index, k4a_device_t *, device_handle), uint32_t, index, k4a_device_t *, device_handle))
void k4a_capture_reference(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
k4a_result_t k4a_device_get_calibration(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, const k4a_depth_mode_t, depth_mode, const k4a_color_resolution_t, color_resolution, k4a_calibration_t *, calibration), k4a_device_t, device_handle, const k4a_depth_mode_t, depth_mode, const k4a_color_resolution_t, color_resolution, k4a_calibration_t *, calibration))
void k4a_capture_set_depth_image(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle, k4a_image_t, image_handle), k4a_capture_t, capture_handle, k4a_image_t, image_handle))
void k4a_device_close(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle), k4a_device_t, device_handle))
k4a_image_t k4a_capture_get_ir_image(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
k4a_buffer_result_t k4a_device_get_raw_calibration(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, uint8_t *, data, size_t *, data_size), k4a_device_t, device_handle, uint8_t *, data, size_t *, data_size))
k4a_image_t k4a_capture_get_color_image(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
void k4a_image_set_iso_speed(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle, uint32_t, iso_speed), k4a_image_t, image_handle, uint32_t, iso_speed))
k4a_result_t k4a_record_create(EXTRACT_TYPES_PARAMS(COUNT_ARGS(const char *, path, k4a_device_t, device, const k4a_device_configuration_t, device_config, k4a_record_t *, recording_handle), const char *, path, k4a_device_t, device, const k4a_device_configuration_t, device_config, k4a_record_t *, recording_handle))
k4a_result_t k4a_record_add_imu_track(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle), k4a_record_t, recording_handle))
k4a_buffer_result_t k4a_playback_get_raw_calibration(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, uint8_t *, data, size_t *, data_size), k4a_playback_t, playback_handle, uint8_t *, data, size_t *, data_size))
uint32_t k4a_image_get_white_balance(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
k4a_result_t k4a_playback_get_record_configuration(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_record_configuration_t *, config), k4a_playback_t, playback_handle, k4a_record_configuration_t *, config))
k4a_result_t k4a_playback_open(EXTRACT_TYPES_PARAMS(COUNT_ARGS(const char *, path, k4a_playback_t *, playback_handle), const char *, path, k4a_playback_t *, playback_handle))
int k4a_image_get_height_pixels(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
k4a_image_t k4a_capture_get_depth_image(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
k4a_result_t k4a_image_create(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_format_t, format, int, width_pixels, int, height_pixels, int, stride_bytes, k4a_image_t *, image_handle), k4a_image_format_t, format, int, width_pixels, int, height_pixels, int, stride_bytes, k4a_image_t *, image_handle))
k4a_result_t k4a_calibration_2d_to_2d(EXTRACT_TYPES_PARAMS(COUNT_ARGS(const k4a_calibration_t *, calibration, const k4a_float2_t *, source_point2d, const float, source_depth_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float2_t *, target_point2d, int *, valid), const k4a_calibration_t *, calibration, const k4a_float2_t *, source_point2d, const float, source_depth_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float2_t *, target_point2d, int *, valid))
k4a_result_t k4a_device_start_imu(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle), k4a_device_t, device_handle))
void k4a_playback_close(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle), k4a_playback_t, playback_handle))
k4a_result_t k4a_device_get_sync_jack(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, bool *, sync_in_jack_connected, bool *, sync_out_jack_connected), k4a_device_t, device_handle, bool *, sync_in_jack_connected, bool *, sync_out_jack_connected))
k4a_result_t k4a_device_set_color_control(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_color_control_command_t, command, k4a_color_control_mode_t, mode, int32_t, value), k4a_device_t, device_handle, k4a_color_control_command_t, command, k4a_color_control_mode_t, mode, int32_t, value))
k4a_result_t k4a_playback_seek_timestamp(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, int64_t, offset_usec, k4a_playback_seek_origin_t, origin), k4a_playback_t, playback_handle, int64_t, offset_usec, k4a_playback_seek_origin_t, origin))
uint8_t * k4a_image_get_buffer(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
k4a_result_t k4a_transformation_depth_image_to_point_cloud(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, const k4a_calibration_type_t, camera, k4a_image_t, xyz_image), k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, const k4a_calibration_type_t, camera, k4a_image_t, xyz_image))
float k4a_capture_get_temperature_c(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
k4a_result_t k4a_calibration_3d_to_3d(EXTRACT_TYPES_PARAMS(COUNT_ARGS(const k4a_calibration_t *, calibration, const k4a_float3_t *, source_point3d_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float3_t *, target_point3d_mm), const k4a_calibration_t *, calibration, const k4a_float3_t *, source_point3d_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float3_t *, target_point3d_mm))
void k4a_capture_set_ir_image(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle, k4a_image_t, image_handle), k4a_capture_t, capture_handle, k4a_image_t, image_handle))
k4a_result_t k4a_device_get_color_control_capabilities(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_color_control_command_t, command, bool *, supports_auto, int32_t *, min_value, int32_t *, max_value, int32_t *, step_value, int32_t *, default_value, k4a_color_control_mode_t *, default_mode), k4a_device_t, device_handle, k4a_color_control_command_t, command, bool *, supports_auto, int32_t *, min_value, int32_t *, max_value, int32_t *, step_value, int32_t *, default_value, k4a_color_control_mode_t *, default_mode))
uint64_t k4a_image_get_timestamp_usec(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
k4a_result_t k4a_calibration_3d_to_2d(EXTRACT_TYPES_PARAMS(COUNT_ARGS(const k4a_calibration_t *, calibration, const k4a_float3_t *, source_point3d_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float2_t *, target_point2d, int *, valid), const k4a_calibration_t *, calibration, const k4a_float3_t *, source_point3d_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float2_t *, target_point2d, int *, valid))
void k4a_image_release(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
void k4a_image_set_white_balance(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle, uint32_t, white_balance), k4a_image_t, image_handle, uint32_t, white_balance))
k4a_result_t k4a_record_flush(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle), k4a_record_t, recording_handle))
size_t k4a_image_get_size(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
void k4a_image_set_timestamp_usec(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle, uint64_t, timestamp_usec), k4a_image_t, image_handle, uint64_t, timestamp_usec))
void k4a_image_set_exposure_time_usec(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle, uint64_t, exposure_usec), k4a_image_t, image_handle, uint64_t, exposure_usec))
k4a_result_t k4a_set_debug_message_handler(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_logging_message_cb_t *, message_cb, void *, message_cb_context, k4a_log_level_t, min_level), k4a_logging_message_cb_t *, message_cb, void *, message_cb_context, k4a_log_level_t, min_level))
k4a_result_t k4a_record_add_tag(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle, const char *, name, const char *, value), k4a_record_t, recording_handle, const char *, name, const char *, value))
k4a_result_t k4a_device_start_cameras(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_device_configuration_t *, config), k4a_device_t, device_handle, k4a_device_configuration_t *, config))
int k4a_image_get_width_pixels(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
k4a_result_t k4a_calibration_2d_to_3d(EXTRACT_TYPES_PARAMS(COUNT_ARGS(const k4a_calibration_t *, calibration, const k4a_float2_t *, source_point2d, const float, source_depth_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float3_t *, target_point3d_mm, int *, valid), const k4a_calibration_t *, calibration, const k4a_float2_t *, source_point2d, const float, source_depth_mm, const k4a_calibration_type_t, source_camera, const k4a_calibration_type_t, target_camera, k4a_float3_t *, target_point3d_mm, int *, valid))
k4a_wait_result_t k4a_device_get_capture(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_capture_t *, capture_handle, int32_t, timeout_in_ms), k4a_device_t, device_handle, k4a_capture_t *, capture_handle, int32_t, timeout_in_ms))
void k4a_capture_release(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle), k4a_capture_t, capture_handle))
k4a_stream_result_t k4a_playback_get_previous_imu_sample(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_imu_sample_t *, imu_sample), k4a_playback_t, playback_handle, k4a_imu_sample_t *, imu_sample))
k4a_wait_result_t k4a_device_get_imu_sample(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_imu_sample_t *, imu_sample, int32_t, timeout_in_ms), k4a_device_t, device_handle, k4a_imu_sample_t *, imu_sample, int32_t, timeout_in_ms))
k4a_result_t k4a_playback_set_color_conversion(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_image_format_t, target_format), k4a_playback_t, playback_handle, k4a_image_format_t, target_format))
uint32_t k4a_device_get_installed_count(EXTRACT_TYPES_PARAMS(COUNT_ARGS(),))
k4a_result_t k4a_record_write_imu_sample(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle, k4a_imu_sample_t, imu_sample), k4a_record_t, recording_handle, k4a_imu_sample_t, imu_sample))
k4a_result_t k4a_calibration_get_from_raw(EXTRACT_TYPES_PARAMS(COUNT_ARGS(char *, raw_calibration, size_t, raw_calibration_size, const k4a_depth_mode_t, depth_mode, const k4a_color_resolution_t, color_resolution, k4a_calibration_t *, calibration), char *, raw_calibration, size_t, raw_calibration_size, const k4a_depth_mode_t, depth_mode, const k4a_color_resolution_t, color_resolution, k4a_calibration_t *, calibration))
static const std::string k4a_lib_name
uint64_t k4a_playback_get_last_timestamp_usec(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle), k4a_playback_t, playback_handle))
static void * GetDynamicLibHandle(const std::string &lib_name)
k4a_buffer_result_t k4a_device_get_serialnum(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, char *, serial_number, size_t *, serial_number_size), k4a_device_t, device_handle, char *, serial_number, size_t *, serial_number_size))
k4a_result_t k4a_playback_get_calibration(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_calibration_t *, calibration), k4a_playback_t, playback_handle, k4a_calibration_t *, calibration))
void k4a_record_close(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle), k4a_record_t, recording_handle))
k4a_result_t k4a_device_get_version(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_device_t, device_handle, k4a_hardware_version_t *, version), k4a_device_t, device_handle, k4a_hardware_version_t *, version))
k4a_result_t k4a_record_write_header(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_record_t, recording_handle), k4a_record_t, recording_handle))
int k4a_image_get_stride_bytes(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
k4a_result_t k4a_transformation_color_image_to_depth_camera(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, const k4a_image_t, color_image, k4a_image_t, transformed_color_image), k4a_transformation_t, transformation_handle, const k4a_image_t, depth_image, const k4a_image_t, color_image, k4a_image_t, transformed_color_image))
static const std::string k4arecord_lib_name
void k4a_capture_set_temperature_c(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_capture_t, capture_handle, float, temperature_c), k4a_capture_t, capture_handle, float, temperature_c))
void k4a_transformation_destroy(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_transformation_t, transformation_handle), k4a_transformation_t, transformation_handle))
k4a_transformation_t k4a_transformation_create(EXTRACT_TYPES_PARAMS(COUNT_ARGS(const k4a_calibration_t *, calibration), const k4a_calibration_t *, calibration))
k4a_stream_result_t k4a_playback_get_next_capture(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, k4a_capture_t *, capture_handle), k4a_playback_t, playback_handle, k4a_capture_t *, capture_handle))
void k4a_image_reference(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_image_t, image_handle), k4a_image_t, image_handle))
k4a_buffer_result_t k4a_playback_get_tag(EXTRACT_TYPES_PARAMS(COUNT_ARGS(k4a_playback_t, playback_handle, const char *, name, char *, value, size_t *, value_size), k4a_playback_t, playback_handle, const char *, name, char *, value, size_t *, value_size))
static const std::string path
void SplitString(std::vector< std::string > &tokens, const std::string &str, const std::string &delimiters=" ", bool trim_empty_str=true)
Generic file read and write utility for python interface.