mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-04 03:57:46 +08:00
update SDK to v1.6.1
This commit is contained in:
@@ -1,13 +1,8 @@
|
||||
/**
|
||||
* \if English
|
||||
* @file Context.h
|
||||
* @brief Context is a management class that describes the runtime of the SDK and is responsible for resource application and release of the SDK.
|
||||
* Context has the ability to manage multiple devices. It is responsible for enumerating devices, monitoring device callbacks, and enabling multi device
|
||||
* synchronization. \else
|
||||
* @file Context.h
|
||||
* @brief context是描述SDK的runtime一个管理类,负责SDK的资源申请与释放
|
||||
* context具备多设备的管理能力,负责枚举设备,监听设备回调,启用多设备同步等功能
|
||||
* \endif
|
||||
* @brief Context is a management class that describes the runtime of the SDK and is responsible for resource allocation and release of the SDK.
|
||||
* Context has the ability to manage multiple devices. It is responsible for enumerating devices, monitoring device callbacks, and enabling multi-device
|
||||
* synchronization.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
@@ -18,169 +13,136 @@ extern "C" {
|
||||
#include "ObTypes.h"
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief create context api
|
||||
* @brief Create a context object
|
||||
*
|
||||
* @param[out] error record the error information
|
||||
* @return ob_context* return the context that created
|
||||
* \else
|
||||
* @brief 创建context的接口函数
|
||||
*
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_context* 返回上下文环境
|
||||
* \endif
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during context creation
|
||||
* @return Pointer to the created context object
|
||||
*/
|
||||
ob_context *ob_create_context(ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief create context with config
|
||||
* @brief Create a context object with a specified configuration file
|
||||
*
|
||||
* @param[in] config_path Configure the path of the file, and return null if the default path is used.
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_context* returns the context
|
||||
* \else
|
||||
* @brief 创建context的接口函数
|
||||
*
|
||||
* @param[in] config_path 配置文件的路径,如果使用默认路径则传NULL
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_context* 返回上下文环境
|
||||
* \endif
|
||||
* @param[in] config_path Path to the configuration file. If NULL, the default configuration file will be used.
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during context creation
|
||||
* @return Pointer to the created context object
|
||||
*/
|
||||
ob_context *ob_create_context_with_config(const char *config_path, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Delete context
|
||||
* @brief Delete a context object
|
||||
*
|
||||
* @param[in] context The context to delete
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 删除上下文环境
|
||||
*
|
||||
* @param[in] context 要删除的上下文环境
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] context Pointer to the context object to be deleted
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during context deletion
|
||||
*/
|
||||
void ob_delete_context(ob_context *context, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the list of enumerated devices
|
||||
* @brief Get a list of enumerated devices
|
||||
*
|
||||
* @param[in] context Context
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_device_list* return device list object
|
||||
* \else
|
||||
* @brief 枚举设备列表
|
||||
*
|
||||
* @param[in] context 上下文环境
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_device_list* 返回设备列表对象
|
||||
* \endif
|
||||
* @param[in] context Pointer to the context object
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during device enumeration
|
||||
* @return Pointer to the device list object
|
||||
*/
|
||||
ob_device_list *ob_query_device_list(ob_context *context, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief 创建网络设备
|
||||
* @brief Create a network device object
|
||||
*
|
||||
* @param[in] context 上下文环境
|
||||
* @param[in] address 设备ip地址
|
||||
* @param[in] port 设备端口
|
||||
* @param[out] error 记录错误信息
|
||||
* @return[out] ob_device* 返回设备对象
|
||||
* @param[in] context Pointer to the context object
|
||||
* @param[in] address IP address of the device
|
||||
* @param[in] port Port number of the device
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during device creation
|
||||
* @return Pointer to the created device object
|
||||
*/
|
||||
ob_device *ob_create_net_device(ob_context *context, const char *address, uint16_t port, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set device plug-in callback function
|
||||
* @attention The added and removed device list returned through the callback interface need to be released manually
|
||||
* @brief Set a device plug-in callback function
|
||||
* @attention The added and removed device lists returned through the callback interface need to be released manually
|
||||
*
|
||||
* @param[in] context Context
|
||||
* @param[in] callback Callback triggered when the device is plugged and unplugged
|
||||
* @param[in] user_data You can pass in any user data and get it from the callback
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置设备插拔回调函数
|
||||
* @attention 通过回调接口返回的added和removed设备列表,需要手动释放设备列表
|
||||
*
|
||||
* @param[in] context 上下文环境
|
||||
* @param[in] callback 设备插拔时触发的回调
|
||||
* @param[in] user_data 可以传入任意用户数据,并从回调中获取
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] context Pointer to the context object
|
||||
* @param[in] callback Pointer to the callback function triggered when a device is plugged or unplugged
|
||||
* @param[in] user_data Pointer to user data that can be passed to and retrieved from the callback function
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during callback function setting
|
||||
*/
|
||||
void ob_set_device_changed_callback(ob_context *context, ob_device_changed_callback callback, void *user_data, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Activate the multi-device synchronization function to synchronize the clock of the created device(the device needs to support this function)
|
||||
* @brief Activate the multi-device synchronization function to synchronize the clock of the created device (the device needs to support this function)
|
||||
*
|
||||
* @param[in] context Context
|
||||
* @param[in] repeatInterval synchronization time interval (unit: ms; if repeatInterval=0, itmeans that it will only be synchronized once and will not be
|
||||
* executedregularly)
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 启动多设备同步功能,同步已创建设备的时钟(需要使用的设备支持该功能)
|
||||
*
|
||||
* @param[in] context 上下文环境
|
||||
* @param[in] repeatInterval 定时同步时间间隔(单位ms;如果repeatInterval=0,表示只同步一次,不再定时执行)
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] context Pointer to the context object
|
||||
* @param[in] repeatInterval Synchronization time interval in milliseconds. If repeatInterval=0, synchronization will only occur once and will not be
|
||||
* executed regularly.
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during multi-device synchronization activation
|
||||
*/
|
||||
void ob_enable_multi_device_sync(ob_context *context, uint64_t repeatInterval, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set the global log level and this will affect both the log level output to the console and the log output to the file
|
||||
* @brief Free idle memory from the internal frame memory pool
|
||||
*
|
||||
* @param[in] severity Output log level
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置全局日志的等级,会同时作用于输出到console和输出到文件的日志等级
|
||||
* @param[in] context Pointer to the context object
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during memory freeing
|
||||
*/
|
||||
void ob_free_idle_memory(ob_context *context, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Set the global log level
|
||||
*
|
||||
* @param[in] severity 输出日志等级
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @attention This interface setting will affect the output level of all logs (terminal, file, callback)
|
||||
*
|
||||
* @param[in] severity Log level to set
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during log level setting
|
||||
*/
|
||||
void ob_set_logger_severity(ob_log_severity severity, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set output log to file
|
||||
* @brief Set the log output to a file
|
||||
*
|
||||
* @param[in] severity log level output to file
|
||||
* @param[in] directory The log file output path. If the path is empty, the existing settings will continue to be used (if the existing configuration is also
|
||||
* empty, the log will not be output to the file)
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置输出日志到文件
|
||||
*
|
||||
* @param[in] severity 输出到文件的日志等级
|
||||
* @param[in] directory 日志文件输出路径,如果路径为空,则继续使用已有设置(已有配置也为空则不输出日志到文件)
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] severity Log level to output to file
|
||||
* @param[in] directory Path to the log file output directory. If the path is empty, the existing settings will continue to be used (if the existing
|
||||
* configuration is also empty, the log will not be output to the file)
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during log output setting
|
||||
*/
|
||||
void ob_set_logger_to_file(ob_log_severity severity, const char *directory, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set the output log to the console
|
||||
* @brief Set the log callback function
|
||||
*
|
||||
* @param[in] log Log level
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置输出日志到控制台
|
||||
* @param[in] severity Log level to set for the callback function
|
||||
* @param[in] callback Pointer to the callback function
|
||||
* @param[in] user_data Pointer to user data that can be passed to and retrieved from the callback function
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during log callback function setting
|
||||
*/
|
||||
void ob_set_logger_callback(ob_log_severity severity, ob_log_callback callback, void *user_data, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Set the log output to the console
|
||||
*
|
||||
* @param[in] severity 日志的等级
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] severity Log level to output to the console
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during log output setting
|
||||
*/
|
||||
void ob_set_logger_to_console(ob_log_severity severity, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Load a license file
|
||||
*
|
||||
* @param[in] filePath Path to the license file
|
||||
* @param[in] key Decryption key. "OB_DEFAULT_DECRYPT_KEY" can be used to represent the default key.
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during license loading
|
||||
*/
|
||||
void ob_load_license(const char *filePath, const char *key, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Load a license from data
|
||||
*
|
||||
* @param[in] data Pointer to the license data
|
||||
* @param[in] dataLen Length of the license data
|
||||
* @param[in] key Decryption key. "OB_DEFAULT_DECRYPT_KEY" can be used to represent the default key.
|
||||
* @param[out] error Pointer to an error object that will be populated if an error occurs during license loading
|
||||
*/
|
||||
void ob_load_license_from_data(const char *data, uint32_t dataLen, const char *key, ob_error **error);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,6 @@
|
||||
/**
|
||||
* \if English
|
||||
* @file Error.h
|
||||
* @brief Error handling related functions, mainly used to obtain error messages
|
||||
* \else
|
||||
* @file Error.h
|
||||
* @brief 错误处理相关函数,主要用于获取错误信息
|
||||
* \endif
|
||||
* @brief Functions for handling errors, mainly used for obtaining error messages.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
@@ -16,85 +11,49 @@ extern "C" {
|
||||
#include "ObTypes.h"
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get error status
|
||||
* @brief Get the error status.
|
||||
*
|
||||
* @param[in] error Error object
|
||||
* @return ob_status returns error status
|
||||
* \else
|
||||
* @brief 获取错误状态
|
||||
*
|
||||
* @param[in] error 错误对象
|
||||
* @return ob_status 返回错误状态
|
||||
* \endif
|
||||
* @param[in] error The error object.
|
||||
* @return The error status.
|
||||
*/
|
||||
ob_status ob_error_status(ob_error *error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get error information
|
||||
* @brief Get the error message.
|
||||
*
|
||||
* @param[in] error Error object
|
||||
* @return const char* returns an error message
|
||||
* \else
|
||||
* @brief 获取错误信息
|
||||
*
|
||||
* @param[in] error 错误对象
|
||||
* @return const char* 返回错误信息
|
||||
* \endif
|
||||
* @param[in] error The error object.
|
||||
* @return The error message.
|
||||
*/
|
||||
const char *ob_error_message(ob_error *error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get error API function name
|
||||
* @brief Get the name of the API function that caused the error.
|
||||
*
|
||||
* @param[in] error Error object
|
||||
* @return const char* returns error function
|
||||
* \else
|
||||
* @brief 获取出现错误的API函数名称
|
||||
*
|
||||
* @param[in] error 错误对象
|
||||
* @return const char* 返回错误函数
|
||||
* \endif
|
||||
* @param[in] error The error object.
|
||||
* @return The name of the API function.
|
||||
*/
|
||||
const char *ob_error_function(ob_error *error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get error parameters
|
||||
* @brief Get the error parameters.
|
||||
*
|
||||
* @param[in] error Error object
|
||||
* @return const char* returns the error parameter
|
||||
* \else
|
||||
* @brief 获取错误参数
|
||||
*
|
||||
* @param[in] error 错误对象
|
||||
* @return const char* 返回错误参数
|
||||
* \endif
|
||||
* @param[in] error The error object.
|
||||
* @return The error parameters.
|
||||
*/
|
||||
const char *ob_error_args(ob_error *error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get error exception type
|
||||
* @brief Get the type of exception that caused the error.
|
||||
*
|
||||
* @param[in] error Error object
|
||||
* @return ob_exception_type returns the error exception type
|
||||
* \else
|
||||
* @brief 获取错误异常类型
|
||||
*
|
||||
* @param[in] error 错误对象
|
||||
* @return ob_exception_type 返回错误异常类型
|
||||
* \endif
|
||||
* @param[in] error The error object.
|
||||
* @return The type of exception.
|
||||
*/
|
||||
ob_exception_type ob_error_exception_type(ob_error *error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Delete the error object
|
||||
* @brief Delete the error object.
|
||||
*
|
||||
* @param[in] error The error object to delete
|
||||
* \else
|
||||
* @brief 删除错误对象
|
||||
*
|
||||
* @param[in] error 要删除的错误对象
|
||||
* \endif
|
||||
* @param[in] error The error object to delete.
|
||||
*/
|
||||
void ob_delete_error(ob_error *error);
|
||||
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
/**
|
||||
* \if English
|
||||
* @file Filter.h
|
||||
* @brief The processing unit of the SDK can perform point cloud generation, format conversion and other functions.
|
||||
|
||||
* \else
|
||||
* @file Filter.h
|
||||
* @brief SDK的处理单元,可以进行点云的生成,格式转换等功能
|
||||
* \endif
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
@@ -17,278 +11,161 @@ extern "C" {
|
||||
#include "ObTypes.h"
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Create PointCloud Filter
|
||||
* @brief Create a PointCloud Filter.
|
||||
*
|
||||
* @param[out] error Log error messages
|
||||
* @param[out] error Log error messages.
|
||||
*
|
||||
* @return filter pointcloud_filter object
|
||||
* \else
|
||||
* @brief 创建PointCloud Filter
|
||||
*
|
||||
* @param[out] error 记录错误信息
|
||||
*
|
||||
* @return filter pointcloud_filter对象
|
||||
* \endif
|
||||
* @return A pointcloud_filter object.
|
||||
*/
|
||||
ob_filter *ob_create_pointcloud_filter(ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief PointCloud Filter device camera parameters
|
||||
* @brief Set the camera parameters for the PointCloud Filter.
|
||||
*
|
||||
* @param[in] filter pointcloud_filter object
|
||||
* @param[in] param Camera parameters
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief PointCloud Filter设备相机参数
|
||||
*
|
||||
* @param[in] filter pointcloud_filter对象
|
||||
* @param[in] param 相机参数
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] filter A pointcloud_filter object.
|
||||
* @param[in] param Camera parameters.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_pointcloud_filter_set_camera_param(ob_filter *filter, ob_camera_param param, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set point cloud type parameters
|
||||
* @brief Set the point cloud type parameters for the PointCloud Filter.
|
||||
*
|
||||
* @param[in] filter pointcloud_filter object
|
||||
* @param[in] type Point cloud type: depth point cloud or RGBD point cloud
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置点云类型参数
|
||||
*
|
||||
* @param[in] filter pointcloud_filter对象
|
||||
* @param[in] type 点云类型 深度点云或RGBD点云
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] filter A pointcloud_filter object.
|
||||
* @param[in] type Point cloud type: depth point cloud or RGBD point cloud.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_pointcloud_filter_set_point_format(ob_filter *filter, ob_format type, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set the alignment state of the frames that will be input to produce the point cloud
|
||||
* @param[in] filter pointcloud_filter object
|
||||
* @param[in] state Alignment status, True: aligned; False: unaligned
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置将要输入用于生产点云的帧的对齐状态
|
||||
* @param[in] filter pointcloud_filter对象
|
||||
* @param[in] state 对齐状态,True:已对齐; False:未对齐
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @brief Set the alignment state of the frames that will be input to produce the point cloud.
|
||||
*
|
||||
* @param[in] filter A pointcloud_filter object.
|
||||
* @param[in] state Alignment status, True: aligned; False: unaligned.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_pointcloud_filter_set_frame_align_state(ob_filter *filter, bool state, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set the point cloud data scaling factor
|
||||
* @brief Set the point cloud data scaling factor.
|
||||
*
|
||||
* @attention Calling this function to set the scale will change the point coordinate scaling factor of the output point cloud frame: posScale = posScale /
|
||||
* scale.The point coordinate scaling factor for the output point cloud frame can be obtained via @ref ob_points_frame_get_position_value_scale function
|
||||
* @param[in] filter object
|
||||
* @param[in] scale Set the point cloud coordinate data zoom factor
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置点云数据缩放比例
|
||||
* scale. The point coordinate scaling factor for the output point cloud frame can be obtained via the @ref ob_points_frame_get_position_value_scale function.
|
||||
*
|
||||
* @attention 调用该函数设置缩放比例会改变输出点云帧的点坐标缩放系数:posScale = posScale / scale;
|
||||
* 输出点云帧的点坐标缩放系数可通过 @ref ob_points_frame_get_position_value_scale 函数获取
|
||||
*
|
||||
* @param[in] filter pointcloud_filter对象
|
||||
* @param[in] scale 设置点云坐标数据缩放比例
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] filter A pointcloud_filter object.
|
||||
* @param[in] scale Set the point cloud coordinate data zoom factor.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_pointcloud_filter_set_position_data_scale(ob_filter *filter, float scale, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set point cloud color data normalization
|
||||
* @param[in] filter object
|
||||
* @param[in] state Sets whether the point cloud color data is normalized
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置点云颜色数据归一化
|
||||
* @param[in] filter pointcloud_filter对象
|
||||
* @param[in] state 设置点云颜色数据是否归一化
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @brief Set the point cloud color data normalization.
|
||||
*
|
||||
* @param[in] filter A pointcloud_filter object.
|
||||
* @param[in] state Sets whether the point cloud color data is normalized.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_pointcloud_filter_set_color_data_normalization(ob_filter *filter, bool state, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Create FormatConvet Filter
|
||||
* @brief Set the point cloud coordinate system.
|
||||
*
|
||||
* @param[out] error Log error messages
|
||||
* @param[in] filter A pointcloud_filter object.
|
||||
* @param[in] type Coordinate system type.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_pointcloud_filter_set_coordinate_system(ob_filter *filter, ob_coordinate_system_type type, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Create a format convert Filter.
|
||||
*
|
||||
* @return filter format_convert object
|
||||
* \else
|
||||
* @brief 创建FormatConvet Filter
|
||||
* @param[out] error Log error messages.
|
||||
*
|
||||
* @param[out] error 记录错误信息
|
||||
*
|
||||
* @return filter format_convert 对象
|
||||
* \endif
|
||||
* @return A format_convert object.
|
||||
*/
|
||||
ob_filter *ob_create_format_convert_filter(ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set the type of format conversion
|
||||
* @brief Set the type of format conversion for the format convert Filter.
|
||||
*
|
||||
* @param[in] filter formatconvet_filter object
|
||||
* @param[in] type Format conversion type
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置格式转化的类型
|
||||
*
|
||||
* @param[in] filter formatconvet_filter对象
|
||||
* @param[in] type 格式转化类型
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] filter A format convert filter object.
|
||||
* @param[in] type Format conversion type.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_format_convert_filter_set_format(ob_filter *filter, ob_convert_format type, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Create compression Filter
|
||||
* @brief Create a compression Filter.
|
||||
*
|
||||
* @param[out] error Log error messages
|
||||
* @param[out] error Log error messages.
|
||||
*
|
||||
* @return filter depth_filter object
|
||||
* \else
|
||||
* @brief 创建compression Filter
|
||||
*
|
||||
* @param[out] error 记录错误信息
|
||||
*
|
||||
* @return filter depth_filter 对象
|
||||
* \endif
|
||||
* @return A depth_filter object.
|
||||
*/
|
||||
ob_filter *ob_create_compression_filter(ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set compression parameters
|
||||
* @brief Set the compression parameters for the compression Filter.
|
||||
*
|
||||
* @param[in] filter compression_filter object
|
||||
* @param[in] mode Compression mode OB_COMPRESSION_LOSSLESS or OB_COMPRESSION_LOSSY
|
||||
* @param[in] params Compression params, struct ob_compression_params, when mode is OB_COMPRESSION_LOSSLESS, params is NULL
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置压缩类型
|
||||
*
|
||||
* @param[in] filter compression_filter对象
|
||||
* @param[in] mode 压缩模式 OB_COMPRESSION_LOSSLESS or OB_COMPRESSION_LOSSY
|
||||
* @param[in] params 压缩参数,结构体 ob_compression_params,当mode为OB_COMPRESSION_LOSSLESS时,params为NULL
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] filter A compression_filter object.
|
||||
* @param[in] mode Compression mode OB_COMPRESSION_LOSSLESS or OB_COMPRESSION_LOSSY.
|
||||
* @param[in] params Compression params, struct ob_compression_params, when mode is OB_COMPRESSION_LOSSLESS, params is NULL.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_compression_filter_set_compression_params(ob_filter *filter, ob_compression_mode mode, void *params, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Create decompression Filter
|
||||
* @brief Create a decompression Filter.
|
||||
*
|
||||
* @param[out] error Log error messages
|
||||
* @param[out] error Log error messages.
|
||||
*
|
||||
* @return filter decompression Filter object
|
||||
* \else
|
||||
* @brief 创建decompressionr Filter
|
||||
*
|
||||
* @param[out] error 记录错误信息
|
||||
*
|
||||
* @return filter decompression Filter 对象
|
||||
* \endif
|
||||
* @return A decompression Filter object.
|
||||
*/
|
||||
|
||||
ob_filter *ob_create_decompression_filter(ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Filter reset, cache clear, state reset. If the asynchronous interface is used, the processing thread will also be stopped and the pending cache
|
||||
* frames will be cleared.
|
||||
* @brief Reset the filter, clears the cache, and resets the state. If the asynchronous interface is used, the processing thread will also be stopped and the
|
||||
* pending cache frames will be cleared.
|
||||
*
|
||||
* @param[in] filter filter object
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief Filter重置, 缓存清空,状态复位。如果是使用异步方式接口,还会停止处理线程,清空待处理的缓存帧
|
||||
*
|
||||
* @param[in] filter filter对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] filter A filter object.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_filter_reset(ob_filter *filter, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Filter processing (synchronous interface)
|
||||
* @brief Process the frame (synchronous interface).
|
||||
*
|
||||
* @param[in] filter filter object
|
||||
* @param[in] frame pointer to the frame object to be processed
|
||||
* @param[out] error Log error messages
|
||||
* @param[in] filter A filter object.
|
||||
* @param[in] frame Pointer to the frame object to be processed.
|
||||
* @param[out] error Log error messages.
|
||||
*
|
||||
* @return ob_frame The frame object processed by the filter
|
||||
* \else
|
||||
* @brief Filter 处理(同步接口)
|
||||
*
|
||||
* @param[in] filter filter对象
|
||||
* @param[in] frame 需要被处理的frame对象指针
|
||||
* @param[out] error 记录错误信息
|
||||
*
|
||||
* @return ob_frame filter处理后的frame对象
|
||||
* \endif
|
||||
* @return The frame object processed by the filter.
|
||||
*/
|
||||
ob_frame *ob_filter_process(ob_filter *filter, ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Filter Set the processing result callback function (asynchronous callback interface)
|
||||
* @brief Set the processing result callback function for the filter (asynchronous callback interface).
|
||||
*
|
||||
* @param[in] filter filter object
|
||||
* @param[in] callback
|
||||
* @param[in] user_data Arbitrary user data pointer can be passed in and returned from the callback
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief Filter 设置处理结果回调函数(异步回调接口)
|
||||
*
|
||||
* @param[in] filter filter对象
|
||||
* @param[in] callback 回调函数
|
||||
* @param[in] user_data 可以传入任意用户数据指针,并从回调返回该数据指针
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] filter A filter object.
|
||||
* @param[in] callback Callback function.
|
||||
* @param[in] user_data Arbitrary user data pointer can be passed in and returned from the callback.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_filter_set_callback(ob_filter *filter, ob_filter_callback callback, void *user_data, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief filter Push the frame into the pending cache (asynchronous callback interface)
|
||||
* @brief Push the frame into the pending cache for the filter (asynchronous callback interface).
|
||||
*
|
||||
* @param[in] filter filter object
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief filter 压入frame到待处理缓存(异步回调接口)
|
||||
*
|
||||
* @param[in] filter filter对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] filter A filter object.
|
||||
* @param[in] frame Pointer to the frame object to be processed.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_filter_push_frame(ob_filter *filter, ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Delete Filter
|
||||
* @brief Delete the filter.
|
||||
*
|
||||
* @param[in] filter filter object
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 删除Filter
|
||||
*
|
||||
* @param[in] filter filter 对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] filter A filter object.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_delete_filter(ob_filter *filter, ob_error **error);
|
||||
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
/**
|
||||
* \if English
|
||||
* @file Frame.h
|
||||
* @brief Frame related function is mainly used to obtain frame data and frame information
|
||||
* \else
|
||||
* @file Frame.h
|
||||
* @brief 帧相关函数,主要用于获取帧数据及帧的信息
|
||||
* \endif
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
@@ -17,529 +12,334 @@ extern "C" {
|
||||
#include "ObTypes.h"
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the frame index
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log wrong message
|
||||
* @return uint64_t returns the frame index
|
||||
* \else
|
||||
* @brief 获取帧索引
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint64_t 返回帧索引
|
||||
* \endif
|
||||
* @return uint64_t return the frame index
|
||||
*/
|
||||
uint64_t ob_frame_index(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the frame format
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_format returns the frame format
|
||||
* \else
|
||||
* @brief 获取帧格式
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_format 返回帧格式
|
||||
* \endif
|
||||
* @return ob_format return the frame format
|
||||
*/
|
||||
ob_format ob_frame_format(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the frame type
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_frame_type returns the frame type
|
||||
* \else
|
||||
* @brief 获取帧类型
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_frame_type 返回帧类型
|
||||
* \endif
|
||||
* @return ob_frame_type return the frame type
|
||||
*/
|
||||
ob_frame_type ob_frame_get_type(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get frame time stamp (hardware)
|
||||
* @brief Get the hardware timestamp of the frame in milliseconds.
|
||||
* @brief The hardware timestamp is the time point when the frame was captured by the device, on device clock domain.
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return uint64_t returns the frame hardware timestamp
|
||||
* \else
|
||||
* @brief 获取帧硬件时间戳
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint64_t 返回帧硬件时间戳
|
||||
* \endif
|
||||
* @return uint64_t return the frame hardware timestamp in milliseconds
|
||||
*/
|
||||
uint64_t ob_frame_time_stamp(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get frame time stamp (hardware) us
|
||||
* @brief Get the hardware timestamp of the frame in microseconds.
|
||||
* @brief The hardware timestamp is the time point when the frame was captured by the device, on device clock domain.
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return uint64_t returns the frame hardware timestamp, unit us
|
||||
* \else
|
||||
* @brief 获取帧硬件时间戳us
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint64_t 返回帧硬件时间戳,单位us
|
||||
* \endif
|
||||
* @return uint64_t return the frame hardware timestamp in microseconds
|
||||
*/
|
||||
uint64_t ob_frame_time_stamp_us(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get frame time stamp (system)
|
||||
* @brief Get the system timestamp of the frame in milliseconds.
|
||||
* @brief The system timestamp is the time point when the frame was received by the host, on host clock domain.
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return uint64_t returns the frame system timestamp
|
||||
* \else
|
||||
* @brief 获取帧系统时间戳
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint64_t 返回帧系统时间戳
|
||||
* \endif
|
||||
* @return uint64_t return the frame system timestamp in milliseconds
|
||||
*/
|
||||
uint64_t ob_frame_system_time_stamp(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get frame data
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return void* * returns frame data pointer
|
||||
* \else
|
||||
* @brief 获取帧数据
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return void* 返回帧数据指针
|
||||
* \endif
|
||||
* @return void* * return frame data pointer
|
||||
*/
|
||||
void *ob_frame_data(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the frame data size
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return uint32_t returns the frame data size
|
||||
* If it is point cloud data, it returns the number of bytes occupied by all point sets. If you need to find the number of points, you need to divide dataSize
|
||||
* by the structure size of the corresponding point type. \else
|
||||
* @brief 获取帧数据大小
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint32_t 返回帧数据大小
|
||||
* 如果是点云数据返回的是所有点集合占的字节数,若需要求出点的个数需要将dataSize除以对应的点类型的结构体大小
|
||||
* \endif
|
||||
* @return uint32_t return the frame data size
|
||||
* If it is point cloud data, it return the number of bytes occupied by all point sets. If you need to find the number of points, you need to divide dataSize
|
||||
* by the structure size of the corresponding point type.
|
||||
*/
|
||||
uint32_t ob_frame_data_size(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get video frame width
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return uint32_t returns the frame width
|
||||
* \else
|
||||
* @brief 获取视频帧宽
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint32_t 返回帧宽
|
||||
* \endif
|
||||
* @return uint32_t return the frame width
|
||||
*/
|
||||
uint32_t ob_video_frame_width(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get video frame height
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return uint32_t returns the frame height
|
||||
* \else
|
||||
* @brief 获取视频帧高
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint32_t 返回帧高
|
||||
* \endif
|
||||
* @return uint32_t return the frame height
|
||||
*/
|
||||
uint32_t ob_video_frame_height(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
*\if English
|
||||
* @brief Get the metadata of the frame
|
||||
*
|
||||
* @param[in] frame Video frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return void* returns the metadata pointer of the frame
|
||||
* \else
|
||||
* @brief 获取帧的元数据
|
||||
*
|
||||
* @param[in] frame 视频帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return void* 返回帧的元数据指针
|
||||
* \endif
|
||||
* @return void* return the metadata pointer of the frame
|
||||
*/
|
||||
void *ob_video_frame_metadata(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the metadata size of the frame
|
||||
*
|
||||
* @param[in] frame Video frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return uint32_t returns the metadata size of the frame
|
||||
* \else
|
||||
* @brief 获取帧的元数据大小
|
||||
*
|
||||
* @param[in] frame 视频帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint32_t 返回帧的元数据大小
|
||||
* \endif
|
||||
* @return uint32_t return the metadata size of the frame
|
||||
*/
|
||||
uint32_t ob_video_frame_metadata_size(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the effective number of pixels (such as Y16 format frame, but only the lower 10 bits are effective bits, and the upper 6 bits are filled with 0)
|
||||
* @attention Only valid for Y8/Y10/Y11/Y12/Y14/Y16 format
|
||||
*
|
||||
* @param[in] frame video frame object
|
||||
* @param[out] error log error messages
|
||||
* @return uint8_t return the effective number of pixels in the pixel, or 0 if it is an unsupported format
|
||||
* \else
|
||||
* @brief 获取像素有效位数(如Y16格式帧,每个像素占16bit,但实际只有低10位是有效位,高6位填充0)
|
||||
* @attention 仅对Y8/Y10/Y11/Y12/Y14/Y16格式有效
|
||||
*
|
||||
* @param[in] frame 视频帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint8_t 返回像素有效位数,如果是不支持的格式,返回0
|
||||
* \endif
|
||||
*/
|
||||
uint8_t ob_video_frame_pixel_available_bit_size(ob_frame *frame, ob_error **error);
|
||||
|
||||
/* @brief 查询IR frame的最原始数据来源(即使回放视频,其原始的数据源也是sensor)
|
||||
* @param[in] frame 视频帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint8_t 返回
|
||||
* \endif
|
||||
/**
|
||||
* @brief Get the source sensor type of the ir frame (left or right for dual camera)
|
||||
*
|
||||
* @param frame Frame object
|
||||
* @param ob_error Log error messages
|
||||
* @return ob_sensor_type return the source sensor type of the ir frame
|
||||
*/
|
||||
ob_sensor_type ob_ir_frame_get_source_sensor_type(ob_frame *frame, ob_error **ob_error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the value scale of the depth frame. The pixel value of depth frame is multiplied by the scale to give a depth value in millimeter.
|
||||
* such as valueScale=0.1, and a certain coordinate pixel value is pixelValue=10000, then the depth value = pixelValue*valueScale = 10000*0.1=1000mm。
|
||||
* @brief Get the value scale of the depth frame. The pixel value of the depth frame is multiplied by the scale to give a depth value in millimeters.
|
||||
* For example, if valueScale=0.1 and a certain coordinate pixel value is pixelValue=10000, then the depth value = pixelValue*valueScale = 10000*0.1=1000mm.
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return float value scale
|
||||
* \else
|
||||
* @brief 获取深度帧的值缩放系数,深度像素值乘以缩放系数后,可以得到单位为毫米的深度值; 如valueScale=0.1, 某坐标像素值为pixelValue=10000,
|
||||
* 则表示深度值value = pixelValue*valueScale = 10000*0.1=1000mm。
|
||||
*
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return float 缩放系数
|
||||
* \endif
|
||||
* @return float The value scale of the depth frame
|
||||
*/
|
||||
float ob_depth_frame_get_value_scale(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the point position value scale of the points frame. the point position value of points frame is multiplied by the scale to give a position value
|
||||
* in millimeter. such as scale=0.1, The x-coordinate value of a point is x = 10000, which means that the actual x-coordinate value = x*scale = 10000*0.1 =
|
||||
* 1000mm.
|
||||
* @brief Get the point position value scale of the points frame. The point position value of the points frame is multiplied by the scale to give a position
|
||||
* value in millimeters. For example, if scale=0.1, the x-coordinate value of a point is x = 10000, which means that the actual x-coordinate value = x*scale =
|
||||
* 10000*0.1 = 1000mm.
|
||||
*
|
||||
* @param[in] frame Frame object
|
||||
* @param[out] error Log error messages
|
||||
* @return float position value scale
|
||||
* \else
|
||||
* @brief 获取点云帧的点坐标值缩放系数,点坐标值乘以缩放系数后,可以得到单位为毫米的坐标值; 如scale=0.1, 某个点的x坐标值为x=10000,
|
||||
* 则表示实际x坐标value = x*scale = 10000*0.1=1000mm。
|
||||
*
|
||||
* @param[in] frame 点云帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return float 缩放系数
|
||||
* \endif
|
||||
* @return float The position value scale of the points frame
|
||||
*/
|
||||
float ob_points_frame_get_position_value_scale(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Delete frame
|
||||
* @brief Delete a frame object
|
||||
*
|
||||
* @param[in] frame The frame object to delete
|
||||
* @param[in] frame The frame object to delete
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 删除帧
|
||||
*
|
||||
* @param[in] frame 要删除的帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_delete_frame(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the number of frames contained in the frameset
|
||||
*
|
||||
* @param[in] frameset frameset object
|
||||
* @param[out] error Log error messages
|
||||
* @return uint32_t returns the number of frames
|
||||
* \else
|
||||
* @brief 获取帧集合包含的帧数量
|
||||
*
|
||||
* @param[in] frameset 帧集合对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint32_t 返回帧数量
|
||||
* \endif
|
||||
* @return uint32_t return the number of frames
|
||||
*/
|
||||
uint32_t ob_frameset_frame_count(ob_frame *frameset, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the depth frame from the frameset
|
||||
* @brief Get the depth frame from the frameset.
|
||||
*
|
||||
* @param[in] frameset Frameset object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_frame* returns the depth frame
|
||||
* \else
|
||||
* @brief 从帧集合中获取深度帧
|
||||
*
|
||||
* @param[in] frameset 帧集合对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_frame* 返回深度帧
|
||||
* \endif
|
||||
* @param[in] frameset Frameset object.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_frame* Return the depth frame.
|
||||
*/
|
||||
ob_frame *ob_frameset_depth_frame(ob_frame *frameset, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the color frame from the frameset
|
||||
* @brief Get the color frame from the frameset.
|
||||
*
|
||||
* @param[in] frameset Frameset object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_frame* returns the color frame
|
||||
* \else
|
||||
* @brief 从帧集合中获取彩色帧
|
||||
*
|
||||
* @param[in] frameset 帧集合对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_frame* 返回彩色帧
|
||||
* \endif
|
||||
* @param[in] frameset Frameset object.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_frame* Return the color frame.
|
||||
*/
|
||||
ob_frame *ob_frameset_color_frame(ob_frame *frameset, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the infrared frame from the frameset
|
||||
* @brief Get the infrared frame from the frameset.
|
||||
*
|
||||
* @param[in] frameset Frameset object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_frame* returns the infrared frame
|
||||
* \else
|
||||
* @brief 从帧集合中获取红外帧
|
||||
*
|
||||
* @param[in] frameset 帧集合对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_frame* 返回红外帧
|
||||
* \endif
|
||||
* @param[in] frameset Frameset object.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_frame* Return the infrared frame.
|
||||
*/
|
||||
ob_frame *ob_frameset_ir_frame(ob_frame *frameset, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get point cloud data from the frameset
|
||||
* @brief Get point cloud data from the frameset.
|
||||
*
|
||||
* @param[in] frameset Frameset object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_frame* returns the point cloud frame
|
||||
* \else
|
||||
* @brief 从帧集合中获取点云数据
|
||||
*
|
||||
* @param[in] frameset 帧集合对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_frame* 返回点云帧
|
||||
* \endif
|
||||
* @param[in] frameset Frameset object.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_frame* Return the point cloud frame.
|
||||
*/
|
||||
ob_frame *ob_frameset_points_frame(ob_frame *frameset, ob_error **error);
|
||||
|
||||
/**
|
||||
* 获取指定类型的frame
|
||||
* @brief Get a frame of a specific type from the frameset.
|
||||
*
|
||||
* @param[in] frameset Frameset object.
|
||||
* @param[in] frame_type Frame type.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_frame* Return the frame of the specified type, or nullptr if it does not exist.
|
||||
*/
|
||||
ob_frame *ob_frameset_get_frame(ob_frame *frameset, ob_frame_type frame_type, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get accelerometer frame data
|
||||
* @brief Get accelerometer frame data.
|
||||
*
|
||||
* @param[in] frame Accelerometer frame
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_accel_value accelerometer data
|
||||
* \else
|
||||
* @brief 获取加速度帧数据
|
||||
*
|
||||
* @param[in] frame 加速度帧
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_accel_value 加速度数据
|
||||
* \endif
|
||||
* @param[in] frame Accelerometer frame.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_accel_value Return the accelerometer data.
|
||||
*/
|
||||
ob_accel_value ob_accel_frame_value(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the temperature when acquiring the accelerometer frame
|
||||
* @brief Get the temperature when acquiring the accelerometer frame.
|
||||
*
|
||||
* @param[in] frame Accelerometer frame
|
||||
* @param[out] error Log error messages
|
||||
* @return float return value
|
||||
* \else
|
||||
* @brief 获取加速度帧采样时温度
|
||||
*
|
||||
* @param[in] frame 加速度帧
|
||||
* @param[out] error 记录错误信息
|
||||
* @return float 返回数值
|
||||
* \endif
|
||||
* @param[in] frame Accelerometer frame.
|
||||
* @param[out] error Log error messages.
|
||||
* @return float Return the temperature value.
|
||||
*/
|
||||
float ob_accel_frame_temperature(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get gyroscope frame data
|
||||
* @brief Get gyroscope frame data.
|
||||
*
|
||||
* @param[in] frame Gyro Frame
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_gyro_value gyroscope data
|
||||
* \else
|
||||
* @brief 获取陀螺仪帧数据
|
||||
*
|
||||
* @param[in] frame 陀螺仪帧
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_gyro_value 陀螺仪数据
|
||||
* \endif
|
||||
* @param[in] frame Gyroscope frame.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_gyro_value Return the gyroscope data.
|
||||
*/
|
||||
ob_gyro_value ob_gyro_frame_value(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
*\if English
|
||||
* @brief Get the temperature when acquiring the gyroscope frame
|
||||
* @brief Get the temperature when acquiring the gyroscope frame.
|
||||
*
|
||||
* @param[in] frame Accelerometer frame
|
||||
* @param[out] error Log error messages
|
||||
* @return float return value
|
||||
* \else
|
||||
* @brief 获取加速度帧采样时温度
|
||||
*
|
||||
* @param[in] frame 加速度帧
|
||||
* @param[out] error 记录错误信息
|
||||
* @return float 返回数值
|
||||
* \endif
|
||||
* @param[in] frame Gyroscope frame.
|
||||
* @param[out] error Log error messages.
|
||||
* @return float Return the temperature value.
|
||||
*/
|
||||
float ob_gyro_frame_temperature(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief 增加引用计数
|
||||
* @brief Increase the reference count of a frame object.
|
||||
*
|
||||
* @param[in] frame 要增加引用计数的帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @param[in] frame Frame object to increase the reference count.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_frame_add_ref(ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief 创建空的帧对象
|
||||
* @brief Create an empty frame object based on the specified parameters.
|
||||
*
|
||||
* @param[in] frame_format 帧格式
|
||||
* @param[in] width 帧宽度
|
||||
* @param[in] height 帧高度
|
||||
* @param[in] stride_bytes 数据行跨度
|
||||
* @param[in] frame_type 帧类型
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_frame* 返回创建的帧对象
|
||||
* @param[in] frame_format Frame object format.
|
||||
* @param[in] width Frame object width.
|
||||
* @param[in] height Frame object height.
|
||||
* @param[in] stride_bytes Buffer row span.
|
||||
* @param[in] frame_type Frame object type.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_frame* Return an empty frame object.
|
||||
*/
|
||||
ob_frame *ob_create_frame(ob_format frame_format, int width, int height, int stride_bytes, ob_frame_type frame_type, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief 根据外部创建的Buffer创建帧对象
|
||||
* @brief Create a frame object based on an externally created buffer.
|
||||
*
|
||||
* @param[in] frame_format 帧格式
|
||||
* @param[in] frame_width 帧宽度
|
||||
* @param[in] frame_height 帧高度
|
||||
* @param[in] buffer 帧数据
|
||||
* @param[in] buffer_size 帧数据大小
|
||||
* @param[in] buffer_destroy_cb 自定义销毁buffer回调
|
||||
* @param[in] buffer_destroy_context 自定义销毁buffer回调用户数据
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_frame* 返回创建的帧对象
|
||||
* @param[in] frame_format Frame object format.
|
||||
* @param[in] frame_width Frame object width.
|
||||
* @param[in] frame_height Frame object height.
|
||||
* @param[in] buffer Frame object buffer.
|
||||
* @param[in] buffer_size Frame object buffer size.
|
||||
* @param[in] buffer_destroy_cb Destroy callback.
|
||||
* @param[in] buffer_destroy_context Destroy context.
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_frame* Return the frame object.
|
||||
*/
|
||||
ob_frame *ob_create_frame_from_buffer(ob_format frame_format, uint32_t frame_width, uint32_t frame_height, uint8_t *buffer, uint32_t buffer_size,
|
||||
ob_frame_destroy_callback *buffer_destroy_cb, void *buffer_destroy_context, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief 创建空的帧集合
|
||||
* @brief Create an empty frameset object.
|
||||
*
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_frame* 返回创建的帧集合对象
|
||||
* @param[out] error Log error messages.
|
||||
* @return ob_frame* Return the frameset object.
|
||||
*/
|
||||
ob_frame *ob_create_frameset(ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief push帧
|
||||
* @brief Add a frame of the specified type to the frameset.
|
||||
*
|
||||
* @param[in] frameset 帧集合对象
|
||||
* @param[in] type 帧类型
|
||||
* @param[in] frame 帧对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @param[in] frameset Frameset object.
|
||||
* @param[in] type Type of frame to add.
|
||||
* @param[in] frame Frame object to add.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_frameset_push_frame(ob_frame *frameset, ob_frame_type type, ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief 设置帧的系统时间戳
|
||||
* @brief Set the system timestamp of a frameset object.
|
||||
*
|
||||
* @param[in] frame 设置的帧对象
|
||||
* @param[in] systemTimestamp 设置的系统时间戳
|
||||
* @param[out] error 记录错误信息
|
||||
* @param[in] frame Frameset object to set the system timestamp for.
|
||||
* @param[in] system_timestamp System timestamp to set in milliseconds.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_frame_set_system_time_stamp(ob_frame *frame, uint64_t system_timestamp, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief 设置帧的设备时间戳
|
||||
* @brief Set the device timestamp of a frameset object.
|
||||
*
|
||||
* @param[in] frame 设置的帧对象
|
||||
* @param[in] deviceTimestamp 设置的设备时间戳
|
||||
* @param[out] error 记录错误信息
|
||||
* @param[in] frame Frameset object to set the device timestamp.
|
||||
* @param[in] device_timestamp Device timestamp to set in milliseconds.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_frame_set_device_time_stamp(ob_frame *frame, uint64_t device_timestamp, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief 设置帧的设备时间戳
|
||||
* @brief Set the device timestamp of a frameset object.
|
||||
*
|
||||
* @param[in] frame 设置的帧对象
|
||||
* @param[in] deviceTimestampUs 设置的设备时间戳(Us)
|
||||
* @param[out] error 记录错误信息
|
||||
* @param[in] frame Frameset object to set the device timestamp for.
|
||||
* @param[in] device_timestamp_us Device timestamp to set in microseconds.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_frame_set_device_time_stamp_us(ob_frame *frame, uint64_t device_timestamp_us, ob_error **error);
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,13 +1,8 @@
|
||||
/**
|
||||
* \if English
|
||||
* @file Pipeline.h
|
||||
* @brief The SDK's advanced API can quickly implement functions such as switching streaming, frame synchronization, software filtering, etc., suitable for
|
||||
* applications, and the algorithm focuses on rgbd data stream scenarios. If you are on real-time or need to handle synchronization separately, align the scene.
|
||||
* Please use the interface of Device's Lower API. \else
|
||||
* @file Pipeline.h
|
||||
* @brief SDK的高级API,可以快速实现开关流,帧同步,软件滤波等功能,适用于应用,算法重点关于rgbd数据流场景。如果对实时性或需要单独
|
||||
* 处理的同步,对齐的场景。请使用Device的Lower API的接口。
|
||||
* \endif
|
||||
* Please use the interface of Device's Lower API.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
@@ -18,556 +13,295 @@ extern "C" {
|
||||
#include "ObTypes.h"
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Create a pipeline object
|
||||
*
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_pipeline* returns the pipeline object
|
||||
* \else
|
||||
* @brief 创建pipeline对象
|
||||
*
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_pipeline* 返回pipeline对象
|
||||
* \endif
|
||||
* @return ob_pipeline* return the pipeline object
|
||||
*/
|
||||
ob_pipeline *ob_create_pipeline(ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Using device objects to create pipeline objects
|
||||
*
|
||||
* @param[in] dev Device object used to create pipeline
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_pipeline* returns the pipeline object
|
||||
* \else
|
||||
* @brief 使用设备对象来创建pipeline对象
|
||||
*
|
||||
* @param[in] dev 用于创建pipeline的设备对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_pipeline* 返回pipeline对象
|
||||
* \endif
|
||||
* @return ob_pipeline* return the pipeline object
|
||||
*/
|
||||
ob_pipeline *ob_create_pipeline_with_device(ob_device *dev, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Use the playback file to create a pipeline object
|
||||
*
|
||||
* @param[in] file_name The playback file path used to create the pipeline
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_pipeline* returns the pipeline object
|
||||
* \else
|
||||
* @brief 使用回放文件来创建pipeline对象
|
||||
*
|
||||
* @param[in] file_name 用于创建pipeline的回放文件路径
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_pipeline* 返回pipeline对象
|
||||
* \endif
|
||||
* @return ob_pipeline* return the pipeline object
|
||||
*/
|
||||
ob_pipeline *ob_create_pipeline_with_playback_file(const char *file_name, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Delete pipeline objects
|
||||
*
|
||||
* @param[in] pipeline The pipeline object to be deleted
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 删除pipeline对象
|
||||
*
|
||||
* @param[in] pipeline 要删除的pipeline对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_delete_pipeline(ob_pipeline *pipeline, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Start the pipeline with default parameters
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 以默认参数启动pipeline
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_pipeline_start(ob_pipeline *pipeline, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Start the pipeline with configuration parameters
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] config Parameters to be configured
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 启动pipeline并配置参数
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[in] config 要配置的参数
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_pipeline_start_with_config(ob_pipeline *pipeline, ob_config *config, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Start the pipeline and set the frame collection data callback
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] config Parameters to be configured
|
||||
* @param[in] callback Trigger a callback when all frame data in the frame set arrives
|
||||
* @param[in] callback Trigger a callback when all frame data in the frameset arrives
|
||||
* @param[in] user_data Pass in any user data and get it from the callback
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 启动pipeline并设置帧集合数据回调
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[in] config 要配置的参数
|
||||
* @param[in] callback 帧集合中的所有帧数据都到达时触发回调
|
||||
* @param[in] user_data 可以传入任意用户数据,并从回调中获取
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_pipeline_start_with_callback(ob_pipeline *pipeline, ob_config *config, ob_frameset_callback callback, void *user_data, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Stop pipeline
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 停止pipeline
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_pipeline_stop(ob_pipeline *pipeline, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get current pipeline parameters
|
||||
* @brief Get the configuration object associated with the pipeline
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_config* returns pipeline parameters
|
||||
* \else
|
||||
* @brief 获取pipeline当前参数
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_config* 返回pipeline参数
|
||||
* \endif
|
||||
* @return ob_config* The configuration object
|
||||
*/
|
||||
ob_config *ob_pipeline_get_config(ob_pipeline *pipeline, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Waiting for the return of a set of frames in the form of synchronous blocking
|
||||
* @brief Wait for a set of frames to be returned synchronously
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] timeout_ms Waiting timeout (ms)
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[in] timeout_ms The timeout for waiting (in milliseconds)
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_frame* returns the waiting frameset, frameset is a special frame, you can use the frameset related interface to obtain the independent frame in
|
||||
* the set \else
|
||||
* @brief 以同步阻塞的形式等待返回一组帧集合
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[in] timeout_ms 等待超时时间(毫秒)
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_frame* 返回等待的帧集合frameset,frameset是特殊的frame,可以使用frameset相关接口获取集合内的独立frame
|
||||
* \endif
|
||||
* @return ob_frame* The frameset that was waited for. A frameset is a special frame that can be used to obtain independent frames from the set.
|
||||
*/
|
||||
ob_frame *ob_pipeline_wait_for_frameset(ob_pipeline *pipeline, uint32_t timeout_ms, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get device from the pipeline
|
||||
* @brief Get the device object associated with the pipeline
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_device* returns the device object
|
||||
* \else
|
||||
* @brief 从pipeline中获取设备
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_device* 返回设备对象
|
||||
* \endif
|
||||
* @return ob_device* The device object
|
||||
*/
|
||||
ob_device *ob_pipeline_get_device(ob_pipeline *pipeline, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get playback object from pipeline
|
||||
* @brief Get the playback object associated with the pipeline
|
||||
*
|
||||
* @param[in] pipeline pipeline objet
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_playback* returns the playback object
|
||||
* \else
|
||||
* @brief 从pipeline中获取回放对象
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_playback* 返回回放对象
|
||||
* \endif
|
||||
* @return ob_playback* The playback object
|
||||
*/
|
||||
ob_playback *ob_pipeline_get_playback(ob_pipeline *pipeline, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get stream profile from the pipeline
|
||||
* @brief Get the stream profile list associated with the pipeline
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] sensor_type sensor type, the sensor_type type supported by the camera can be obtained through the ob_device_get_sensor_list() interface
|
||||
* @param[out] profile_count The number of stream configurations obtained
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[in] sensorType The sensor type. The supported sensor types can be obtained through the ob_device_get_sensor_list() interface.
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_stream_profile_list* returns to the stream profile list
|
||||
* \else
|
||||
* @brief 获取传感器相应的流配置
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[in] sensor_type 传感器类型 ,相机支持的sensor_type类型可通过ob_device_get_sensor_list()接口获知
|
||||
* @param[out] profile_count 获取的流配置数量
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_stream_profile_list* 返回流配置列表
|
||||
* \endif
|
||||
* @return ob_stream_profile_list* The stream profile list
|
||||
*/
|
||||
ob_stream_profile_list *ob_pipeline_get_stream_profile_list(ob_pipeline *pipeline, ob_sensor_type sensorType, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Enable frame synchronization
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 打开帧同步功能
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_pipeline_enable_frame_sync(ob_pipeline *pipeline, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Disable frame synchronization
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 关闭帧同步功能
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_pipeline_disable_frame_sync(ob_pipeline *pipeline, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Dynamically switch the corresponding config configuration
|
||||
* @brief Dynamically switch the corresponding configuration
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] config pipeline configuration
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[in] config The pipeline configuration
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 动态切换对应的config配置
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[in] config pipeline的配置
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_pipeline_switch_config(ob_pipeline *pipeline, ob_config *config, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get current camera parameters
|
||||
* @attention If D2C is enabled, it will return the camera parameters after D2C, if not, it will return to the default parameters
|
||||
* @brief Get the current camera parameters
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @attention If D2C is enabled, it will return the camera parameters after D2C. Otherwise, it will return the default parameters.
|
||||
*
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_camera_param returns camera internal parameters
|
||||
* \else
|
||||
* @brief 获取当前相机参数
|
||||
* @attention 如果开启了D2C将返回D2C后的相机参数
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_camera_param 返回相机内参
|
||||
* \endif
|
||||
* @return ob_camera_param The camera internal parameters
|
||||
*/
|
||||
ob_camera_param ob_pipeline_get_camera_param(ob_pipeline *pipeline, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Returns a list of D2C-enabled depth sensor resolutions corresponding to the input color sensor resolution
|
||||
* @brief Return a list of D2C-enabled depth sensor resolutions corresponding to the input color sensor resolution
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] color_profile Input resolution of Color Sensor
|
||||
* @param[in] align_mode Input align mode
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[in] color_profile The input profile of the color sensor
|
||||
* @param[in] align_mode The input align mode
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_stream_profile_list*
|
||||
* \else
|
||||
* @brief 返回与输入的彩色传感器分辨率对应的支持D2C的深度传感器分辨率列表
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[in] color_profile 输入的Color Sensor的分辨率
|
||||
* @param[in] align_mode 输入的对齐模式
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_stream_profile_list*
|
||||
* \endif
|
||||
* @return ob_stream_profile_list* The list of D2C-enabled depth sensor resolutions
|
||||
*/
|
||||
ob_stream_profile_list *ob_get_d2c_depth_profile_list(ob_pipeline *pipeline, ob_stream_profile *color_profile, ob_align_mode align_mode, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get valid area after D2C (DEPRECATED)
|
||||
* @brief Get the valid area after D2C (DEPRECATED)
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] distance working distance
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[in] distance The working distance
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_rect returns the area information valid after D2C at working distance
|
||||
* \else
|
||||
* @brief 获取D2C后有效的区域 (废弃接口)
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[in] distance 工作距离
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_rect 返回在工作距离下D2C后有效的区域信息
|
||||
* \endif
|
||||
* @return ob_rect The area information that is valid after D2C at the working distance
|
||||
*/
|
||||
ob_rect ob_get_d2c_valid_area(ob_pipeline *pipeline, uint32_t distance, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get valid area between minimum distance and maximum distance after D2C
|
||||
* @brief Get the valid area between the minimum distance and maximum distance after D2C
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] minimum_distance minimum working distance
|
||||
* @param[in] maximum_distance maximum working distance
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[in] minimum_distance The minimum working distance
|
||||
* @param[in] maximum_distance The maximum working distance
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_rect returns the area information valid after D2C at working distance
|
||||
* \else
|
||||
* @brief 获取D2C后有效的区域。
|
||||
* 如果需要获取指定距离D2C后的ROI区域,将minimum_distance与maximum_distance设置成一样或者将maximum_distance设置成0
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[in] minimum_distance 最小工作距离
|
||||
* @param[in] maximum_distance 最大工作距离
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_rect 返回在工作距离下D2C后有效的区域信息
|
||||
* \endif
|
||||
* @return ob_rect The area information that is valid after D2C at the working distance
|
||||
*/
|
||||
ob_rect ob_get_d2c_range_valid_area(ob_pipeline *pipeline, uint32_t minimum_distance, uint32_t maximum_distance, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Start recording
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] file_name Recorded file path
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[in] file_name The recorded file path
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 开启录制
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[in] file_name 录制的文件路径
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_pipeline_start_record(ob_pipeline *pipeline, const char *file_name, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Turn off recording
|
||||
* @brief Stop recording
|
||||
*
|
||||
* @param[in] pipeline pipeline object
|
||||
* @param[in] pipeline The pipeline object
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 关闭录制
|
||||
*
|
||||
* @param[in] pipeline pipeline对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
|
||||
void ob_pipeline_stop_record(ob_pipeline *pipeline, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Create the pipeline configuration
|
||||
*
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_config* returns the configuration object
|
||||
* \else
|
||||
* @brief 创建pipeline的配置
|
||||
*
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_config* 返回配置对象
|
||||
* \endif
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_config* The configuration object
|
||||
*/
|
||||
ob_config *ob_create_config(ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Delete the pipeline configuration
|
||||
*
|
||||
* @param[in] config Configuration to be deleted
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 删除pipeline的配置
|
||||
*
|
||||
* @param[in] config 要删除的配置
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] config The configuration to be deleted
|
||||
* @param[out] error Log error messages
|
||||
*/
|
||||
void ob_delete_config(ob_config *config, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Configure the stream to be enabled
|
||||
* @brief Enable the specified stream in the pipeline configuration
|
||||
*
|
||||
* @param[in] config Configuration of pipeline
|
||||
* @param[in] profile The configuration of the stream to be opened
|
||||
* @param[in] config The pipeline configuration
|
||||
* @param[in] profile The stream configuration to be enabled
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 配置要打开的流
|
||||
*
|
||||
* @param[in] config pipeline的配置
|
||||
* @param[in] profile 要打开的流的配置
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_config_enable_stream(ob_config *config, ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Configure all streams to be enabled
|
||||
* @brief Enable all streams in the pipeline configuration
|
||||
*
|
||||
* @param[in] config Configuration of pipeline
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 配置打开所有的流
|
||||
*
|
||||
* @param[in] config pipeline的配置
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] config The pipeline configuration
|
||||
* @param[out] error Log error messages
|
||||
*/
|
||||
void ob_config_enable_all_stream(ob_config *config, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Configure the stream to be disabled
|
||||
* @brief Disable a specific stream in the pipeline configuration
|
||||
*
|
||||
* @param[in] config Configuration of pipeline
|
||||
* @param[in] profile The configuration of the stream to be closed
|
||||
* @param[in] config The pipeline configuration
|
||||
* @param[in] type The type of stream to be disabled
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 配置要关闭的流
|
||||
*
|
||||
* @param[in] config pipeline的配置
|
||||
* @param[in] profile 要关闭的流的配置
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_config_disable_stream(ob_config *config, ob_stream_type type, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Configure all streams to be disabled
|
||||
* @brief Disable all streams in the pipeline configuration
|
||||
*
|
||||
* @param[in] config Configuration of pipeline
|
||||
* @param[in] config The pipeline configuration
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 配置关闭所有的流
|
||||
*
|
||||
* @param[in] config pipeline的配置
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_config_disable_all_stream(ob_config *config, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set the alignment mode
|
||||
* @brief Set the alignment mode for the pipeline configuration
|
||||
*
|
||||
* @param[in] config config object
|
||||
* @param[in] mode alignment mode
|
||||
* @param[in] config The pipeline configuration
|
||||
* @param[in] mode The alignment mode to be set
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置对齐模式
|
||||
*
|
||||
* @param[in] config config对象
|
||||
* @param[in] mode 对齐模式
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_config_set_align_mode(ob_config *config, ob_align_mode mode, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Whether the depth needs to be scaled after setting D2C
|
||||
* @brief Set whether depth scaling is required after setting D2C
|
||||
*
|
||||
* @param[in] config config object
|
||||
* @param[in] config The pipeline configuration
|
||||
* @param[in] enable Whether scaling is required
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置D2C后是否需要缩放深度
|
||||
*
|
||||
* @param[in] config config对象
|
||||
* @param[in] enable 是否需要缩放
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_config_set_depth_scale_require(ob_config *config, bool enable, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set the D2C target resolution, which is applicable to cases where the Color stream is not enabled using the OrbbecSDK and the depth needs to be D2C
|
||||
* Note: When you use OrbbecSDK to enable the Color stream, you also use this interface to set the D2C target resolution. The configuration of the enabled Color
|
||||
* stream is preferred for D2C
|
||||
* @brief Set the target resolution for D2C, which is applicable when the color stream is not enabled using the OrbbecSDK and the depth needs to be D2C
|
||||
* Note: When using the OrbbecSDK to enable the color stream, this interface should also be used to set the D2C target resolution. The configuration of the
|
||||
* enabled color stream is preferred for D2C.
|
||||
*
|
||||
* @param[in] config config object
|
||||
* @param[in] d2c_target_width The D2C target has a wide resolution
|
||||
* @param[in] d2c_target_height The D2C targets has a high resolution
|
||||
* @param[in] config The pipeline configuration
|
||||
* @param[in] d2c_target_width The target width for D2C
|
||||
* @param[in] d2c_target_height The target height for D2C
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 设置D2C目标分辨率,适用于未使用OrbbecSDK开启Color流,且需要对深度进行D2C的情况
|
||||
* 注意:当使用OrbbecSDK开启Color流时,同时使用了此接口设置了D2C目标分辨率时。优先使用开启的Color流的配置进行D2C。
|
||||
*
|
||||
* @param[in] config config对象
|
||||
* @param[in] d2c_target_width D2C目标分辨率宽
|
||||
* @param[in] d2c_target_height D2C目标分辨率高
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
*/
|
||||
void ob_config_set_d2c_target_resolution(ob_config *config, uint32_t d2c_target_width, uint32_t d2c_target_height, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Frame aggregation output mode
|
||||
* @brief Set the frame aggregation output mode for the pipeline configuration
|
||||
* @brief The processing strategy when the FrameSet generated by the frame aggregation function does not contain the frames of all opened streams (which
|
||||
* can be caused by different frame rates of each stream, or by the loss of frames of one stream): drop directly or output to the user
|
||||
* can be caused by different frame rates of each stream, or by the loss of frames of one stream): drop directly or output to the user.
|
||||
*
|
||||
* @param config config object
|
||||
* @param mode frame aggregation output mode(default mode is @ref OB_FRAME_AGGREGATE_OUTPUT_ANY_SITUATION)
|
||||
* @param error Log error messages
|
||||
* \else
|
||||
* @brief 数据帧汇聚输出模式
|
||||
* @brief 用于控制帧汇聚功能生成的FrameSet不包含所有已开启数据流的数据帧时(各路流帧率不同、或者某路流丢帧会导致这样的情况)的处理策略:直接丢弃或者输出给用户
|
||||
*
|
||||
* @param config config对象
|
||||
* @param mode 数据帧汇聚输出模式(默认模式为 @ref OB_FRAME_AGGREGATE_OUTPUT_ANY_SITUATION)
|
||||
* @param error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] config The pipeline configuration
|
||||
* @param[in] mode The frame aggregation output mode to be set (default mode is @ref OB_FRAME_AGGREGATE_OUTPUT_ANY_SITUATION)
|
||||
* @param[out] error Log error messages
|
||||
*/
|
||||
void ob_config_set_frame_aggregate_output_mode(ob_config *config, ob_frame_aggregate_output_mode mode, ob_error **error);
|
||||
|
||||
|
||||
@@ -2,13 +2,8 @@
|
||||
// Copyright(c) 2020 Orbbec Corporation. All Rights Reserved.
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @file Property.h
|
||||
* @brief Control command property list maintenance
|
||||
* \else
|
||||
* @file Property.h
|
||||
* @brief 控制命令属性列表维护
|
||||
* \endif
|
||||
*/
|
||||
|
||||
#ifdef OB_SENSOR_SDK_DEVELOPER
|
||||
@@ -24,173 +19,590 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Enumeration value describing all attribute control commands of the device
|
||||
* \else
|
||||
* @brief 描述设备所有的属性控制命令的枚举值
|
||||
* \endif
|
||||
*/
|
||||
typedef enum {
|
||||
OB_PROP_LDP_BOOL = 2, /**< \if English LDP switch \else LDP开关 \endif */
|
||||
OB_PROP_LASER_BOOL = 3, /**< \if English Laser switch \else 激光开关 \endif */
|
||||
OB_PROP_LASER_PULSE_WIDTH_INT = 4, /**< \if English Read and write laser Time value (pulse width) \else 读写激光Time值(脉宽) \endif */
|
||||
OB_PROP_LASER_CURRENT_FLOAT = 5, /**< \if English Laser current \else 激光电流 \endif */
|
||||
OB_PROP_FLOOD_BOOL = 6, /**< \if English IR flood switch \else 泛光灯开关 \endif */
|
||||
OB_PROP_FLOOD_LEVEL_INT = 7, /**< \if English IR flood level \else 泛光灯等级 \endif */
|
||||
OB_PROP_DEPTH_MIRROR_BOOL = 14, /**< \if English Depth mirror \else 深度镜像 \endif */
|
||||
OB_PROP_DEPTH_FLIP_BOOL = 15, /**< \if English Depth flip \else 深度翻转 \endif */
|
||||
OB_PROP_DEPTH_POSTFILTER_BOOL = 16, /**< \if English Depth Postfilter \else 深度Postfilter \endif */
|
||||
OB_PROP_DEPTH_HOLEFILTER_BOOL = 17, /**< \if English Depth Holefilter \else 深度Holefilter \endif */
|
||||
OB_PROP_IR_MIRROR_BOOL = 18, /**< \if English IR mirror \else IR 镜像 \endif */
|
||||
OB_PROP_IR_FLIP_BOOL = 19, /**< \if English IR flip \else IR 翻转 \endif */
|
||||
OB_PROP_MIN_DEPTH_INT = 22, /**< \if English Minimum depth threshold \else 最小深度阈值 \endif */
|
||||
OB_PROP_MAX_DEPTH_INT = 23, /**< \if English Maximum depth threshold \else 最大深度阈值 \endif */
|
||||
OB_PROP_DEPTH_SOFT_FILTER_BOOL = 24, /**< \if English Software filter switch \else 软件滤波开关 \endif */
|
||||
OB_PROP_LDP_STATUS_BOOL = 32, /**< \if English LDP status \else LDP状态 \endif */
|
||||
OB_PROP_DEPTH_MAX_DIFF_INT = 40, /**< soft filter maxdiff param */
|
||||
OB_PROP_DEPTH_MAX_SPECKLE_SIZE_INT = 41, /**< soft filter maxSpeckleSize */
|
||||
OB_PROP_DEPTH_ALIGN_HARDWARE_BOOL = 42, /**< \if English Hardware d2c is on \else 硬件d2c开 \endif */
|
||||
OB_PROP_TIMESTAMP_OFFSET_INT = 43, /**< \if English Timestamp adjustment \else 时间戳调校 \endif */
|
||||
OB_PROP_HARDWARE_DISTORTION_SWITCH_BOOL = 61, /**< \if English Hardware distortion switch Rectify \else 硬件去畸变开关 Rectify \endif */
|
||||
OB_PROP_FAN_WORK_MODE_INT = 62, /**< \if English Fan mode switch \else 风扇开关模式 \endif */
|
||||
OB_PROP_DEPTH_ALIGN_HARDWARE_MODE_INT = 63, /**< \if English Multi-resolution D2C mode \else 多分辨率D2C模式 \endif */
|
||||
OB_PROP_ANTI_COLLUSION_ACTIVATION_STATUS_BOOL = 64, /**< \if English Anti_collusion activation status \else 防串货状态 \endif */
|
||||
OB_PROP_DEPTH_PRECISION_LEVEL_INT =
|
||||
75, /**< \if English The depth precision level, which may change the depth frame data unit, needs to be confirmed through the ValueScale interface of
|
||||
DepthFrame \else 深度精度等级,可能会改变深度帧数据单位,需要通过DepthFrame的ValueScale接口确认 \endif */
|
||||
OB_PROP_TOF_FILTER_RANGE_INT = 76, /**< \if English tof filter range configuration \else tof滤波场景范围配置 \endif */
|
||||
OB_PROP_LASER_MODE_INT = 79, /**< \if English laser mode, the firmware terminal currently only returns 1: IR Drive, 2: Torch \else
|
||||
激光点亮模式,固件端目前只返回 1: IR Drive, 2: Torch \endif */
|
||||
OB_PROP_RECTIFY2_BOOL = 80, /**< \if English brt2r-rectify function switch (brt2r is a special module on mx6600), 0: Disable, 1: Rectify Enable \else
|
||||
brt2r-rectify功能开关(brt2r是mx6600上的一个特殊模块),0:关闭, 1:打开 \endif */
|
||||
OB_PROP_COLOR_MIRROR_BOOL = 81, /**< \if English Color mirror \else 彩色镜像 \endif */
|
||||
OB_PROP_COLOR_FLIP_BOOL = 82, /**< \if English Color flip \else 彩色翻转 \endif */
|
||||
OB_PROP_INDICATOR_LIGHT_BOOL = 83, /**< \if English Indicator switch, 0: Disable, 1: Enable \else 指示灯开关,0:关闭, 1:打开 \endif */
|
||||
OB_PROP_DISPARITY_TO_DEPTH_BOOL =
|
||||
85, /**< \if English Disparity to depth switch, 0: off, the depth stream outputs the disparity map; 1. On, the depth stream outputs the depth map. \else
|
||||
视差转深度开关, 0:关闭,深度流输出视差图; 1. 打开,深度流输出深度图 \endif */
|
||||
OB_PROP_BRT_BOOL =
|
||||
86, /**< \if English BRT function switch (anti-background interference), 0: Disable, 1: Enable \else BRT功能开关(抗背景干扰),0:关闭, 1:打开 \endif */
|
||||
OB_PROP_WATCHDOG_BOOL = 87, /**< \if English Watchdog function switch, 0: Disable, 1: Enable \else 看门狗功能开关,0:关闭, 1:打开 \endif */
|
||||
OB_PROP_EXTERNAL_SIGNAL_RESET_BOOL =
|
||||
88, /**< \if English External signal trigger restart function switch, 0: Disable, 1: Enable \else 外部信号触发重启功能开关,0:关闭, 1:打开 \endif */
|
||||
OB_PROP_HEARTBEAT_BOOL = 89, /**< \if English Heartbeat monitoring function switch, 0: Disable, 1: Enable \else 心跳监测功能开关,0:关闭, 1:打开 \endif */
|
||||
OB_PROP_DEPTH_CROPPING_MODE_INT =
|
||||
90, /**< \if English Depth cropping mode device: OB_DEPTH_CROPPING_MODE \else 深度裁剪模式设备: OB_DEPTH_CROPPING_MODE \endif */
|
||||
OB_PROP_D2C_PREPROCESS_BOOL =
|
||||
91, /**< \if English D2C preprocessing switch (such as RGB cropping), 0: off, 1: on \else D2C前处理开关(如RGB裁剪),0:关闭,1:打开 \endif */
|
||||
OB_PROP_RGB_CUSTOM_CROP_BOOL = 94, /**< \if English Custom RGB cropping switch, 0 is off, 1 is on custom cropping, and the ROI cropping area is issued \else
|
||||
自定义RGB裁剪开关,0为关闭,1为开启自定义裁剪,下发ROI裁剪区域\endif */
|
||||
/**
|
||||
* @brief LDP switch
|
||||
*/
|
||||
OB_PROP_LDP_BOOL = 2,
|
||||
|
||||
OB_PROP_DEVICE_WORK_MODE_INT = 95, /**< \if English Device operating mode (power consumption) \else 设备工作模式(功耗) \endif */
|
||||
OB_PROP_DEVICE_COMMUNICATION_TYPE_INT = 97, /**< \if English Device communication type, 0: USB; 1: Ethernet(RTSP) \else 设备通信方式 0: USB; 1: Ethernet(RTSP)*/
|
||||
OB_PROP_SWITCH_IR_MODE_INT = 98, /**< \if English Switch IR mode, 0: IR active mode, 1: IR passive mode \else 切换IR模式,0为主动IR模式,1为被动IR模式 \endif */
|
||||
OB_PROP_LASER_ENERGY_LEVEL_INT = 99, /**< \if English Laser energy level \else 激光能量层级 \endif */
|
||||
OB_PROP_LDP_MEASURE_DISTANCE_INT = 100, /**< \if English LDP's measure distance, unit: mm \else 获取激光近距离保护的测量值,单位:mm \endif */
|
||||
OB_PROP_TIMER_RESET_SIGNAL_BOOL = 104, /**< \if English Reset device time to zero \else 触发设备时间归零 \endif */
|
||||
OB_PROP_TIMER_RESET_TRIGGLE_OUT_ENABLE_BOOL = 105, /**< \if English Enable send reset device time signal to other device. true: enable, false: disable \else 向外发送时间归零信号开关, true:打开, false: 关闭; 默认为true \endif */
|
||||
OB_PROP_TIMER_RESET_DELAY_US_INT = 106, /**< \if English Delay to reset device time, unit: us \else 设置硬件时间归零延迟时间, 单位: 微妙 \endif */
|
||||
OB_PROP_CAPTURE_IMAGE_SIGNAL_BOOL = 107, /**< \if English Signal to capture image \else 软触发信号, 触发抓拍图片 \endif */
|
||||
OB_PROP_IR_RIGHT_MIRROR_BOOL = 112, /**< \if English Right IR sensor mirror state \else 右IR的镜像 \endif */
|
||||
OB_PROP_CAPTURE_IMAGE_FRAME_NUMBER_INT = 113, /**< \if English Number frame to capture once a 'OB_PROP_CAPTURE_IMAGE_SIGNAL_BOOL' effect. range: [1, 255] \else 单次软触发抓拍的帧数, 范围:[1, 255] \endif */
|
||||
OB_PROP_IR_RIGHT_FLIP_BOOL = 114, /**< \if English Right IR sensor flip state. true: flip image, false: origin, default: false \else 右IR的翻转, true:翻转,false:不翻转;默认为false \endif */
|
||||
OB_PROP_COLOR_ROTATE_INT = 115, /**< \if English Color sensor rotation, angle{0, 90, 180, 270} \else 彩色旋转, 翻转角度范围{0, 90, 180, 270}, 默认为0 \endif */
|
||||
OB_PROP_IR_ROTATE_INT = 116, /**< \if English IR/Left-IR sensor rotation, angle{0, 90, 180, 270} \else IR旋转, 翻转角度范围{0, 90, 180, 270}, 默认为0 \endif */
|
||||
OB_PROP_IR_RIGHT_ROTATE_INT = 117, /**< \if English Right IR sensor rotation, angle{0, 90, 180, 270} \else 右IR旋转, 翻转角度范围{0, 90, 180, 270}, 默认为0 \endif */
|
||||
OB_PROP_DEPTH_ROTATE_INT = 118, /**< \if English Depth sensor rotation, angle{0, 90, 180, 270} \else 深度旋转, 翻转角度范围{0, 90, 180, 270}, 默认为0 \endif */
|
||||
OB_PROP_LASER_HW_ENERGY_LEVEL_INT =
|
||||
119, /**< \if Get hardware laser energy level which real state of laser element. OB_PROP_LASER_ENERGY_LEVEL_INT(99)will effect this command which it setting and changed the hardware laser energy level. \else 查询激光硬件的实际能量层级, OB_PROP_LASER_ENERGY_LEVEL_INT(99)指令用于设置能级,该指令用于查询设置后硬件实际能级 \endif*/
|
||||
OB_PROP_USB_POWER_STATE_INT = 121, /**< \if USB's power state, enum type: OBUSBPowerState \else USB供电状态,状态值枚举: OBUSBPowerState \endif */
|
||||
OB_PROP_DC_POWER_STATE_INT = 122, /**< \if DC's power state, enum type: OBDCPowerState \else DC供电状态,状态值枚举: OBDCPowerState \endif */
|
||||
/**
|
||||
* @brief Laser switch
|
||||
*/
|
||||
OB_PROP_LASER_BOOL = 3,
|
||||
|
||||
OB_STRUCT_BASELINE_CALIBRATION_PARAM = 1002, /**< \if English Baseline calibration parameters \else 基线标定参数 \endif */
|
||||
OB_STRUCT_DEVICE_TEMPERATURE = 1003, /**< \if English Device temperature information \else 设备温度信息 \endif */
|
||||
OB_STRUCT_TOF_EXPOSURE_THRESHOLD_CONTROL = 1024, /**< \if English TOF exposure threshold range \else TOF曝光阈值范围 \endif */
|
||||
OB_STRUCT_DEVICE_SERIAL_NUMBER = 1035, /**< \if English get/set serial number \else 获取/设置序列号 \endif */
|
||||
OB_STRUCT_DEVICE_TIME = 1037, /**< \if English get/set device time \else 获取/设置设备时间 \endif */
|
||||
OB_STRUCT_MULTI_DEVICE_SYNC_CONFIG =
|
||||
1038, /**< \if English Multi-device synchronization mode and parameter configuration \else 多设备同步模式和参数配置 \endif */
|
||||
OB_STRUCT_RGB_CROP_ROI = 1040, /**< \if English RGB cropping ROI \else RGB裁剪ROI \endif */
|
||||
OB_STRUCT_DEVICE_IP_ADDR_CONFIG = 1041, /**< \if English Config device's IP address \else 设备ip地址配置 \endif */
|
||||
OB_STRUCT_CURRENT_DEPTH_ALG_MODE = 1043, /**< \if English Current depth work mode state \else 当前的相机深度模式 \endif */
|
||||
OB_STRUCT_DEPTH_PRECISION_SUPPORT_LIST = 1045, /**< \if English List of depth precision level, return: uint16_t array, unit16_t is value of enum OBDepthPrecisionLevel \else 深度精度等级列表,返回uin16_t数组,对应精度等级的枚举定义,枚举:OBDepthPrecisionLevel \endif */
|
||||
/**
|
||||
* @brief laser pulse width
|
||||
*/
|
||||
OB_PROP_LASER_PULSE_WIDTH_INT = 4,
|
||||
|
||||
OB_PROP_COLOR_AUTO_EXPOSURE_BOOL = 2000, /**< \if English Color camera auto exposure \else 彩色相机自动曝光 \endif */
|
||||
OB_PROP_COLOR_EXPOSURE_INT = 2001, /**< \if English Color camera exposure adjustment \else 彩色相机曝光调节 \endif */
|
||||
OB_PROP_COLOR_GAIN_INT = 2002, /**< \if English Color camera gain adjustment \else 彩色相机增益调节 \endif */
|
||||
OB_PROP_COLOR_AUTO_WHITE_BALANCE_BOOL = 2003, /**< \if English Color camera automatic white balance \else 彩色相机自动白平衡 \endif */
|
||||
OB_PROP_COLOR_WHITE_BALANCE_INT = 2004, /**< \if English Color camera white balance adjustment \else 彩色相机白平衡调节 \endif */
|
||||
OB_PROP_COLOR_BRIGHTNESS_INT = 2005, /**< \if English Color camera brightness adjustment \else 彩色相机亮度调节 \endif */
|
||||
OB_PROP_COLOR_SHARPNESS_INT = 2006, /**< \if English Color camera sharpness adjustment \else 彩色相机锐度调节 \endif */
|
||||
OB_PROP_COLOR_SATURATION_INT = 2008, /**< \if English Color camera saturation adjustment \else 彩色相机饱和度调节 \endif */
|
||||
OB_PROP_COLOR_CONTRAST_INT = 2009, /**< \if English Color camera contrast adjustment \else 彩色相机对比度调节 \endif */
|
||||
OB_PROP_COLOR_GAMMA_INT = 2010, /**< \if English Color camera gamma adjustment \else 彩色相机伽马值调节 \endif */
|
||||
OB_PROP_COLOR_ROLL_INT = 2011, /**< \if English Color camera image rotation\else 彩色相机图像旋转 \endif */
|
||||
OB_PROP_COLOR_AUTO_EXPOSURE_PRIORITY_INT = 2012, /**< \if English Color camera auto exposure priority \else 彩色相机自动曝光优先 \endif */
|
||||
OB_PROP_COLOR_BACKLIGHT_COMPENSATION_INT = 2013, /**< \if English Color camera brightness compensation \else 彩色相机亮度补偿 \endif */
|
||||
OB_PROP_COLOR_HUE_INT = 2014, /**< \if English color camera color tint \else 彩色相机彩色色调 \endif */
|
||||
OB_PROP_COLOR_POWER_LINE_FREQUENCY_INT = 2015, /**< \if English Color Camera Power Line Frequency \else 彩色相机电力线路频率 \endif */
|
||||
OB_PROP_DEPTH_AUTO_EXPOSURE_BOOL = 2016, /**< \if English Automatic exposure of depth camera (infrared camera will be set synchronously under some models of
|
||||
devices) \else 深度相机自动曝光(某些型号设备下会同步设置红外相机) \endif */
|
||||
OB_PROP_DEPTH_EXPOSURE_INT = 2017, /**< \if English Depth camera exposure adjustment (infrared cameras will be set synchronously under some models of
|
||||
devices) \else 深度相机曝光调节(某些型号设备下会同步设置红外相机) \endif */
|
||||
OB_PROP_DEPTH_GAIN_INT = 2018, /**< \if English Depth camera gain adjustment (infrared cameras will be set synchronously under some models of devices) \else
|
||||
深度相机增益调节(某些型号设备下会同步设置红外相机) \endif */
|
||||
OB_PROP_GYRO_ODR_INT = 2021, /**< \if English get/set current gyro sample rate \else get/set当前陀螺仪的采样率 \endif */
|
||||
OB_PROP_ACCEL_ODR_INT = 2022, /**< \if English get/set current accel sample rate \else get/set当前加速度计的采样率 \endif */
|
||||
OB_PROP_GYRO_FULL_SCALE_INT = 2023, /**< \if English get/set current gyro full scale range \else get/set当前陀螺仪的量程 \endif */
|
||||
OB_PROP_ACCEL_FULL_SCALE_INT = 2024, /**< \if English get/set current accel full scale range \else get/set当前加速度计的量程 \endif */
|
||||
OB_PROP_IR_AUTO_EXPOSURE_BOOL = 2025, /**< \if English Infrared camera auto exposure (depth camera will be set synchronously under some models of devices)
|
||||
\else 红外相机自动曝光(某些型号设备下会同步设置深度相机) \endif */
|
||||
OB_PROP_IR_EXPOSURE_INT = 2026, /**< \if English Infrared camera exposure adjustment (some models of devices will set the depth camera synchronously) \else
|
||||
红外相机曝光调节(某些型号设备下会同步设置深度相机) \endif */
|
||||
OB_PROP_IR_GAIN_INT = 2027, /**< \if English Infrared camera gain adjustment (the depth camera will be set synchronously under some models of devices) \else
|
||||
红外相机增益调节(某些型号设备下会同步设置深度相机) \endif */
|
||||
OB_PROP_IR_CHANNEL_DATA_SOURCE_INT = 2028, /**< \if English Select Infrared camera data source channel. If not support throw exception. 0 : IR stream from IR Left sensor; 1 : IR stream from IR Left sensor; \else 读写IR通道的输出目标sensor,不支持时返回错误。0: 左侧IR sensor,1: 右侧IR sensor; \endif */
|
||||
OB_PROP_DEPTH_RM_FILTER_BOOL = 2029, /**< 深度效果去畸变, true:打开,false:关闭, 与D2C功能互斥。软硬件D2C开启时,不能使用mask功能 */
|
||||
/**
|
||||
* @brief Laser current (uint: mA)
|
||||
*/
|
||||
OB_PROP_LASER_CURRENT_FLOAT = 5,
|
||||
|
||||
OB_PROP_SDK_DISPARITY_TO_DEPTH_BOOL = 3004, /**< \if English Software disparity to depth \else 视差转深度 \endif */
|
||||
OB_PROP_SDK_DEPTH_FRAME_UNPACK_BOOL =
|
||||
3007, /**< \if English Depth data unpacking function switch (each open stream will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format) \else
|
||||
Depth数据解包功能开关(每次开流都会默认打开,支持RLE/Y10/Y11/Y12/Y14格式) \endif */
|
||||
OB_PROP_SDK_IR_FRAME_UNPACK_BOOL =
|
||||
3008, /**< \if English IR data unpacking function switch (each current will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format) \else
|
||||
Ir数据解包功能开关(每次开流都会默认打开,支持RLE/Y10/Y11/Y12/Y14格式) \endif */
|
||||
OB_PROP_SDK_ACCEL_FRAME_TRANSFORMED_BOOL = 3009, /**< Accel数据转换功能开关(默认打开) */
|
||||
OB_PROP_SDK_GYRO_FRAME_TRANSFORMED_BOOL = 3010, /**< Gyro数据转换功能开关(默认打开) */
|
||||
OB_PROP_SDK_IR_LEFT_FRAME_UNPACK_BOOL = 3011, /**< \if English left IR data unpacking function switch (each open stream will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format)\else [左]Ir数据解包功能开关(每次开流都会默认打开,支持RLE/Y10/Y11/Y12/Y14格式) \endif */
|
||||
OB_PROP_SDK_IR_RIGHT_FRAME_UNPACK_BOOL = 3012, /**< \if English right IR data unpacking function switch (each open stream will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format)\else [右]Ir数据解包功能开关(每次开流都会默认打开,支持RLE/Y10/Y11/Y12/Y14格式) \endif */
|
||||
OB_RAW_DATA_CAMERA_CALIB_JSON_FILE = 4029, /**< 从设备端读取的标定Json文件(Femto Mega, read only)*/
|
||||
/**
|
||||
* @brief IR flood switch
|
||||
*/
|
||||
OB_PROP_FLOOD_BOOL = 6,
|
||||
|
||||
/**
|
||||
* @brief IR flood level
|
||||
*/
|
||||
OB_PROP_FLOOD_LEVEL_INT = 7,
|
||||
|
||||
/**
|
||||
* @brief Depth mirror
|
||||
*/
|
||||
OB_PROP_DEPTH_MIRROR_BOOL = 14,
|
||||
|
||||
/**
|
||||
* @brief Depth flip
|
||||
*/
|
||||
OB_PROP_DEPTH_FLIP_BOOL = 15,
|
||||
|
||||
/**
|
||||
* @brief Depth Postfilter
|
||||
*/
|
||||
OB_PROP_DEPTH_POSTFILTER_BOOL = 16,
|
||||
|
||||
/**
|
||||
* @brief Depth Holefilter
|
||||
*/
|
||||
OB_PROP_DEPTH_HOLEFILTER_BOOL = 17,
|
||||
|
||||
/**
|
||||
* @brief IR mirror
|
||||
*/
|
||||
OB_PROP_IR_MIRROR_BOOL = 18,
|
||||
|
||||
/**
|
||||
* @brief IR flip
|
||||
*/
|
||||
OB_PROP_IR_FLIP_BOOL = 19,
|
||||
|
||||
/**
|
||||
* @brief Minimum depth threshold
|
||||
*/
|
||||
OB_PROP_MIN_DEPTH_INT = 22,
|
||||
|
||||
/**
|
||||
* @brief Maximum depth threshold
|
||||
*/
|
||||
OB_PROP_MAX_DEPTH_INT = 23,
|
||||
|
||||
/**
|
||||
* @brief Software filter switch
|
||||
*/
|
||||
OB_PROP_DEPTH_SOFT_FILTER_BOOL = 24,
|
||||
|
||||
/**
|
||||
* @brief LDP status
|
||||
*/
|
||||
OB_PROP_LDP_STATUS_BOOL = 32,
|
||||
|
||||
/**
|
||||
* @brief soft filter maxdiff param
|
||||
*/
|
||||
OB_PROP_DEPTH_MAX_DIFF_INT = 40,
|
||||
|
||||
/**
|
||||
* @brief soft filter maxSpeckleSize
|
||||
*/
|
||||
OB_PROP_DEPTH_MAX_SPECKLE_SIZE_INT = 41,
|
||||
|
||||
/**
|
||||
* @brief Hardware d2c is on
|
||||
*/
|
||||
OB_PROP_DEPTH_ALIGN_HARDWARE_BOOL = 42,
|
||||
|
||||
/**
|
||||
* @brief Timestamp adjustment
|
||||
*/
|
||||
OB_PROP_TIMESTAMP_OFFSET_INT = 43,
|
||||
|
||||
/**
|
||||
* @brief Hardware distortion switch Rectify
|
||||
*/
|
||||
OB_PROP_HARDWARE_DISTORTION_SWITCH_BOOL = 61,
|
||||
|
||||
/**
|
||||
* @brief Fan mode switch
|
||||
*/
|
||||
OB_PROP_FAN_WORK_MODE_INT = 62,
|
||||
|
||||
/**
|
||||
* @brief Multi-resolution D2C mode
|
||||
*/
|
||||
OB_PROP_DEPTH_ALIGN_HARDWARE_MODE_INT = 63,
|
||||
|
||||
/**
|
||||
* @brief Anti_collusion activation status
|
||||
*/
|
||||
OB_PROP_ANTI_COLLUSION_ACTIVATION_STATUS_BOOL = 64,
|
||||
|
||||
/**
|
||||
* @brief the depth precision level, which may change the depth frame data unit, needs to be confirmed through the ValueScale interface of
|
||||
* DepthFrame
|
||||
*/
|
||||
OB_PROP_DEPTH_PRECISION_LEVEL_INT = 75,
|
||||
|
||||
/**
|
||||
* @brief tof filter range configuration
|
||||
*/
|
||||
OB_PROP_TOF_FILTER_RANGE_INT = 76,
|
||||
|
||||
/**
|
||||
* @brief laser mode, the firmware terminal currently only return 1: IR Drive, 2: Torch
|
||||
*/
|
||||
OB_PROP_LASER_MODE_INT = 79,
|
||||
|
||||
/**
|
||||
* @brief brt2r-rectify function switch (brt2r is a special module on mx6600), 0: Disable, 1: Rectify Enable
|
||||
*/
|
||||
OB_PROP_RECTIFY2_BOOL = 80,
|
||||
|
||||
/**
|
||||
* @brief Color mirror
|
||||
*/
|
||||
OB_PROP_COLOR_MIRROR_BOOL = 81,
|
||||
|
||||
/**
|
||||
* @brief Color flip
|
||||
*/
|
||||
OB_PROP_COLOR_FLIP_BOOL = 82,
|
||||
|
||||
/**
|
||||
* @brief Indicator switch, 0: Disable, 1: Enable
|
||||
*/
|
||||
OB_PROP_INDICATOR_LIGHT_BOOL = 83,
|
||||
|
||||
/**
|
||||
* @brief Disparity to depth switch, 0: off, the depth stream outputs the disparity map; 1. On, the depth stream outputs the depth map.
|
||||
*/
|
||||
OB_PROP_DISPARITY_TO_DEPTH_BOOL = 85,
|
||||
|
||||
/**
|
||||
* @brief BRT function switch (anti-background interference), 0: Disable, 1: Enable
|
||||
*/
|
||||
OB_PROP_BRT_BOOL = 86,
|
||||
|
||||
/**
|
||||
* @brief Watchdog function switch, 0: Disable, 1: Enable
|
||||
*/
|
||||
OB_PROP_WATCHDOG_BOOL = 87,
|
||||
|
||||
/**
|
||||
* @brief External signal trigger restart function switch, 0: Disable, 1: Enable
|
||||
*/
|
||||
OB_PROP_EXTERNAL_SIGNAL_RESET_BOOL = 88,
|
||||
|
||||
/**
|
||||
* @brief Heartbeat monitoring function switch, 0: Disable, 1: Enable
|
||||
*/
|
||||
OB_PROP_HEARTBEAT_BOOL = 89,
|
||||
|
||||
/**
|
||||
* @brief Depth cropping mode device: OB_DEPTH_CROPPING_MODE
|
||||
*/
|
||||
OB_PROP_DEPTH_CROPPING_MODE_INT = 90,
|
||||
|
||||
/**
|
||||
* @brief D2C preprocessing switch (such as RGB cropping), 0: off, 1: on
|
||||
*/
|
||||
OB_PROP_D2C_PREPROCESS_BOOL = 91,
|
||||
|
||||
/**
|
||||
* @brief Custom RGB cropping switch, 0 is off, 1 is on custom cropping, and the ROI cropping area is issued
|
||||
*/
|
||||
OB_PROP_RGB_CUSTOM_CROP_BOOL = 94,
|
||||
|
||||
/**
|
||||
* @brief Device operating mode (power consumption)
|
||||
*/
|
||||
OB_PROP_DEVICE_WORK_MODE_INT = 95,
|
||||
|
||||
/**
|
||||
* @brief Device communication type, 0: USB; 1: Ethernet(RTSP)
|
||||
*/
|
||||
OB_PROP_DEVICE_COMMUNICATION_TYPE_INT = 97,
|
||||
|
||||
/**
|
||||
* @brief Switch infrared imaging mode, 0: active IR mode, 1: passive IR mode
|
||||
*/
|
||||
OB_PROP_SWITCH_IR_MODE_INT = 98,
|
||||
|
||||
/**
|
||||
* @brief Laser energy level
|
||||
*/
|
||||
OB_PROP_LASER_ENERGY_LEVEL_INT = 99,
|
||||
|
||||
/**
|
||||
* @brief LDP's measure distance, unit: mm
|
||||
*/
|
||||
OB_PROP_LDP_MEASURE_DISTANCE_INT = 100,
|
||||
|
||||
/**
|
||||
* @brief Reset device time to zero
|
||||
*/
|
||||
OB_PROP_TIMER_RESET_SIGNAL_BOOL = 104,
|
||||
|
||||
/**
|
||||
* @brief Enable send reset device time signal to other device. true: enable, false: disable
|
||||
*/
|
||||
OB_PROP_TIMER_RESET_TRIGGER_OUT_ENABLE_BOOL = 105,
|
||||
|
||||
/**
|
||||
* @brief Delay to reset device time, unit: us
|
||||
*/
|
||||
OB_PROP_TIMER_RESET_DELAY_US_INT = 106,
|
||||
|
||||
/**
|
||||
* @brief Signal to capture image
|
||||
*/
|
||||
OB_PROP_CAPTURE_IMAGE_SIGNAL_BOOL = 107,
|
||||
|
||||
/**
|
||||
* @brief Right IR sensor mirror state
|
||||
*/
|
||||
OB_PROP_IR_RIGHT_MIRROR_BOOL = 112,
|
||||
|
||||
/**
|
||||
* @brief Number frame to capture once a 'OB_PROP_CAPTURE_IMAGE_SIGNAL_BOOL' effect. range: [1, 255]
|
||||
*/
|
||||
OB_PROP_CAPTURE_IMAGE_FRAME_NUMBER_INT = 113,
|
||||
|
||||
/**
|
||||
* @brief Right IR sensor flip state. true: flip image, false: origin, default: false
|
||||
*/
|
||||
OB_PROP_IR_RIGHT_FLIP_BOOL = 114,
|
||||
|
||||
/**
|
||||
* @brief Color sensor rotation, angle{0, 90, 180, 270}
|
||||
*/
|
||||
OB_PROP_COLOR_ROTATE_INT = 115,
|
||||
|
||||
/**
|
||||
* @brief IR/Left-IR sensor rotation, angle{0, 90, 180, 270}
|
||||
*/
|
||||
OB_PROP_IR_ROTATE_INT = 116,
|
||||
|
||||
/**
|
||||
* @brief Right IR sensor rotation, angle{0, 90, 180, 270}
|
||||
*/
|
||||
OB_PROP_IR_RIGHT_ROTATE_INT = 117,
|
||||
|
||||
/**
|
||||
* @brief Depth sensor rotation, angle{0, 90, 180, 270}
|
||||
*/
|
||||
OB_PROP_DEPTH_ROTATE_INT = 118,
|
||||
|
||||
/**
|
||||
* @brief Get hardware laser energy level which real state of laser element. OB_PROP_LASER_ENERGY_LEVEL_INT(99)will effect this command
|
||||
* which it setting and changed the hardware laser energy level.
|
||||
*/
|
||||
OB_PROP_LASER_HW_ENERGY_LEVEL_INT = 119,
|
||||
|
||||
/**
|
||||
* @brief USB's power state, enum type: OBUSBPowerState
|
||||
*/
|
||||
OB_PROP_USB_POWER_STATE_INT = 121,
|
||||
|
||||
/**
|
||||
* @brief DC's power state, enum type: OBDCPowerState
|
||||
*/
|
||||
OB_PROP_DC_POWER_STATE_INT = 122,
|
||||
|
||||
/**
|
||||
* @brief Device development mode switch, optional modes can refer to the definition in @ref OBDeviceDevelopmentMode,the default mode is
|
||||
* @ref OB_USER_MODE
|
||||
* @attention The device takes effect after rebooting when switching modes.
|
||||
*/
|
||||
OB_PROP_DEVICE_DEVELOPMENT_MODE_INT = 129,
|
||||
|
||||
/**
|
||||
* @brief Multi-DeviceSync synchronized signal trigger out is enable state. true: enable, false: disable
|
||||
*/
|
||||
OB_PROP_SYNC_SIGNAL_TRIGGER_OUT_BOOL = 130,
|
||||
|
||||
/**
|
||||
* @brief Restore factory settings and factory parameters
|
||||
* @attention This command can only be written, and the parameter value must be true. The command takes effect after restarting the device.
|
||||
*/
|
||||
OB_PROP_RESTORE_FACTORY_SETTINGS_BOOL = 131,
|
||||
|
||||
/**
|
||||
* @brief Enter recovery mode (flashing mode) when boot the device
|
||||
* @attention The device will take effect after rebooting with the enable option. After entering recovery mode, you can upgrade the device system. Upgrading
|
||||
* the system may cause system damage, please use it with caution.
|
||||
*/
|
||||
OB_PROP_BOOT_INTO_RECOVERY_MODE_BOOL = 132,
|
||||
|
||||
/**
|
||||
* @brief Query whether the current device is running in recovery mode (read-only)
|
||||
*/
|
||||
OB_PROP_DEVICE_IN_RECOVERY_MODE_BOOL = 133,
|
||||
|
||||
/**
|
||||
* @brief Capture interval mode, 0:time interval, 1:number interval
|
||||
*/
|
||||
OB_PROP_CAPTURE_INTERVAL_MODE_INT = 134,
|
||||
|
||||
/**
|
||||
* @brief Capture time interval
|
||||
*/
|
||||
OB_PROP_CAPTURE_IMAGE_TIME_INTERVAL_INT = 135,
|
||||
|
||||
/**
|
||||
* @brief Capture number interval
|
||||
*/
|
||||
OB_PROP_CAPTURE_IMAGE_NUMBER_INTERVAL_INT = 136,
|
||||
|
||||
/**
|
||||
* @brief Baseline calibration parameters
|
||||
*/
|
||||
OB_STRUCT_BASELINE_CALIBRATION_PARAM = 1002,
|
||||
|
||||
/**
|
||||
* @brief Device temperature information
|
||||
*/
|
||||
OB_STRUCT_DEVICE_TEMPERATURE = 1003,
|
||||
|
||||
/**
|
||||
* @brief TOF exposure threshold range
|
||||
*/
|
||||
OB_STRUCT_TOF_EXPOSURE_THRESHOLD_CONTROL = 1024,
|
||||
|
||||
/**
|
||||
* @brief get/set serial number
|
||||
*/
|
||||
OB_STRUCT_DEVICE_SERIAL_NUMBER = 1035,
|
||||
|
||||
/**
|
||||
* @brief get/set device time
|
||||
*/
|
||||
OB_STRUCT_DEVICE_TIME = 1037,
|
||||
|
||||
/**
|
||||
* @brief Multi-device synchronization mode and parameter configuration
|
||||
*/
|
||||
OB_STRUCT_MULTI_DEVICE_SYNC_CONFIG = 1038,
|
||||
|
||||
/**
|
||||
* @brief RGB cropping ROI
|
||||
*/
|
||||
OB_STRUCT_RGB_CROP_ROI = 1040,
|
||||
|
||||
/**
|
||||
* @brief Device IP address configuration
|
||||
*/
|
||||
OB_STRUCT_DEVICE_IP_ADDR_CONFIG = 1041,
|
||||
|
||||
/**
|
||||
* @brief The current camera depth mode
|
||||
*/
|
||||
OB_STRUCT_CURRENT_DEPTH_ALG_MODE = 1043,
|
||||
|
||||
/**
|
||||
* @brief A list of depth accuracy levels, returning an array of uin16_t, corresponding to the enumeration
|
||||
*/
|
||||
OB_STRUCT_DEPTH_PRECISION_SUPPORT_LIST = 1045,
|
||||
|
||||
/**
|
||||
* @brief Color camera auto exposure
|
||||
*/
|
||||
OB_PROP_COLOR_AUTO_EXPOSURE_BOOL = 2000,
|
||||
|
||||
/**
|
||||
* @brief Color camera exposure adjustment
|
||||
*/
|
||||
OB_PROP_COLOR_EXPOSURE_INT = 2001,
|
||||
|
||||
/**
|
||||
* @brief Color camera gain adjustment
|
||||
*/
|
||||
OB_PROP_COLOR_GAIN_INT = 2002,
|
||||
|
||||
/**
|
||||
* @brief Color camera automatic white balance
|
||||
*/
|
||||
OB_PROP_COLOR_AUTO_WHITE_BALANCE_BOOL = 2003,
|
||||
|
||||
/**
|
||||
* @brief Color camera white balance adjustment
|
||||
*/
|
||||
OB_PROP_COLOR_WHITE_BALANCE_INT = 2004,
|
||||
|
||||
/**
|
||||
* @brief Color camera brightness adjustment
|
||||
*/
|
||||
OB_PROP_COLOR_BRIGHTNESS_INT = 2005,
|
||||
|
||||
/**
|
||||
* @brief Color camera sharpness adjustment
|
||||
*/
|
||||
OB_PROP_COLOR_SHARPNESS_INT = 2006,
|
||||
|
||||
/**
|
||||
* @brief Color camera shutter adjustment
|
||||
*/
|
||||
OB_PROP_COLOR_SHUTTER_INT = 2007,
|
||||
|
||||
/**
|
||||
* @brief Color camera saturation adjustment
|
||||
*/
|
||||
OB_PROP_COLOR_SATURATION_INT = 2008,
|
||||
|
||||
/**
|
||||
* @brief Color camera contrast adjustment
|
||||
*/
|
||||
OB_PROP_COLOR_CONTRAST_INT = 2009,
|
||||
|
||||
/**
|
||||
* @brief Color camera gamma adjustment
|
||||
*/
|
||||
OB_PROP_COLOR_GAMMA_INT = 2010,
|
||||
|
||||
/**
|
||||
* @brief Color camera image rotation
|
||||
*/
|
||||
OB_PROP_COLOR_ROLL_INT = 2011,
|
||||
|
||||
/**
|
||||
* @brief Color camera auto exposure priority
|
||||
*/
|
||||
OB_PROP_COLOR_AUTO_EXPOSURE_PRIORITY_INT = 2012,
|
||||
|
||||
/**
|
||||
* @brief Color camera brightness compensation
|
||||
*/
|
||||
OB_PROP_COLOR_BACKLIGHT_COMPENSATION_INT = 2013,
|
||||
|
||||
/**
|
||||
* @brief Color camera color tint
|
||||
*/
|
||||
OB_PROP_COLOR_HUE_INT = 2014,
|
||||
|
||||
/**
|
||||
* @brief Color Camera Power Line Frequency
|
||||
*/
|
||||
OB_PROP_COLOR_POWER_LINE_FREQUENCY_INT = 2015,
|
||||
|
||||
/**
|
||||
* @brief Automatic exposure of depth camera (infrared camera will be set synchronously under some models of devices)
|
||||
*/
|
||||
OB_PROP_DEPTH_AUTO_EXPOSURE_BOOL = 2016,
|
||||
|
||||
/**
|
||||
* @brief Depth camera exposure adjustment (infrared cameras will be set synchronously under some models of devices)
|
||||
*/
|
||||
OB_PROP_DEPTH_EXPOSURE_INT = 2017,
|
||||
|
||||
/**
|
||||
* @brief Depth camera gain adjustment (infrared cameras will be set synchronously under some models of devices)
|
||||
*/
|
||||
OB_PROP_DEPTH_GAIN_INT = 2018,
|
||||
|
||||
/**
|
||||
* @brief Infrared camera auto exposure (depth camera will be set synchronously under some models of devices)
|
||||
*/
|
||||
OB_PROP_IR_AUTO_EXPOSURE_BOOL = 2025,
|
||||
|
||||
/**
|
||||
* @brief Infrared camera exposure adjustment (some models of devices will set the depth camera synchronously)
|
||||
*/
|
||||
OB_PROP_IR_EXPOSURE_INT = 2026,
|
||||
|
||||
/**
|
||||
* @brief Infrared camera gain adjustment (the depth camera will be set synchronously under some models of devices)
|
||||
*/
|
||||
OB_PROP_IR_GAIN_INT = 2027,
|
||||
|
||||
/**
|
||||
* @brief Select Infrared camera data source channel. If not support throw exception. 0 : IR stream from IR Left sensor; 1 : IR stream from IR Left sensor;
|
||||
*/
|
||||
OB_PROP_IR_CHANNEL_DATA_SOURCE_INT = 2028,
|
||||
|
||||
/**
|
||||
* @brief Depth effect dedistortion, true: on, false: off. mutually exclusive with D2C function, RM_Filter disable When hardware or software D2C is enabled.
|
||||
*/
|
||||
OB_PROP_DEPTH_RM_FILTER_BOOL = 2029,
|
||||
|
||||
/**
|
||||
* @brief Color camera maximal gain
|
||||
*/
|
||||
OB_PROP_COLOR_MAXIMAL_GAIN_INT = 2030,
|
||||
|
||||
/**
|
||||
* @brief Color camera shutter gain
|
||||
*/
|
||||
OB_PROP_COLOR_MAXIMAL_SHUTTER_INT = 2031,
|
||||
|
||||
/**
|
||||
* @brief Software disparity to depth
|
||||
*/
|
||||
OB_PROP_SDK_DISPARITY_TO_DEPTH_BOOL = 3004,
|
||||
|
||||
/**
|
||||
* @brief Depth data unpacking function switch (each open stream will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format)
|
||||
*/
|
||||
OB_PROP_SDK_DEPTH_FRAME_UNPACK_BOOL = 3007,
|
||||
|
||||
/**
|
||||
* @brief IR data unpacking function switch (each current will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format)
|
||||
*/
|
||||
OB_PROP_SDK_IR_FRAME_UNPACK_BOOL = 3008,
|
||||
|
||||
/**
|
||||
* @brief Accel data conversion function switch (on by default)
|
||||
*/
|
||||
OB_PROP_SDK_ACCEL_FRAME_TRANSFORMED_BOOL = 3009,
|
||||
|
||||
/**
|
||||
* @brief Gyro data conversion function switch (on by default)
|
||||
*/
|
||||
OB_PROP_SDK_GYRO_FRAME_TRANSFORMED_BOOL = 3010,
|
||||
|
||||
/**
|
||||
* @brief Left IR frame data unpacking function switch (each current will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format)
|
||||
*/
|
||||
OB_PROP_SDK_IR_LEFT_FRAME_UNPACK_BOOL = 3011,
|
||||
|
||||
/**
|
||||
* @brief Right IR frame data unpacking function switch (each current will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format)
|
||||
*/
|
||||
OB_PROP_SDK_IR_RIGHT_FRAME_UNPACK_BOOL = 3012,
|
||||
|
||||
/**
|
||||
* @brief Calibration JSON file read from device (Femto Mega, read only)
|
||||
*/
|
||||
OB_RAW_DATA_CAMERA_CALIB_JSON_FILE = 4029,
|
||||
} OBPropertyID,
|
||||
ob_property_id;
|
||||
|
||||
// typo fixed
|
||||
#define OB_PROP_TIMER_RESET_TRIGGLE_OUT_ENABLE_BOOL OB_PROP_TIMER_RESET_TRIGGER_OUT_ENABLE_BOOL
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief The data type used to describe all property settings
|
||||
* \else
|
||||
* @brief 用于描述所有属性设置的数据类型
|
||||
* \endif
|
||||
*/
|
||||
typedef enum OBPropertyType {
|
||||
OB_BOOL_PROPERTY = 0, /**< \if English Bool property \else bool类型数据的属性 \endif */
|
||||
OB_INT_PROPERTY = 1, /**< \if English int property \else int类型数据的属性\endif */
|
||||
OB_FLOAT_PROPERTY = 2, /**< \if English float property \else float类型数据的属性 \endif */
|
||||
OB_STRUCT_PROPERTY = 3, /**< \if English struct property \else struct类型数据的属性 \endif */
|
||||
OB_BOOL_PROPERTY = 0, /**< Boolean property */
|
||||
OB_INT_PROPERTY = 1, /**< Integer property */
|
||||
OB_FLOAT_PROPERTY = 2, /**< Floating-point property */
|
||||
OB_STRUCT_PROPERTY = 3, /**< Struct property */
|
||||
} OBPropertyType,
|
||||
ob_property_type;
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Used to describe the characteristics of each property
|
||||
* \else
|
||||
* @brief 用于描述每一个属性的特性
|
||||
* \endif
|
||||
*/
|
||||
typedef struct OBPropertyItem {
|
||||
OBPropertyID id; ///< \if English Property id \else 属性id \endif
|
||||
const char * name; ///< \if English Property name \else 属性名字 \endif
|
||||
OBPropertyType type; ///< \if English Property type \else 属性类型 \endif
|
||||
OBPermissionType permission; ///< \if English Property read and write permission \else 属性读写权限 \endif
|
||||
OBPropertyID id; /**< Property ID */
|
||||
const char *name; /**< Property name */
|
||||
OBPropertyType type; /**< Property type */
|
||||
OBPermissionType permission; /**< Property read and write permission */
|
||||
} OBPropertyItem, ob_property_item;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -1,12 +1,8 @@
|
||||
/**
|
||||
* \if English
|
||||
* @file RecordPlayback.h
|
||||
* @brief For recording and playback functions
|
||||
* \else
|
||||
* @file RecordPlayback.h
|
||||
* @brief 用于录制和回放功能
|
||||
* \endif
|
||||
* @brief Header file for recording and playback functions.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -16,217 +12,118 @@ extern "C" {
|
||||
#include "ObTypes.h"
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Create a recorder for data recording
|
||||
* @brief Create a recorder for data recording.
|
||||
*
|
||||
* @param[out] error log error messages
|
||||
* @return ob_recorder* returns the recorder object
|
||||
* \else
|
||||
* @brief 创建录制器用于数据的录制
|
||||
*
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_recorder* 返回录制器对象
|
||||
* \endif
|
||||
* @param[out] error Pointer to log error messages.
|
||||
* @return Pointer to the recorder object.
|
||||
*/
|
||||
ob_recorder *ob_create_recorder(ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Create a recorder for data recording
|
||||
* @brief Create a recorder for data recording.
|
||||
*
|
||||
* @param dev The device object used to create the recorder
|
||||
* @param[out] error log error messages
|
||||
* @return ob_recorder* returns the recorder object
|
||||
* \else
|
||||
* @brief 创建录制器用于数据的录制
|
||||
*
|
||||
* @param dev 用于创建录制器的设备对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_recorder* 返回录制器对象
|
||||
* \endif
|
||||
* @param dev The device object used to create the recorder.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
* @return Pointer to the recorder object.
|
||||
*/
|
||||
ob_recorder *ob_create_recorder_with_device(ob_device *dev, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief delete recorder object
|
||||
* @brief Delete the recorder object.
|
||||
*
|
||||
* @param recorder recorder object
|
||||
* @param[out] error log error messages
|
||||
* \else
|
||||
* @brief 删除录制器对象
|
||||
*
|
||||
* @param recorder 录制器对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param recorder Pointer to the recorder object.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
*/
|
||||
void ob_delete_recorder(ob_recorder *recorder, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief start recording
|
||||
* @brief Start recording.
|
||||
*
|
||||
* @param[in] recorder recorder object
|
||||
* @param[in] filename Recorded file name
|
||||
* @param[in] async Whether to record asynchronously
|
||||
* @param[out] error log error messages
|
||||
* \else
|
||||
* @brief 开始录制
|
||||
*
|
||||
* @param[in] recorder 录制器对象
|
||||
* @param[in] filename 录制的文件名称
|
||||
* @param[in] async 是否异步录制
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] recorder Pointer to the recorder object.
|
||||
* @param[in] filename Recorded file name.
|
||||
* @param[in] async Whether to record asynchronously.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
*/
|
||||
void ob_recorder_start(ob_recorder *recorder, const char *filename, bool async, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief stop recording
|
||||
* @brief Stop recording.
|
||||
*
|
||||
* @param[in] recorder recorder object
|
||||
* @param[out] error log error messages
|
||||
* \else
|
||||
* @brief 停止录制
|
||||
*
|
||||
* @param[in] recorder 录制器对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] recorder Pointer to the recorder object.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
*/
|
||||
void ob_recorder_stop(ob_recorder *recorder, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Write frame data to the recorder
|
||||
* @brief Write frame data to the recorder.
|
||||
*
|
||||
* @param[in] recorder recorder object
|
||||
* @param[in] frame Write frame data
|
||||
* @param[out] error log error messages
|
||||
* \else
|
||||
* @brief 向录制器内写入帧数据
|
||||
*
|
||||
* @param[in] recorder 录制器对象
|
||||
* @param[in] frame 写入的帧数据
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] recorder Pointer to the recorder object.
|
||||
* @param[in] frame Pointer to the frame data to write.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
*/
|
||||
void ob_recorder_write_frame(ob_recorder *recorder, ob_frame *frame, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Create playback object
|
||||
* @param[in] filename Playback filename
|
||||
* @param[out] error log error messages
|
||||
* @return ob_playback* returns the playback object
|
||||
* \else
|
||||
* @brief 创建回放对象
|
||||
* @param[in] filename 回放的文件名
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_playback* 返回回放的对象
|
||||
* \endif
|
||||
* @brief Create a playback object.
|
||||
*
|
||||
* @param[in] filename Playback filename.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
* @return Pointer to the playback object.
|
||||
*/
|
||||
ob_playback *ob_create_playback(const char *filename, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief delete playback object
|
||||
* @brief Delete the playback object.
|
||||
*
|
||||
* @param[in] playback playback object
|
||||
* @param[out] error log error messages
|
||||
* \else
|
||||
* @brief 删除回放对象
|
||||
*
|
||||
* @param[in] playback 回放对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] playback Pointer to the playback object.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
*/
|
||||
void ob_delete_playback(ob_playback *playback, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Start playback, playback data is returned from the callback
|
||||
* @brief Start playback, with data returned from the callback.
|
||||
*
|
||||
* @param[in] playback playback object
|
||||
* @param[in] callback Callback for playback data
|
||||
* @param[in] user_data User data
|
||||
* @param[in] type Type of playback data
|
||||
* @param[out] error log error messages
|
||||
* \else
|
||||
* @brief 开启回放,回放数据从回调中返回
|
||||
*
|
||||
* @param[in] playback 回放对象
|
||||
* @param[in] callback 回放数据的回调
|
||||
* @param[in] user_data 用户数据
|
||||
* @param[in] type 回放数据的类型
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] playback Pointer to the playback object.
|
||||
* @param[in] callback Callback function for playback data.
|
||||
* @param[in] user_data User data.
|
||||
* @param[in] type Type of playback data.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
*/
|
||||
void ob_playback_start(ob_playback *playback, ob_playback_callback callback, void *user_data, ob_media_type type, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief stop playback
|
||||
* @brief Stop playback.
|
||||
*
|
||||
* @param[in] playback playback object
|
||||
* @param[out] error log error messages
|
||||
* \else
|
||||
* @brief 停止回放
|
||||
*
|
||||
* @param[in] playback 回放对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] playback Pointer to the playback object.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
*/
|
||||
void ob_playback_stop(ob_playback *playback, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Set playback state
|
||||
* @param[in] playback playback object
|
||||
* @param[in] callback playback status callback
|
||||
* @param[in] user_data User data
|
||||
* @param[out] error log error messages
|
||||
* \else
|
||||
* @brief 设置回放状态
|
||||
* @param[in] playback 回放对象
|
||||
* @param[in] callback 回放状态回调
|
||||
* @param[in] user_data 用户数据
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @brief Set the playback state.
|
||||
*
|
||||
* @param[in] playback Pointer to the playback object.
|
||||
* @param[in] callback Playback status callback function.
|
||||
* @param[in] user_data User data.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
*/
|
||||
void ob_set_playback_state_callback(ob_playback *playback, ob_media_state_callback callback, void *user_data, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the device information in the recording file
|
||||
* @brief Get the device information in the recording file.
|
||||
*
|
||||
* @param[in] playback playback object
|
||||
* @param[out] error log error messages
|
||||
* @return ob_device_info* returns device information
|
||||
* \else
|
||||
* @brief 获取录制文件内的设备信息
|
||||
*
|
||||
* @param[in] playback 回放对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_device_info* returns device information
|
||||
* \endif
|
||||
* @param[in] playback Pointer to the playback object.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
* @return Pointer to the device information.
|
||||
*/
|
||||
ob_device_info *ob_playback_get_device_info(ob_playback *playback, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the intrinsic and extrinsic parameter information in the recording file
|
||||
* @brief Get the intrinsic and extrinsic parameter information in the recording file.
|
||||
*
|
||||
* @param[in] playback playback object
|
||||
* @param[out] error log error messages
|
||||
* @return ob_camera_param returns internal and external parameter information
|
||||
* \else
|
||||
* @brief 获取录制文件内的内外参信息
|
||||
*
|
||||
* @param[in] playback 回放对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_camera_param 返回的内外参信息
|
||||
* \endif
|
||||
* @param[in] playback Pointer to the playback object.
|
||||
* @param[out] error Pointer to log error messages.
|
||||
* @return The internal and external parameter information.
|
||||
*/
|
||||
ob_camera_param ob_playback_get_camera_param(ob_playback *playback, ob_error **error);
|
||||
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
/**
|
||||
* \if English
|
||||
* @file Sensor.h
|
||||
* @brief Sensor related types, used to obtain stream configuration, open and close streams, set and get sensor properties.
|
||||
* \else
|
||||
* @file Sensor.h
|
||||
* @brief 传感器相关函数,用于获取流配置,开关流,设置及获取传感器属性等操作
|
||||
* \endif
|
||||
* @brief Defines types related to sensors, used for obtaining stream configurations, opening and closing streams, and setting and getting sensor properties.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
@@ -16,186 +11,103 @@ extern "C" {
|
||||
#include "ObTypes.h"
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get sensor type
|
||||
* @brief Get the type of the sensor.
|
||||
*
|
||||
* @param[in] sensor Sensor object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_sensor_type returns the sensor type
|
||||
* \else
|
||||
* @brief 获取传感器类型
|
||||
*
|
||||
* @param[in] sensor 传感器对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_sensor_type 返回传感器类型
|
||||
* \endif
|
||||
* @param[in] sensor The sensor object.
|
||||
* @param[out] error Logs error messages.
|
||||
* @return The sensor type.
|
||||
*/
|
||||
ob_sensor_type ob_sensor_get_type(ob_sensor *sensor, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get all supported stream profiles
|
||||
* @brief Get a list of all supported stream profiles.
|
||||
*
|
||||
* @param[in] sensor Sensor object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_stream_profile_list* returns a list of stream profiles
|
||||
* \else
|
||||
* @brief 获取传感器支持的所有流的配置列表
|
||||
*
|
||||
* @param[in] sensor 传感器对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_stream_profile_list* 返回流配置的列表
|
||||
* \endif
|
||||
* @param[in] sensor The sensor object.
|
||||
* @param[out] error Logs error messages.
|
||||
* @return A list of stream profiles.
|
||||
*/
|
||||
ob_stream_profile_list *ob_sensor_get_stream_profile_list(ob_sensor *sensor, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Open the current sensor, and set the callback data frame
|
||||
* @brief Open the current sensor and set the callback data frame.
|
||||
*
|
||||
* @param[in] sensor Sensor object
|
||||
* @param[in] profile Stream configuration information
|
||||
* @param[in] callback Callback function triggered when frame data arrives
|
||||
* @param[in] user_data pass in any user data and get it from the callback
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 打开传感器的流,并设置帧数据回调
|
||||
*
|
||||
* @param[in] sensor 传感器对象
|
||||
* @param[in] profile 流的配置信息
|
||||
* @param[in] callback 帧数据到达时触发的回调函数
|
||||
* @param[in] user_data 可以传入任意用户数据,并从回调中获取
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] sensor The sensor object.
|
||||
* @param[in] profile The stream configuration information.
|
||||
* @param[in] callback The callback function triggered when frame data arrives.
|
||||
* @param[in] user_data Any user data to pass in and get from the callback.
|
||||
* @param[out] error Logs error messages.
|
||||
*/
|
||||
void ob_sensor_start(ob_sensor *sensor, ob_stream_profile *profile, ob_frame_callback callback, void *user_data, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Stop sensor stream
|
||||
* @brief Stop the sensor stream.
|
||||
*
|
||||
* @param[in] sensor sensor object
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 停止传感器的流
|
||||
*
|
||||
* @param[in] sensor 传感器对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] sensor The sensor object.
|
||||
* @param[out] error Logs error messages.
|
||||
*/
|
||||
void ob_sensor_stop(ob_sensor *sensor, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Dynamically switch resolutions
|
||||
* @brief Dynamically switch resolutions.
|
||||
*
|
||||
* @param[in] sensor Sensor object
|
||||
* @param[in] profile Stream configuration information
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 动态切换分辨率
|
||||
*
|
||||
* @param[in] sensor 传感器对象
|
||||
* @param[in] profile 流的配置信息
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] sensor The sensor object.
|
||||
* @param[in] profile The stream configuration information.
|
||||
* @param[out] error Logs error messages.
|
||||
*/
|
||||
void ob_sensor_switch_profile(ob_sensor *sensor, ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Delete sensor object list
|
||||
* @brief Delete a list of sensor objects.
|
||||
*
|
||||
* @param[in] sensor_list List of sensor objects to delete
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 删除传感器对象列表
|
||||
*
|
||||
* @param[in] sensor_list 要删除的传感器对象列表
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] sensor_list The list of sensor objects to delete.
|
||||
* @param[out] error Logs error messages.
|
||||
*/
|
||||
void ob_delete_sensor_list(ob_sensor_list *sensor_list, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the number of sensors in the sensor list
|
||||
* @brief Get the number of sensors in the sensor list.
|
||||
*
|
||||
* @param[in] sensor_list List of sensor objects to delete
|
||||
* @param[in] count Number of sensors
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 获取传感器列表内传感器个数
|
||||
*
|
||||
* @param[in] sensor_list 要删除的传感器对象列表
|
||||
* @param[in] count 传感器数量
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] sensor_list The list of sensor objects.
|
||||
* @param[out] error Logs error messages.
|
||||
* @return The number of sensors in the list.
|
||||
*/
|
||||
uint32_t ob_sensor_list_get_sensor_count(ob_sensor_list *sensor_list, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the sensor types
|
||||
* @brief Get the sensor type.
|
||||
*
|
||||
* @param index Sensor index
|
||||
* @return OBSensorType returns the Sensor type
|
||||
* \else
|
||||
* @brief 获取指定Sensor的类型
|
||||
*
|
||||
* @param index Sensor索引
|
||||
* @return OBSensorType 返回Sensor类型
|
||||
* \endif
|
||||
* @param[in] sensor_list The list of sensor objects.
|
||||
* @param[in] index The index of the sensor on the list.
|
||||
* @param[out] error Logs error messages.
|
||||
* @return The sensor type.
|
||||
*/
|
||||
ob_sensor_type ob_sensor_list_get_sensor_type(ob_sensor_list *sensor_list, uint32_t index, ob_error **error);
|
||||
|
||||
/**
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get sensor by sensor type
|
||||
* @brief Get a sensor by sensor type.
|
||||
*
|
||||
* @param sensor_list Get the returned sensor list through device
|
||||
* @param sensorType Sensor type to be obtained
|
||||
* @return Return the Sensor pointer, if the specified type of Sensor does not exist, it will return null
|
||||
* \else
|
||||
* @brief 通过Sensor类型获取Sensor
|
||||
*
|
||||
* @param sensor_list 通过device获取返回的sensor列表
|
||||
* @param sensorType 要获取的Sensor类型
|
||||
* @return 返回Sensor指针,如果指定类型Sensor不存在,将返回空
|
||||
* \endif
|
||||
* @param[in] sensor_list The list of sensor objects.
|
||||
* @param[in] sensorType The sensor type to be obtained.
|
||||
* @param[out] error Logs error messages.
|
||||
* @return The sensor pointer. If the specified type of sensor does not exist, it will return null.
|
||||
*/
|
||||
ob_sensor *ob_sensor_list_get_sensor_by_type(ob_sensor_list *sensor_list, ob_sensor_type sensorType, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get Sensor by index number
|
||||
* @brief Get a sensor by index number.
|
||||
*
|
||||
* @param sensor_list Get the returned sensor list through device
|
||||
* @param index To create a device cable, the range is [0, count-1], if the index exceeds the range, an exception will be thrown
|
||||
* @return std::shared_ptr<Sensor> returns the Sensor object
|
||||
* \else
|
||||
* @brief 通过索引号获取Sensor
|
||||
*
|
||||
* @param sensor_list 通过device获取返回的sensor列表
|
||||
* @param index 要创建设备的索,范围 [0, count-1],如果index超出范围将抛异常
|
||||
* @return std::shared_ptr<Sensor> 返回Sensor对象
|
||||
* \endif
|
||||
* @param[in] sensor_list The list of sensor objects.
|
||||
* @param[in] index The index of the sensor on the list.
|
||||
* @param[out] error Logs error messages.
|
||||
* @return The sensor object.
|
||||
*/
|
||||
ob_sensor *ob_sensor_list_get_sensor(ob_sensor_list *sensor_list, uint32_t index, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Delete sensor object
|
||||
* @brief Delete a sensor object.
|
||||
*
|
||||
* @param[in] sensor The sensor object to delete
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 删除传感器对象
|
||||
*
|
||||
* @param[in] sensor 要删除的传感器对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] sensor The sensor object to delete.
|
||||
* @param[out] error Logs error messages.
|
||||
*/
|
||||
void ob_delete_sensor(ob_sensor *sensor, ob_error **error);
|
||||
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
/**
|
||||
* \if English
|
||||
* @file StreamProfile.h
|
||||
* @brief The stream configuration related type is used to get information such as the width, height, frame rate, and format of the stream.
|
||||
* \else
|
||||
* @file StreamProfile.h
|
||||
* @brief 流配置相关函数,用于获取流的宽、高、帧率及格式等信息
|
||||
* \endif
|
||||
* @brief The stream profile related type is used to get information such as the width, height, frame rate, and format of the stream.
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
@@ -17,248 +12,158 @@ extern "C" {
|
||||
#include "ObTypes.h"
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get stream profile format
|
||||
*
|
||||
* @param[in] profile Stream configuration object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_format returns the format of the stream
|
||||
* \else
|
||||
* @brief 获取流配置的格式
|
||||
*
|
||||
* @param[in] profile 流配置对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_format 返回流的格式
|
||||
* \endif
|
||||
* @return ob_format return the format of the stream
|
||||
*/
|
||||
ob_format ob_stream_profile_format(ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get stream profile type
|
||||
*
|
||||
* @param[in] profile Stream configuration object
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_stream_type stream type
|
||||
* \else
|
||||
* @brief 获取流的类型
|
||||
*
|
||||
* @param[in] profile 流配置对象
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_stream_type 流的类型
|
||||
* \endif
|
||||
*/
|
||||
ob_stream_type ob_stream_profile_type(ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the frame rate of the video stream configuration
|
||||
*
|
||||
* @param[in] profile Stream configuration object
|
||||
* @param[out] error Log error messages
|
||||
* @return uint32_t returns the frame rate of the stream
|
||||
* \else
|
||||
* @brief 获取视频流配置的帧率
|
||||
*
|
||||
* @param[in] profile 流配置对象, 如果该配置不是视频流配置,将会返错误
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint32_t 返回流的帧率
|
||||
* \endif
|
||||
* @return uint32_t return the frame rate of the stream
|
||||
*/
|
||||
uint32_t ob_video_stream_profile_fps(ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the width of the video stream configuration
|
||||
*
|
||||
* @param[in] profile Stream configuration object, if the configuration is not a video stream configuration, an error will be returned
|
||||
* @param[out] error Log error messages
|
||||
* @return uint32_t returns the width of the stream
|
||||
* \else
|
||||
* @brief 获取视频流配置的宽
|
||||
*
|
||||
* @param[in] profile 流配置对象, 如果该配置不是视频流配置,将会返错误
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint32_t 返回流的宽
|
||||
* \endif
|
||||
* @return uint32_t return the width of the stream
|
||||
*/
|
||||
uint32_t ob_video_stream_profile_width(ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the height of the video stream configuration
|
||||
*
|
||||
* @param[in] profile Stream configuration object, if the configuration is not a video stream configuration, an error will be returned
|
||||
* @param[out] error Log error messages
|
||||
* @return uint32_t returns the height of the stream
|
||||
* \else
|
||||
* @brief 获取视频流配置的高
|
||||
*
|
||||
* @param[in] profile 流配置对象, 如果该配置不是视频流配置,将会返错误
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint32_t 返回流的高
|
||||
* \endif
|
||||
* @return uint32_t return the height of the stream
|
||||
*/
|
||||
uint32_t ob_video_stream_profile_height(ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get scale range of accelerometer stream
|
||||
* @brief Get the full-scale range of the accelerometer stream.
|
||||
*
|
||||
* @param[in] profile Stream configuration object, if the configuration is not the accelerometer stream configuration, an error will be returned
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_accel_full_scale_range range
|
||||
* \else
|
||||
* @brief 获取加速度计流配置的量程范围
|
||||
*
|
||||
* @param[in] profile 流配置对象, 如果该配置不是加速度计流配置,将会返错误
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_accel_full_scale_range 量程范围
|
||||
* \endif
|
||||
* @param[in] profile Stream configuration object. If the configuration is not for the accelerometer stream, an error will be returned.
|
||||
* @param[out] error Log error messages.
|
||||
* @return The full-scale range of the accelerometer stream.
|
||||
*/
|
||||
ob_accel_full_scale_range ob_accel_stream_profile_full_scale_range(ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get sampling frequency of the accelerometer frame
|
||||
* @brief Get the sampling frequency of the accelerometer frame.
|
||||
*
|
||||
* @param[in] profile Stream configuration object, if the configuration is not the accelerometer stream configuration, an error will be returned
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_accel_sample_rate sampling frequency
|
||||
* \else
|
||||
* @brief 获取加速度计流配置的采样频率
|
||||
*
|
||||
* @param[in] profile 流配置对象, 如果该配置不是加速度计流配置,将会返错误
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_accel_sample_rate 采样频率
|
||||
* \endif
|
||||
* @param[in] profile Stream configuration object. If the configuration is not for the accelerometer stream, an error will be returned.
|
||||
* @param[out] error Log error messages.
|
||||
* @return The sampling frequency of the accelerometer frame.
|
||||
*/
|
||||
ob_accel_sample_rate ob_accel_stream_profile_sample_rate(ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get scale range of gyroscope stream
|
||||
* @brief Get the full-scale range of the gyroscope stream.
|
||||
*
|
||||
* @param[in] profile Stream configuration object, if the configuration is not a gyroscope stream configuration, an error will be returned
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_gyro_full_scale_range range
|
||||
* \else
|
||||
* @brief 获取陀螺仪流配置的量程范围
|
||||
*
|
||||
* @param[in] profile 流配置对象, 如果该配置不是陀螺仪流配置,将会返错误
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_gyro_full_scale_range 量程范围
|
||||
* \endif
|
||||
* @param[in] profile Stream configuration object. If the configuration is not for the gyroscope stream, an error will be returned.
|
||||
* @param[out] error Log error messages.
|
||||
* @return The full-scale range of the gyroscope stream.
|
||||
*/
|
||||
ob_gyro_full_scale_range ob_gyro_stream_profile_full_scale_range(ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the sampling frequency of the gyro flow configuration
|
||||
* @brief Get the sampling frequency of the gyroscope stream.
|
||||
*
|
||||
* @param[in] profile Stream configuration object, if the configuration is not a gyroscope stream configuration, an error will be returned
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_gyro_sample_rate sampling frequency
|
||||
* \else
|
||||
* @brief 获取陀螺仪流配置的采样频率
|
||||
*
|
||||
* @param[in] profile 流配置对象, 如果该配置不是陀螺仪流配置,将会返错误
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_gyro_sample_rate 采样频率
|
||||
* \endif
|
||||
* @param[in] profile Stream configuration object. If the configuration is not for the gyroscope stream, an error will be returned.
|
||||
* @param[out] error Log error messages.
|
||||
* @return The sampling frequency of the gyroscope stream.
|
||||
*/
|
||||
ob_gyro_sample_rate ob_gyro_stream_profile_sample_rate(ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Match the corresponding ob_stream_profile through the passed parameters. If there are multiple matches,
|
||||
* the first one in the list will be returned by default. If no matched profile found, will return error!
|
||||
* the first one in the list will be returned by default. If no matched profile is found, an error will be returned.
|
||||
*
|
||||
* @param profile_list Resolution list
|
||||
* @param width Width, if you don't need to add matching conditions, you can pass 0
|
||||
* @param height Height, if you don't need to add matching conditions, you can pass 0
|
||||
* @param format Format, if you don't need to add matching conditions, you can pass OB_FORMAT_UNKNOWN
|
||||
* @param fps Frame rate, if you don't need to add matching conditions, you can pass 0
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_stream_profile* returns the matching profile
|
||||
* \else
|
||||
* @brief 通过传入的参数进行匹配对应的ob_stream_profile。若有多个匹配项默认返回列表中的第一个, 若未找打匹配的项,则返回错误。
|
||||
*
|
||||
* @param profile_list 分辨率列表
|
||||
* @param width 宽度, 如不要求加入匹配条件,可传0
|
||||
* @param height 高度, 如不要求加入匹配条件,可传0
|
||||
* @param format 格式, 如不要求加入匹配条件,可传OB_FORMAT_UNKNOWN
|
||||
* @param fps 帧率, 如不要求加入匹配条件,可传0
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_stream_profile* 返回匹配的profile
|
||||
* \endif
|
||||
* @param[in] profile_list Resolution list.
|
||||
* @param[in] width Width. If you don't need to add matching conditions, you can pass 0.
|
||||
* @param[in] height Height. If you don't need to add matching conditions, you can pass 0.
|
||||
* @param[in] format Format. If you don't need to add matching conditions, you can pass OB_FORMAT_UNKNOWN.
|
||||
* @param[in] fps Frame rate. If you don't need to add matching conditions, you can pass 0.
|
||||
* @param[out] error Log error messages.
|
||||
* @return The matching profile.
|
||||
*/
|
||||
ob_stream_profile *ob_stream_profile_list_get_video_stream_profile(ob_stream_profile_list *profile_list, int width, int height, ob_format format, int fps,
|
||||
ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the corresponding StreamProfile by subscripting
|
||||
* @brief Match the corresponding ob_stream_profile through the passed parameters. If there are multiple matches,
|
||||
* the first one in the list will be returned by default. If no matched profile is found, an error will be returned.
|
||||
*
|
||||
* @param[in] profile_list StreamProfile lists
|
||||
* @param[in] index
|
||||
* @param[out] error Log error messages
|
||||
* @return ob_stream_profile* returns the matching profile
|
||||
* \else
|
||||
* @brief 通过下标获取对应的StreamProfile
|
||||
* @param[in] profile_list Resolution list.
|
||||
* @param[in] fullScaleRange Full-scale range. If you don't need to add matching conditions, you can pass 0.
|
||||
* @param[in] sampleRate Sample rate. If you don't need to add matching conditions, you can pass 0.
|
||||
* @param[out] error Log error messages.
|
||||
* @return The matching profile.
|
||||
*/
|
||||
ob_stream_profile *ob_stream_profile_list_get_accel_stream_profile(ob_stream_profile_list *profile_list, ob_accel_full_scale_range fullScaleRange,
|
||||
ob_accel_sample_rate sampleRate, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Match the corresponding ob_stream_profile through the passed parameters. If there are multiple matches,
|
||||
* the first one in the list will be returned by default. If no matched profile is found, an error will be returned.
|
||||
*
|
||||
* @param[in] profile_list StreamProfile列表
|
||||
* @param[in] index 索引
|
||||
* @param[out] error 记录错误信息
|
||||
* @return ob_stream_profile* 返回匹配的profile
|
||||
*\endif
|
||||
* @param[in] profile_list Resolution list.
|
||||
* @param[in] fullScaleRange Full-scale range. If you don't need to add matching conditions, you can pass 0.
|
||||
* @param[in] sampleRate Sample rate. If you don't need to add matching conditions, you can pass 0.
|
||||
* @param[out] error Log error messages.
|
||||
* @return The matching profile.
|
||||
*/
|
||||
ob_stream_profile *ob_stream_profile_list_get_gyro_stream_profile(ob_stream_profile_list *profile_list, ob_gyro_full_scale_range fullScaleRange,
|
||||
ob_gyro_sample_rate sampleRate, ob_error **error);
|
||||
|
||||
/**
|
||||
* @brief Get the corresponding StreamProfile by subscripting.
|
||||
*
|
||||
* @param[in] profile_list StreamProfile lists.
|
||||
* @param[in] index Index.
|
||||
* @param[out] error Log error messages.
|
||||
* @return The matching profile.
|
||||
*/
|
||||
ob_stream_profile *ob_stream_profile_list_get_profile(ob_stream_profile_list *profile_list, int index, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the number of StreamProfile lists
|
||||
* @brief Get the number of StreamProfile lists.
|
||||
*
|
||||
* @param[in] profile_list StreamProfile list
|
||||
* @param[out] error Log error messages
|
||||
* @return uint32_t returns the number of StreamProfile lists
|
||||
* \else
|
||||
* @brief 获取StreamProfile列表的数量
|
||||
*
|
||||
* @param[in] profile_list StreamProfile列表
|
||||
* @param[out] error 记录错误信息
|
||||
* @return uint32_t 返回StreamProfile列表的数量
|
||||
* \endif
|
||||
* @param[in] profile_list StreamProfile list.
|
||||
* @param[out] error Log error messages.
|
||||
* @return The number of StreamProfile lists.
|
||||
*/
|
||||
uint32_t ob_stream_profile_list_count(ob_stream_profile_list *profile_list, ob_error **error);
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Delete stream configuration list
|
||||
* @brief Delete the stream profile list.
|
||||
*
|
||||
* @param[in] profiles Stream configuration list
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 删除流配置列表
|
||||
*
|
||||
* @param[in] profiles 流配置列表
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] profile_list Stream configuration list.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_delete_stream_profile_list(ob_stream_profile_list *profile_list, ob_error **error);
|
||||
|
||||
/**
|
||||
*\if English
|
||||
* @brief Delete stream configuration
|
||||
* @brief Delete the stream configuration.
|
||||
*
|
||||
* @param[in] profile Stream configuration object
|
||||
* @param[out] error Log error messages
|
||||
* \else
|
||||
* @brief 删除流配置
|
||||
*
|
||||
* @param[in] profile 流配置对象
|
||||
* @param[out] error 记录错误信息
|
||||
* \endif
|
||||
* @param[in] profile Stream configuration object.
|
||||
* @param[out] error Log error messages.
|
||||
*/
|
||||
void ob_delete_stream_profile(ob_stream_profile *profile, ob_error **error);
|
||||
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
/**
|
||||
* \if English
|
||||
* @file Version.h
|
||||
* @brief Get the SDK version number information function
|
||||
* \else
|
||||
* @file Version.h
|
||||
* @brief 获取SDK版本号相关信息函数
|
||||
* \endif
|
||||
* @brief Functions for retrieving the SDK version number information.
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
@@ -15,56 +10,41 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the SDK version
|
||||
* @brief Get the SDK version number.
|
||||
*
|
||||
* @return int returns the SDK version
|
||||
* \else
|
||||
* @brief 获取SDK版本号
|
||||
*
|
||||
* @return int 返回SDK版本号
|
||||
* \endif
|
||||
* @return int The SDK version number.
|
||||
*/
|
||||
int ob_get_version();
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the SDK major version
|
||||
* @brief Get the SDK major version number.
|
||||
*
|
||||
* @return int returns the SDK major version
|
||||
* \else
|
||||
* @brief 获取SDK主版本号
|
||||
*
|
||||
* @return int 返回SDK主版本号
|
||||
* \endif
|
||||
* @return int The SDK major version number.
|
||||
*/
|
||||
int ob_get_major_version();
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the SDK minor version
|
||||
* @brief Get the SDK minor version number.
|
||||
*
|
||||
* @return int returns the SDK minor version
|
||||
* \else
|
||||
* @brief 获取SDK副版本号
|
||||
*
|
||||
* @return int 返回SDK副版本号
|
||||
* \endif
|
||||
* @return int The SDK minor version number.
|
||||
*/
|
||||
int ob_get_minor_version();
|
||||
|
||||
/**
|
||||
* \if English
|
||||
* @brief Get the SDK patch version
|
||||
* @brief Get the SDK patch version number.
|
||||
*
|
||||
* @return int returns the SDK patch version
|
||||
* \else
|
||||
* @brief 获取SDK修订版本号
|
||||
*
|
||||
* @return int 返回SDK修订版本号
|
||||
* \endif
|
||||
* @return int The SDK patch version number.
|
||||
*/
|
||||
int ob_get_patch_version();
|
||||
|
||||
/**
|
||||
* @brief Get the SDK stage version.
|
||||
* @attention The returned char* does not need to be freed.
|
||||
*
|
||||
* @return const char* The SDK stage version.
|
||||
*/
|
||||
const char *ob_get_stage_version();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user