mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-10-04 03:57:46 +08:00
update SDK to v1.5.6
This commit is contained in:
@@ -1113,11 +1113,11 @@ typedef enum {
|
|||||||
* propertyId && OBCmdVersion match only one data type.
|
* propertyId && OBCmdVersion match only one data type.
|
||||||
* 2. itemCount is the number of data type contain in data bytes.
|
* 2. itemCount is the number of data type contain in data bytes.
|
||||||
* 3. C language and C++ is difference.
|
* 3. C language and C++ is difference.
|
||||||
*
|
*
|
||||||
* C language:
|
* C language:
|
||||||
* data's type is an uint8_t pointer, user parse data to destionation type.
|
* data's type is an uint8_t pointer, user parse data to destionation type.
|
||||||
* itemTypeSize == 1,dataSize == itemCount;
|
* itemTypeSize == 1,dataSize == itemCount;
|
||||||
*
|
*
|
||||||
* C++:
|
* C++:
|
||||||
* data's type is the propertyId && OBCmdVersion's data type.
|
* data's type is the propertyId && OBCmdVersion's data type.
|
||||||
* itemTypeSize = sizeof(T),itemCount = dataSize / itemTypeSize;
|
* itemTypeSize = sizeof(T),itemCount = dataSize / itemTypeSize;
|
||||||
@@ -1139,11 +1139,15 @@ typedef enum {
|
|||||||
typedef struct OBDataBundle {
|
typedef struct OBDataBundle {
|
||||||
OBCmdVersion cmdVersion; ///< \if English propertyId's OBCmdVersion \else 与控制命令关联的数据结构的版本号 \endif
|
OBCmdVersion cmdVersion; ///< \if English propertyId's OBCmdVersion \else 与控制命令关联的数据结构的版本号 \endif
|
||||||
|
|
||||||
void * data; ///< \if English Data contain which contain itemCount of element. void *data = new T[itemCount];\else 数据内容,是一个数组,长度为 itemCount; void *data = new T[itemCount]; 数组元素类型为 T,类型 T 由 propertyId 和 cmdVersion 决定 \endif
|
void *data; ///< \if English Data contain which contain itemCount of element. void *data = new T[itemCount];\else 数据内容,是一个数组,长度为 itemCount;
|
||||||
uint32_t dataSize; ///< \if English Data size. unit: byte. dataSize == itemTypeSize * itemCount \else data 的大小,单位:byte,dataSize == itemTypeSize * itemCount \endif
|
///< void *data = new T[itemCount]; 数组元素类型为 T,类型 T 由 propertyId 和 cmdVersion 决定 \endif
|
||||||
|
uint32_t dataSize; ///< \if English Data size. unit: byte. dataSize == itemTypeSize * itemCount \else data 的大小,单位:byte,dataSize == itemTypeSize *
|
||||||
|
///< itemCount \endif
|
||||||
|
|
||||||
uint32_t itemTypeSize; ///< \if English Size of data item. C language, itemTypeSize = 1, C++: itemTypeSize = sizeof(T) \else data 内容映射的目标对象的数据类型大小,C 语言:1,C++:sizeof(T) \endif
|
uint32_t itemTypeSize; ///< \if English Size of data item. C language, itemTypeSize = 1, C++: itemTypeSize = sizeof(T) \else data
|
||||||
uint32_t itemCount; ///< \if English Count of data item. itemCount = dataSize / itemTypeSize; 0 == dataSize % itemTypeSize; \else data 内容映射的目标对象数量,满足条件:itemCount = dataSize / itemTypeSize; 0 == dataSize % itemTypeSize; \endif
|
///< 内容映射的目标对象的数据类型大小,C 语言:1,C++:sizeof(T) \endif
|
||||||
|
uint32_t itemCount; ///< \if English Count of data item. itemCount = dataSize / itemTypeSize; 0 == dataSize % itemTypeSize; \else data
|
||||||
|
///< 内容映射的目标对象数量,满足条件:itemCount = dataSize / itemTypeSize; 0 == dataSize % itemTypeSize; \endif
|
||||||
} OBDataBundle, ob_data_bundle;
|
} OBDataBundle, ob_data_bundle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1227,6 +1231,61 @@ typedef enum {
|
|||||||
} ob_power_line_freq_mode,
|
} ob_power_line_freq_mode,
|
||||||
OBPowerLineFreqMode;
|
OBPowerLineFreqMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \if English
|
||||||
|
* @brief Frame aggregate output mode
|
||||||
|
* \else
|
||||||
|
* @brief 帧汇聚输出模式
|
||||||
|
* \endif
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
/**
|
||||||
|
* \if English
|
||||||
|
* @brief Only FrameSet that contains all types of data frames will be output
|
||||||
|
* \else
|
||||||
|
* @brief 只有包含所有类型数据帧的FrameSet才会被输出
|
||||||
|
* \endif
|
||||||
|
*/
|
||||||
|
OB_FRAME_AGGREGATE_OUTPUT_FULL_FRAME_REQUIRE = 0,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \if English
|
||||||
|
*
|
||||||
|
* @brief Frame aggregate output mode
|
||||||
|
* @brief Suitable for Color using H264, H265 and other inter-frame encoding format open stream
|
||||||
|
*
|
||||||
|
* @attention In this mode, the user may return null when getting a non-Color type data frame from the acquired FrameSet
|
||||||
|
*
|
||||||
|
* \else
|
||||||
|
*
|
||||||
|
* @brief 必须包含Color类似数据帧的FrameSet才会被输出
|
||||||
|
* @brief 适用于Color使用H264、H265等帧间编码格式开流的情况
|
||||||
|
*
|
||||||
|
* @attention 该模式下,用户从获取到的FrameSet上获取非Color类型数据帧可能会返回空
|
||||||
|
*
|
||||||
|
* \endif
|
||||||
|
*/
|
||||||
|
OB_FRAME_AGGREGATE_OUTPUT_COLOR_FRAME_REQUIRE,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \if English
|
||||||
|
*
|
||||||
|
* @brief FrameSet for any case will be output
|
||||||
|
*
|
||||||
|
* @attention In this mode, the user may return null when getting the specified type of data frame from the acquired FrameSet
|
||||||
|
*
|
||||||
|
* \else
|
||||||
|
*
|
||||||
|
* @brief 任何情况的FrameSet都会被输出
|
||||||
|
*
|
||||||
|
* @attention 该模式下,用户从获取到的FrameSet上获取指定类型数据帧可能会返回空
|
||||||
|
*
|
||||||
|
* \endif
|
||||||
|
*/
|
||||||
|
OB_FRAME_AGGREGATE_OUTPUT_ANY_SITUATION,
|
||||||
|
} OB_FRAME_AGGREGATE_OUTPUT_MODE,
|
||||||
|
OBFrameAggregateOutputMode, ob_frame_aggregate_output_mode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \if English
|
* \if English
|
||||||
* @brief file transfer callback
|
* @brief file transfer callback
|
||||||
@@ -1377,7 +1436,7 @@ typedef void(ob_frame_destroy_callback)(void *buffer, void *context);
|
|||||||
/**
|
/**
|
||||||
* \if English
|
* \if English
|
||||||
* @brief Check sensor_type is IR sensor, true: IR sensor, false: no IR sensor
|
* @brief Check sensor_type is IR sensor, true: IR sensor, false: no IR sensor
|
||||||
* \else
|
* \else
|
||||||
* @brief 判断是否为 IR Sensor
|
* @brief 判断是否为 IR Sensor
|
||||||
* \endif
|
* \endif
|
||||||
*
|
*
|
||||||
@@ -1388,7 +1447,7 @@ typedef void(ob_frame_destroy_callback)(void *buffer, void *context);
|
|||||||
/**
|
/**
|
||||||
* \if English
|
* \if English
|
||||||
* @brief Check stream_type is IR stream, true: IR stream, false: no IR stream
|
* @brief Check stream_type is IR stream, true: IR stream, false: no IR stream
|
||||||
* \else
|
* \else
|
||||||
* @brief 判断是否为 IR 数据流
|
* @brief 判断是否为 IR 数据流
|
||||||
* \endif
|
* \endif
|
||||||
*
|
*
|
||||||
@@ -1399,7 +1458,7 @@ typedef void(ob_frame_destroy_callback)(void *buffer, void *context);
|
|||||||
/**
|
/**
|
||||||
* \if English
|
* \if English
|
||||||
* @brief Check frame_type is IR frame, true: IR frame, false: no IR frame
|
* @brief Check frame_type is IR frame, true: IR frame, false: no IR frame
|
||||||
* \else
|
* \else
|
||||||
* @brief 判断是否为 IR 数据帧
|
* @brief 判断是否为 IR 数据帧
|
||||||
* \endif
|
* \endif
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -551,6 +551,26 @@ void ob_config_set_depth_scale_require(ob_config *config, bool enable, ob_error
|
|||||||
*/
|
*/
|
||||||
void ob_config_set_d2c_target_resolution(ob_config *config, uint32_t d2c_target_width, uint32_t d2c_target_height, ob_error **error);
|
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 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
|
||||||
|
*
|
||||||
|
* @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
|
||||||
|
*/
|
||||||
|
void ob_config_set_frame_aggregate_output_mode(ob_config *config, ob_frame_aggregate_output_mode mode, ob_error **error);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:1fd566bbf6ceb1e3f973865412a7489f1c9be47d874361da605c9fa768a30d7f
|
||||||
|
size 76355036
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:3cec1fed11172cb3b0a1f03ea85522468667cc16981874715ce6f04f1e3f38bf
|
||||||
|
size 88641824
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:623462b1f4080c0acf4bcf8586dad60b17461afc3320e465b2e478ab9f97541f
|
||||||
|
size 86328864
|
||||||
Reference in New Issue
Block a user