update OrbbecSDK version to 1.10.36

This commit is contained in:
slz
2026-06-18 17:43:45 +08:00
parent c780bc1108
commit 2a8fd7759f
4 changed files with 152 additions and 19 deletions
@@ -647,9 +647,9 @@ typedef enum {
OB_PROP_DEPTH_RM_FILTER_BOOL = 2029, OB_PROP_DEPTH_RM_FILTER_BOOL = 2029,
/** /**
* @brief Color camera maximal gain * @brief Color AE max gain
*/ */
OB_PROP_COLOR_MAXIMAL_GAIN_INT = 2030, OB_PROP_COLOR_AE_MAX_GAIN_INT = 2030,
/** /**
* @brief Color camera shutter gain * @brief Color camera shutter gain
@@ -746,6 +746,12 @@ typedef enum {
* @brief Calibration JSON file read from device (Femto Mega, read only) * @brief Calibration JSON file read from device (Femto Mega, read only)
*/ */
OB_RAW_DATA_CAMERA_CALIB_JSON_FILE = 4029, OB_RAW_DATA_CAMERA_CALIB_JSON_FILE = 4029,
/**
* @brief Color camera CCI denoising level. 0: Auto; 1-8: higher values indicate stronger denoising.
* @note This setting has no effect when AE (Auto Exposure) is disabled.
*/
OB_PROP_COLOR_DENOISING_LEVEL_INT = 5525,
} OBPropertyID, } OBPropertyID,
ob_property_id; ob_property_id;
@@ -1 +1 @@
libOrbbecSDK.so.1.10.35 libOrbbecSDK.so.1.10.36
+143 -16
View File
@@ -19,7 +19,11 @@
<!--Default log output file number (circular overwrite), int type--> <!--Default log output file number (circular overwrite), int type-->
<MaxFileNum>3</MaxFileNum> <MaxFileNum>3</MaxFileNum>
<!--Log asynchronous output, changing to asynchronous output can reduce the blocking time of printing logs, but some logs may be lost when the program exits abnormally; true-enable, false-disable (default)--> <!--Log asynchronous output, changing to asynchronous output can reduce the blocking time of printing logs, but some logs may be lost when the program exits abnormally; true-enable, false-disable (default)-->
<Async>false</Async> <Async>true</Async>
<!-- Log flush mode, bool type. true-periodic flush (flush on warn level, default), false-flush on every log -->
<PeriodicFlush>true</PeriodicFlush>
<!-- Log periodic flush interval in seconds, float type, default 0.5 second. Only effective when PeriodicFlush is true -->
<FlushIntervalSec>0.5</FlushIntervalSec>
</Log> </Log>
<Memory> <Memory>
@@ -75,9 +79,11 @@
<Device> <Device>
<EnumerateNetDevice>false</EnumerateNetDevice> <EnumerateNetDevice>false</EnumerateNetDevice>
<!--UVC Backend select on Linux; optional values: Auto, V4L2, LibUVC; Auto is the default value--> <!--Global UVC Backend select on Linux; optional values: Auto, V4L2, LibUVC. When set to "Auto",
<LinuxUVCBackend>LibUVC</LinuxUVCBackend> each device falls back to its own "LinuxUVCDefaultBackend" item (see below), and if that is
also "Auto" the backend is chosen automatically based on the device's capabilities.-->
<LinuxUVCBackend>Auto</LinuxUVCBackend>
<!--The device corresponding to Astra adv is astra+--> <!--The device corresponding to Astra adv is astra+-->
<AstraAdv> <AstraAdv>
<Depth> <Depth>
@@ -251,6 +257,9 @@
</FemtoLive> </FemtoLive>
<FemtoMega> <FemtoMega>
<!--Default backend for Linux UVC devices of this model; optional values: Auto, V4L2, LibUVC.
Note: Femto Mega is always forced to use the V4L2 backend in code regardless of this setting-->
<LinuxUVCDefaultBackend>V4L2</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -309,6 +318,9 @@
</IR> </IR>
</FemtoMega> </FemtoMega>
<FemtoBolt> <FemtoBolt>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -368,6 +380,9 @@
</FemtoBolt> </FemtoBolt>
<DaBai> <DaBai>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -405,6 +420,44 @@
<StreamFailedRetry>0</StreamFailedRetry> <StreamFailedRetry>0</StreamFailedRetry>
</IR> </IR>
</DaBai> </DaBai>
<Petrel>
<Depth>
<!--The width of the default resolution, int type-->
<Width>640</Width>
<!--The height of the default resolution, int type-->
<Height>400</Height>
<!--Default frame rate, int type-->
<FPS>30</FPS>
<!--Default frame format-->
<Format>Y11</Format>
<!--Whether to retry after open stream failure, 0 means no retry, >=1 retry and how many times to retry-->
<StreamFailedRetry>0</StreamFailedRetry>
</Depth>
<Color>
<!--The width of the default resolution, int type-->
<Width>640</Width>
<!--The height of the default resolution, int type-->
<Height>480</Height>
<!--Default frame rate, int type-->
<FPS>30</FPS>
<!--Default frame format-->
<Format>MJPG</Format>
<!--Whether to retry after open stream failure, 0 means no retry, >=1 retry and how many times to retry-->
<StreamFailedRetry>0</StreamFailedRetry>
</Color>
<IR>
<!--The width of the default resolution, int type-->
<Width>640</Width>
<!--The height of the default resolution, int type-->
<Height>400</Height>
<!--Default frame rate, int type-->
<FPS>30</FPS>
<!--Default frame format-->
<Format>Y10</Format>
<!--Whether to retry after open stream failure, 0 means no retry, >=1 retry and how many times to retry-->
<StreamFailedRetry>0</StreamFailedRetry>
</IR>
</Petrel>
<DaBaiPro> <DaBaiPro>
<Depth> <Depth>
@@ -434,6 +487,9 @@
</DaBaiPro> </DaBaiPro>
<DaBaiDCW> <DaBaiDCW>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -473,6 +529,9 @@
</DaBaiDCW> </DaBaiDCW>
<DaBaiDCW2> <DaBaiDCW2>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!-- Depth Filter Params --> <!-- Depth Filter Params -->
<!-- <!--
<DepthFilterDDOConfig>./Openni_device.json</DepthFilterDDOConfig> <DepthFilterDDOConfig>./Openni_device.json</DepthFilterDDOConfig>
@@ -515,6 +574,9 @@
</IR> </IR>
</DaBaiDCW2> </DaBaiDCW2>
<GeminiEW> <GeminiEW>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -563,6 +625,10 @@
</IR> </IR>
</GeminiEW> </GeminiEW>
<DaBaiMax> <DaBaiMax>
<!-- Depth Filter Params -->
<!--
<DepthFilterDDOConfig>./Openni_device.json</DepthFilterDDOConfig>
-->
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -575,18 +641,6 @@
<!--Whether to retry after open stream failure, 0 means no retry, >=1 retry and how many times to retry--> <!--Whether to retry after open stream failure, 0 means no retry, >=1 retry and how many times to retry-->
<StreamFailedRetry>0</StreamFailedRetry> <StreamFailedRetry>0</StreamFailedRetry>
</Depth> </Depth>
<Color>
<!--The width of the default resolution, int type-->
<Width>640</Width>
<!--The height of the default resolution, int type-->
<Height>480</Height>
<!--Default frame rate, int type-->
<FPS>25</FPS>
<!--Default frame format-->
<Format>MJPG</Format>
<!--Whether to retry after open stream failure, 0 means no retry, >=1 retry and how many times to retry-->
<StreamFailedRetry>0</StreamFailedRetry>
</Color>
<IR> <IR>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -601,6 +655,16 @@
</IR> </IR>
</DaBaiMax> </DaBaiMax>
<DaBaiMaxPro> <DaBaiMaxPro>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!-- Depth Filter Params -->
<!--
<DepthFilterDDOConfig>./Openni_device.json</DepthFilterDDOConfig>
-->
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -639,6 +703,9 @@
</IR> </IR>
</DaBaiMaxPro> </DaBaiMaxPro>
<GeminiUW> <GeminiUW>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -756,6 +823,9 @@
</IR> </IR>
</GeminiEWLite> </GeminiEWLite>
<DaBaiDC1> <DaBaiDC1>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -978,6 +1048,9 @@
</AstraMiniSPro> </AstraMiniSPro>
<AstraStereoSU3> <AstraStereoSU3>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -1017,6 +1090,9 @@
</AstraStereoSU3> </AstraStereoSU3>
<SV1301S_U3> <SV1301S_U3>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -1172,6 +1248,9 @@
</AstraProPlus> </AstraProPlus>
<AstraEmbeddedS> <AstraEmbeddedS>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -1211,6 +1290,9 @@
</AstraEmbeddedS> </AstraEmbeddedS>
<Deeyea> <Deeyea>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -1287,6 +1369,9 @@
</IR> </IR>
</SL1502P_U2> </SL1502P_U2>
<GeminiE> <GeminiE>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<Depth> <Depth>
<!--The width of the default resolution, int type--> <!--The width of the default resolution, int type-->
<Width>640</Width> <Width>640</Width>
@@ -1352,6 +1437,9 @@
</GeminiELite> </GeminiELite>
<!--Gemini2 config--> <!--Gemini2 config-->
<OrbbecGemini2> <OrbbecGemini2>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaultHeartBeat>0</DefaultHeartBeat> <DefaultHeartBeat>0</DefaultHeartBeat>
<!--Whether to enable firmware upgrade foolproof by default, only internal version supports--> <!--Whether to enable firmware upgrade foolproof by default, only internal version supports-->
@@ -1523,6 +1611,9 @@
<!--DaBaiDCL config--> <!--DaBaiDCL config-->
<DaBaiDCL> <DaBaiDCL>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaultHeartBeat>0</DefaultHeartBeat> <DefaultHeartBeat>0</DefaultHeartBeat>
<!--Whether to enable firmware upgrade foolproof by default, only internal version supports--> <!--Whether to enable firmware upgrade foolproof by default, only internal version supports-->
@@ -1667,6 +1758,9 @@
</DaBaiDCL> </DaBaiDCL>
<!--OrbbecGemini2L config--> <!--OrbbecGemini2L config-->
<OrbbecGemini2L> <OrbbecGemini2L>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaulHeartBeat>0</DefaulHeartBeat> <DefaulHeartBeat>0</DefaulHeartBeat>
@@ -1833,6 +1927,9 @@
</OrbbecGemini2L> </OrbbecGemini2L>
<!--Astra2 config--> <!--Astra2 config-->
<OrbbecAstra2> <OrbbecAstra2>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaulHeartBeat>0</DefaulHeartBeat> <DefaulHeartBeat>0</DefaulHeartBeat>
@@ -1935,6 +2032,9 @@
</OrbbecAstra2> </OrbbecAstra2>
<!-- Gemini2VL config --> <!-- Gemini2VL config -->
<OrbbecGemini2VL> <OrbbecGemini2VL>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaulHeartBeat>0</DefaulHeartBeat> <DefaulHeartBeat>0</DefaulHeartBeat>
@@ -2082,6 +2182,9 @@
</OrbbecGemini2VL> </OrbbecGemini2VL>
<!-- Gemini2XL config --> <!-- Gemini2XL config -->
<OrbbecGemini2XL> <OrbbecGemini2XL>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaulHeartBeat>0</DefaulHeartBeat> <DefaulHeartBeat>0</DefaulHeartBeat>
@@ -2321,6 +2424,9 @@
<!--Gemini2R config--> <!--Gemini2R config-->
<OrbbecGemini335> <OrbbecGemini335>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaultHeartBeat>0</DefaultHeartBeat> <DefaultHeartBeat>0</DefaultHeartBeat>
<!--Whether to enable firmware upgrade foolproof by default, only internal version supports--> <!--Whether to enable firmware upgrade foolproof by default, only internal version supports-->
@@ -2390,6 +2496,9 @@
<!--Gemini330 config--> <!--Gemini330 config-->
<OrbbecGemini330> <OrbbecGemini330>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaultHeartBeat>0</DefaultHeartBeat> <DefaultHeartBeat>0</DefaultHeartBeat>
<!--Whether to enable firmware upgrade foolproof by default, only internal version supports--> <!--Whether to enable firmware upgrade foolproof by default, only internal version supports-->
@@ -2459,6 +2568,9 @@
<!--Gemini330L config--> <!--Gemini330L config-->
<OrbbecGemini330L> <OrbbecGemini330L>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaultHeartBeat>0</DefaultHeartBeat> <DefaultHeartBeat>0</DefaultHeartBeat>
<!--Whether to enable firmware upgrade foolproof by default, only internal version supports--> <!--Whether to enable firmware upgrade foolproof by default, only internal version supports-->
@@ -2528,6 +2640,9 @@
<!--Gemini2RL config--> <!--Gemini2RL config-->
<OrbbecGemini335L> <OrbbecGemini335L>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaultHeartBeat>0</DefaultHeartBeat> <DefaultHeartBeat>0</DefaultHeartBeat>
<!--Whether to enable firmware upgrade foolproof by default, only internal version supports--> <!--Whether to enable firmware upgrade foolproof by default, only internal version supports-->
@@ -2597,6 +2712,9 @@
<!--Gemini 336 config--> <!--Gemini 336 config-->
<OrbbecGemini336> <OrbbecGemini336>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaultHeartBeat>0</DefaultHeartBeat> <DefaultHeartBeat>0</DefaultHeartBeat>
<!--Whether to enable firmware upgrade foolproof by default, only internal version supports--> <!--Whether to enable firmware upgrade foolproof by default, only internal version supports-->
@@ -2666,6 +2784,9 @@
<!--Gemini 336L config--> <!--Gemini 336L config-->
<OrbbecGemini336L> <OrbbecGemini336L>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaultHeartBeat>0</DefaultHeartBeat> <DefaultHeartBeat>0</DefaultHeartBeat>
<!--Whether to enable firmware upgrade foolproof by default, only internal version supports--> <!--Whether to enable firmware upgrade foolproof by default, only internal version supports-->
@@ -2734,6 +2855,9 @@
</OrbbecGemini336L> </OrbbecGemini336L>
<!--Gemini 215 config--> <!--Gemini 215 config-->
<OrbbecGemini215> <OrbbecGemini215>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaultHeartBeat>0</DefaultHeartBeat> <DefaultHeartBeat>0</DefaultHeartBeat>
<!--Whether to enable firmware upgrade foolproof by default, only internal version supports--> <!--Whether to enable firmware upgrade foolproof by default, only internal version supports-->
@@ -2786,6 +2910,9 @@
</OrbbecGemini215> </OrbbecGemini215>
<!--Gemini 210 config--> <!--Gemini 210 config-->
<OrbbecGemini210> <OrbbecGemini210>
<!--Default backend for Linux UVC devices of this model when the global "LinuxUVCBackend" is "Auto";
optional values: Auto, V4L2, LibUVC-->
<LinuxUVCDefaultBackend>Auto</LinuxUVCDefaultBackend>
<!--Whether to enable heartbeat by default--> <!--Whether to enable heartbeat by default-->
<DefaultHeartBeat>0</DefaultHeartBeat> <DefaultHeartBeat>0</DefaultHeartBeat>
<!--Whether to enable firmware upgrade foolproof by default, only internal version supports--> <!--Whether to enable firmware upgrade foolproof by default, only internal version supports-->