Skip to content

Commit f9a4a36

Browse files
committed
Update SDK sdk to v1.10.16
1 parent 9d65c81 commit f9a4a36

26 files changed

+228
-16
lines changed

sdk/include/libobsensor/h/Context.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,25 @@ void ob_load_license(const char *filePath, const char *key, ob_error **error);
157157
*/
158158
void ob_load_license_from_data(const char *data, uint32_t dataLen, const char *key, ob_error **error);
159159

160+
/**
161+
* @brief Set the UVC backend for the specified context
162+
* This function configures the Universal Video Class (UVC) backend for the given context, allowing the selection of a specific backend for
163+
* video capture operations.
164+
*
165+
* @attention This function is only supported on Linux (ARM) platforms.
166+
* Some devices, like the Dabai series, do not support V4L2. Therefore, the default backend is LIBUVC. Ensure that the device
167+
* supports V4L2 before setting it as the backend.
168+
*
169+
* @param[in] context Pointer to the context object
170+
* @param[in] uvc_backend Specifies the UVC backend to use:
171+
* - `UVC_BACKEND_AUTO`: Automatically selects between
172+
* V4L2 or libuvc based on metadata support.
173+
* - `UVC_BACKEND_LIBUVC`: Forces the use of libuvc.
174+
* - `UVC_BACKEND_V4L2`: Forces the use of V4L2.
175+
* @param[out] error Pointer to an error object that will be populated if an error occurs.
176+
*/
177+
void ob_set_uvc_backend(ob_context *context, ob_uvc_backend uvc_backend, ob_error **error);
178+
160179
#ifdef __cplusplus
161180
}
162181
#endif

sdk/include/libobsensor/h/Filter.h

Lines changed: 82 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,12 +248,93 @@ ob_spatial_advanced_filter_params ob_spatial_advanced_filter_get_filter_params(o
248248
/**
249249
* @brief Set the spatial advanced filter params.
250250
*
251-
* @param[in] filter A temporal_filter object.
251+
* @param[in] filter A spatial advanced filter object.
252252
* @param[in] params ob_spatial_advanced_filter_params.
253253
* @param[out] error Log error messages.
254254
*/
255255
void ob_spatial_advanced_filter_set_filter_params(ob_filter *filter, ob_spatial_advanced_filter_params params, ob_error **error);
256256

257+
/**
258+
* @brief Create a spatial fast filter.
259+
* @param[out] error Log error messages.
260+
* @return A depth_filter object.
261+
*/
262+
ob_filter *ob_create_spatial_fast_filter(ob_error **error);
263+
264+
/**
265+
* @brief Get the spatial fast filter window size range.
266+
*
267+
* @param[in] filter A spatial fast filter object.
268+
* @param[out] error Log error messages.
269+
* @return ob_uint8_property_range the filter window size value of property range.
270+
*/
271+
ob_uint8_property_range ob_spatial_fast_filter_get_size_range(ob_filter *filter, ob_error **error);
272+
273+
/**
274+
* @brief Set the spatial fast filter params.
275+
*
276+
* @param[in] filter A spatial fast filter object.
277+
* @param[in] params ob_spatial_fast_filter_params.
278+
* @param[out] error Log error messages.
279+
*/
280+
void ob_spatial_fast_filter_set_filter_params(ob_filter *filter, ob_spatial_fast_filter_params params, ob_error **error);
281+
282+
/**
283+
* @brief Get the spatial fast filter params.
284+
*
285+
* @param[in] filter A spatial fast filter object.
286+
* @param[out] error Log error messages.
287+
* @return ob_spatial_fast_filter_params.
288+
*/
289+
ob_spatial_fast_filter_params ob_spatial_fast_filter_get_filter_params(ob_filter *filter, ob_error **error);
290+
291+
/**
292+
* @brief Create a spatial moderate filter.
293+
* @param[out] error Log error messages.
294+
* @return A depth_filter object.
295+
*/
296+
ob_filter *ob_create_spatial_moderate_filter(ob_error **error);
297+
/**
298+
* @brief Get the spatial moderate filter disp diff range.
299+
*
300+
* @param[in] filter A spatial moderate filter object.
301+
* @param[out] error Log error messages.
302+
* @return ob_uint16_property_range the dispdiff value of property range.
303+
*/
304+
ob_uint16_property_range ob_spatial_moderate_filter_get_disp_diff_range(ob_filter *filter, ob_error **error);
305+
/**
306+
* @brief Get the spatial moderate filter magnitude range.
307+
*
308+
* @param[in] filter A spatial moderate filter object.
309+
* @param[out] error Log error messages.
310+
* @return ob_uint8_property_range the magnitude value of property range.
311+
*/
312+
ob_uint8_property_range ob_spatial_moderate_filter_get_magnitude_range(ob_filter *filter, ob_error **error);
313+
/**
314+
* @brief Get the spatial moderate filter window size range.
315+
*
316+
* @param[in] filter A spatial moderate filter object.
317+
* @param[out] error Log error messages.
318+
* @return ob_uint8_property_range the filter window size value of property range.
319+
*/
320+
ob_uint8_property_range ob_spatial_moderate_filter_get_size_range(ob_filter *filter, ob_error **error);
321+
/**
322+
* @brief Get the spatial moderate filter params.
323+
*
324+
* @param[in] filter A spatial moderate filter object.
325+
* @param[out] error Log error messages.
326+
* @return ob_spatial_moderate_filter_params.
327+
*/
328+
ob_spatial_moderate_filter_params ob_spatial_moderate_filter_get_filter_params(ob_filter *filter, ob_error **error);
329+
/**
330+
* @brief Set the spatial moderate filter params.
331+
*
332+
* @param[in] filter A spatial moderate filter object.
333+
* @param[in] params ob_spatial_moderate_filter_params.
334+
* @param[out] error Log error messages.
335+
*/
336+
void ob_spatial_moderate_filter_set_filter_params(ob_filter *filter, ob_spatial_moderate_filter_params params, ob_error **error);
337+
257338
/**
258339
* @brief Create a noise removal filter.
259340
* @param[out] error Log error messages.

sdk/include/libobsensor/h/ObTypes.h

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ typedef enum {
206206
OB_FRAME_IR_LEFT = 8, /**< Left IR frame */
207207
OB_FRAME_IR_RIGHT = 9, /**< Right IR frame */
208208
OB_FRAME_RAW_PHASE = 10, /**< Rawphase frame*/
209+
OB_FRAME_TYPE_COUNT, /**< The total number of frame types, is not a valid frame type */
209210
} OBFrameType,
210211
ob_frame_type;
211212

@@ -973,6 +974,18 @@ typedef struct {
973974
uint16_t radius; // hole_fill
974975
} OBSpatialAdvancedFilterParams, ob_spatial_advanced_filter_params;
975976

977+
978+
typedef struct {
979+
uint8_t size; //median filter window size
980+
} OBSpatialFastFilterParams, ob_spatial_fast_filter_params;
981+
982+
983+
typedef struct {
984+
uint8_t size ;
985+
uint8_t magnitude ; // magnitude
986+
uint16_t disp_diff ;
987+
} OBSpatialModerateFilterParams, ob_spatial_moderate_filter_params;
988+
976989
typedef enum OB_EDGE_NOISE_REMOVAL_TYPE {
977990
OB_MG_FILTER = 0,
978991
OB_MGH_FILTER = 1, // horizontal MG
@@ -1440,13 +1453,19 @@ typedef struct {
14401453
int16_t y1_bottom;
14411454
} AE_ROI, ob_region_of_interest, OBRegionOfInterest;
14421455

1456+
typedef struct {
1457+
uint8_t enable;
1458+
uint8_t offset0;
1459+
uint8_t offset1;
1460+
uint8_t reserved;
1461+
} DISP_OFFSET_CONFIG, ob_disp_offset_config, OBDispOffsetConfig;
14431462

1444-
typedef struct{
1445-
uint8_t enable;
1446-
uint8_t offset0;
1447-
uint8_t offset1;
1448-
uint8_t reserved;
1449-
}DISP_OFFSET_CONFIG,ob_disp_offset_config,OBDispOffsetConfig;
1463+
typedef enum {
1464+
UVC_BACKEND_AUTO = 0,
1465+
UVC_BACKEND_LIBUVC = 1,
1466+
UVC_BACKEND_V4L2 = 2,
1467+
} UVC_BACKEND,
1468+
ob_uvc_backend, OBUvcBackend;
14501469

14511470
/**
14521471
* @brief Frame metadata types

sdk/include/libobsensor/hpp/Context.hpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,5 +143,22 @@ class OB_EXTENSION_API Context {
143143
* @param key The decryption key.
144144
*/
145145
static void loadLicenseFromData(const char *data, uint32_t dataLen, const char *key = OB_DEFAULT_DECRYPT_KEY);
146+
147+
/**
148+
* @brief Set the UVC backend for the specified context
149+
* This function configures the Universal Video Class (UVC) backend for the given context, allowing the selection of a specific backend for
150+
* video capture operations.
151+
*
152+
* @attention This function is only supported on Linux (ARM) platforms.
153+
* Some devices, like the Dabai series, do not support V4L2. Therefore, the default backend is LIBUVC. Ensure that the device
154+
* supports V4L2 before setting it as the backend.
155+
*
156+
* @param[in] uvcBackend Specifies the UVC backend to use:
157+
* - `UVC_BACKEND_AUTO`: Automatically selects between
158+
* V4L2 or libuvc based on metadata support.
159+
* - `UVC_BACKEND_LIBUVC`: Forces the use of libuvc.
160+
* - `UVC_BACKEND_V4L2`: Forces the use of V4L2.
161+
*/
162+
void setUVCBackend(OBUvcBackend uvcBackend);
146163
};
147164
} // namespace ob

sdk/include/libobsensor/hpp/Filter.hpp

Lines changed: 80 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ class OB_EXTENSION_API TemporalFilter : public Filter {
258258
};
259259

260260
/**
261-
* @brief Spatial advanced filte smooths the image by calculating frame with alpha and delta settings
261+
* @brief Spatial advanced filter smooths the image by calculating frame with alpha and delta settings
262262
* alpha defines the weight of the current pixel for smoothing,
263263
* delta defines the depth gradient below which the smoothing will occur as number of depth levels.
264264
*/
@@ -276,21 +276,21 @@ class OB_EXTENSION_API SpatialAdvancedFilter : public Filter {
276276
/**
277277
* @brief Get the spatial advanced filter dispdiff range.
278278
*
279-
* @return OBFloatPropertyRange the dispdiff value of property range.
279+
* @return OBUint16PropertyRange the dispdiff value of property range.
280280
*/
281281
OBUint16PropertyRange getDispDiffRange();
282282

283283
/**
284284
* @brief Get the spatial advanced filter radius range.
285285
*
286-
* @return OBFloatPropertyRange the radius value of property range.
286+
* @return OBUint16PropertyRange the radius value of property range.
287287
*/
288288
OBUint16PropertyRange getRadiusRange();
289289

290290
/**
291291
* @brief Get the spatial advanced filter magnitude range.
292292
*
293-
* @return OBFloatPropertyRange the magnitude value of property range.
293+
* @return OBIntPropertyRange the magnitude value of property range.
294294
*/
295295
OBIntPropertyRange getMagnitudeRange();
296296

@@ -310,6 +310,73 @@ class OB_EXTENSION_API SpatialAdvancedFilter : public Filter {
310310
};
311311

312312
/**
313+
* @brief Spatial fast filter smooths the image by calculating frame with filter window size settings
314+
*/
315+
class OB_EXTENSION_API SpatialFastFilter : public Filter {
316+
public:
317+
SpatialFastFilter();
318+
/**
319+
* @brief Get the spatial fast filter window size range
320+
*
321+
* @return OBUint8PropertyRange the windows size value of property range.
322+
*/
323+
OBUint8PropertyRange getSizeRange();
324+
325+
/**
326+
* @brief Get the spatial fast filter params.
327+
*
328+
* @return OBSpatialFastFilterParams
329+
*/
330+
OBSpatialFastFilterParams getFilterParams();
331+
/**
332+
* @brief Set the spatial fast filter params.
333+
*
334+
* @param params OBSpatialFastFilterParams.
335+
*/
336+
void setFilterParams(OBSpatialFastFilterParams params);
337+
};
338+
339+
/**
340+
* @brief Spatial moderate filter smooths the image by calculating frame with filter window size,magnitude and disp diff settings
341+
*/
342+
class OB_EXTENSION_API SpatialModerateFilter : public Filter {
343+
public:
344+
SpatialModerateFilter();
345+
/**
346+
* @brief Get the spatial moderate filter window size range
347+
*
348+
* @return OBUint8PropertyRange the windows size value of property range.
349+
*/
350+
OBUint8PropertyRange getSizeRange();
351+
352+
/**
353+
* @brief Get the spatial moderate filter magnitude range.
354+
*
355+
* @return OBUint8PropertyRange the magnitude value of property range.
356+
*/
357+
OBUint8PropertyRange getMagnitudeRange();
358+
/**
359+
* @brief Get the spatial moderate filter dispdiff range.
360+
*
361+
* @return OBUint16PropertyRange the dispdiff value of property range.
362+
*/
363+
OBUint16PropertyRange getDispDiffRange();
364+
365+
/**
366+
* @brief Get the spatial moderate filter params.
367+
*
368+
* @return OBSpatialModerateFilterParams
369+
*/
370+
OBSpatialModerateFilterParams getFilterParams();
371+
/**
372+
* @brief Set the spatial moderate filter params.
373+
*
374+
* @param params OBSpatialModerateFilterParams.
375+
*/
376+
void setFilterParams(OBSpatialModerateFilterParams params);
377+
};
378+
379+
/**
313380
* @brief Depth to disparity or disparity to depth
314381
*/
315382
class OB_EXTENSION_API DisparityTransform : public Filter {
@@ -542,6 +609,15 @@ template <typename T> bool Filter::is() {
542609
if(name == "SpatialAdvancedFilter") {
543610
return typeid(T) == typeid(SpatialAdvancedFilter);
544611
}
612+
613+
if(name == "SpatialFastFilter") {
614+
return typeid(T) == typeid(SpatialFastFilter);
615+
}
616+
617+
if(name == "SpatialModerateFilter") {
618+
return typeid(T) == typeid(SpatialModerateFilter);
619+
}
620+
545621
if(name == "TemporalFilter") {
546622
return typeid(T) == typeid(TemporalFilter);
547623
}

sdk/lib/arm32/libOrbbecSDK.so.1.10

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
libOrbbecSDK.so.1.10.12
1+
libOrbbecSDK.so.1.10.16

sdk/lib/arm64/libOrbbecSDK.so.1.10

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
libOrbbecSDK.so.1.10.12
1+
libOrbbecSDK.so.1.10.16

sdk/lib/arm64/liblive555.so

4 KB
Binary file not shown.

0 commit comments

Comments
 (0)