node-gpuinfo 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +336 -0
  3. package/binding.gyp +69 -0
  4. package/build/Release/gpu.exp +0 -0
  5. package/build/Release/gpu.lib +0 -0
  6. package/build/Release/gpu.node +0 -0
  7. package/build/Release/gpu.pdb +0 -0
  8. package/build/binding.sln +19 -0
  9. package/build/gpu.vcxproj +175 -0
  10. package/build/gpu.vcxproj.filters +169 -0
  11. package/example.js +69 -0
  12. package/index.js +33 -0
  13. package/package.json +68 -0
  14. package/src/binding.cpp +201 -0
  15. package/src/gpu_info.c +130 -0
  16. package/src/gpu_info.h +86 -0
  17. package/src/includes/adlx/ADLX.h +367 -0
  18. package/src/includes/adlx/ADLXDefines.h +1345 -0
  19. package/src/includes/adlx/ADLXHelper/ADLXHelper.c +175 -0
  20. package/src/includes/adlx/ADLXHelper/ADLXHelper.h +245 -0
  21. package/src/includes/adlx/ADLXHelper/WinAPIS.c +64 -0
  22. package/src/includes/adlx/ADLXStructures.h +206 -0
  23. package/src/includes/adlx/ADLXVersion.h +18 -0
  24. package/src/includes/adlx/I3DSettings.h +3476 -0
  25. package/src/includes/adlx/I3DSettings1.h +292 -0
  26. package/src/includes/adlx/I3DSettings2.h +317 -0
  27. package/src/includes/adlx/IApplications.h +397 -0
  28. package/src/includes/adlx/IChangedEvent.h +71 -0
  29. package/src/includes/adlx/ICollections.h +325 -0
  30. package/src/includes/adlx/IDesktops.h +918 -0
  31. package/src/includes/adlx/IDisplay3DLUT.h +663 -0
  32. package/src/includes/adlx/IDisplayGamma.h +683 -0
  33. package/src/includes/adlx/IDisplayGamut.h +760 -0
  34. package/src/includes/adlx/IDisplaySettings.h +3476 -0
  35. package/src/includes/adlx/IDisplays.h +2676 -0
  36. package/src/includes/adlx/IDisplays1.h +191 -0
  37. package/src/includes/adlx/IDisplays2.h +188 -0
  38. package/src/includes/adlx/IDisplays3.h +256 -0
  39. package/src/includes/adlx/IGPUAutoTuning.h +460 -0
  40. package/src/includes/adlx/IGPUManualFanTuning.h +1007 -0
  41. package/src/includes/adlx/IGPUManualGFXTuning.h +607 -0
  42. package/src/includes/adlx/IGPUManualPowerTuning.h +340 -0
  43. package/src/includes/adlx/IGPUManualVRAMTuning.h +576 -0
  44. package/src/includes/adlx/IGPUPresetTuning.h +469 -0
  45. package/src/includes/adlx/IGPUTuning.h +1239 -0
  46. package/src/includes/adlx/IGPUTuning1.h +197 -0
  47. package/src/includes/adlx/II2C.h +198 -0
  48. package/src/includes/adlx/ILog.h +72 -0
  49. package/src/includes/adlx/IMultiMedia.h +578 -0
  50. package/src/includes/adlx/IPerformanceMonitoring.h +2520 -0
  51. package/src/includes/adlx/IPerformanceMonitoring1.h +134 -0
  52. package/src/includes/adlx/IPerformanceMonitoring2.h +341 -0
  53. package/src/includes/adlx/IPerformanceMonitoring3.h +199 -0
  54. package/src/includes/adlx/IPowerTuning.h +473 -0
  55. package/src/includes/adlx/IPowerTuning1.h +515 -0
  56. package/src/includes/adlx/ISmartAccessMemory.h +114 -0
  57. package/src/includes/adlx/ISystem.h +1557 -0
  58. package/src/includes/adlx/ISystem1.h +237 -0
  59. package/src/includes/adlx/ISystem2.h +643 -0
  60. package/src/linux/amd_linux.c +269 -0
  61. package/src/linux/intel_linux.c +20 -0
  62. package/src/linux/nvidia_linux.c +257 -0
  63. package/src/macos/amd_mac.c +131 -0
  64. package/src/macos/intel_mac.c +131 -0
  65. package/src/macos/nvidia_mac.c +21 -0
  66. package/src/vendor/amd.c +37 -0
  67. package/src/vendor/intel.c +37 -0
  68. package/src/vendor/nvidia.c +37 -0
  69. package/src/windows/amd_windows.c +468 -0
  70. package/src/windows/intel_windows.c +157 -0
  71. package/src/windows/nvidia_windows.c +252 -0
@@ -0,0 +1,663 @@
1
+ //
2
+ // Copyright (c) 2021 - 2025 Advanced Micro Devices, Inc. All rights reserved.
3
+ //
4
+ //-------------------------------------------------------------------------------------------------
5
+
6
+ #ifndef ADLX_IDISPLAY3DLUT_H
7
+ #define ADLX_IDISPLAY3DLUT_H
8
+ #pragma once
9
+
10
+ #include "ADLXDefines.h"
11
+ #include "ADLXStructures.h"
12
+ //-------------------------------------------------------------------------------------------------
13
+ //IDisplays3DLUT.h - Interfaces for ADLX Display 3D LUT functionality
14
+
15
+ #pragma region IADLXDisplay3DLUT interface
16
+ #if defined (__cplusplus)
17
+
18
+ namespace adlx
19
+ {
20
+ class ADLX_NO_VTABLE IADLXDisplay3DLUT : public IADLXInterface
21
+ {
22
+
23
+ public:
24
+ ADLX_DECLARE_IID (L"IADLXDisplay3DLUT")
25
+
26
+ /**
27
+ *@page DOX_IADLXDisplay3DLUT_IsSupportedSCE IsSupportedSCE
28
+ *@ENG_START_DOX @brief Checks if color enhancement is supported on a display. @ENG_END_DOX
29
+ *
30
+ *@syntax
31
+ *@codeStart
32
+ * @ref ADLX_RESULT IsSupportedSCE (adlx_bool* supported)
33
+ *@codeEnd
34
+ *
35
+ *@params
36
+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color enhancement is returned. The variable is __true__ if color enhancement is supported. The variable is __false__ if color enhancement is not supported. @ENG_END_DOX}
37
+ *
38
+ *@retvalues
39
+ *@ENG_START_DOX If the state of color enhancement is successfully returned, __ADLX_OK__ is returned. <br>
40
+ * If the state of color enhancement is not successfully returned, an error code is returned. <br>
41
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
42
+ *
43
+ *@detaileddesc
44
+ *@ENG_START_DOX @details Some GPUs support built-in 3D LUT profiles for displays to improve and enhance game and application color vibrancy. @ENG_END_DOX
45
+ *
46
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
47
+ *
48
+ */
49
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedSCE (adlx_bool* supported) = 0;
50
+
51
+ /**
52
+ *@page DOX_IADLXDisplay3DLUT_IsSupportedSCEVividGaming IsSupportedSCEVividGaming
53
+ *@ENG_START_DOX @brief Checks if the vivid gaming color enhancement preset is supported on a display. @ENG_END_DOX
54
+ *
55
+ *@syntax
56
+ *@codeStart
57
+ * @ref ADLX_RESULT IsSupportedSCEVividGaming (adlx_bool* supported)
58
+ *@codeEnd
59
+ *
60
+ *@params
61
+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the vivid gaming preset is returned. The variable is __true__ if the vivid gaming preset is supported. The variable is __false__ if the vivid gaming preset is not supported. @ENG_END_DOX}
62
+ *
63
+ *@retvalues
64
+ *@ENG_START_DOX If the state of the vivid gaming preset is successfully returned, __ADLX_OK__ is returned. <br>
65
+ * If the state of the vivid gaming preset is not successfully returned, an error code is returned. <br>
66
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
67
+ *
68
+ *@detaileddesc
69
+ *@ENG_START_DOX @details The vivid gaming preset enhances color saturation and vibrance. @ENG_END_DOX
70
+ *
71
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
72
+ *
73
+ */
74
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedSCEVividGaming (adlx_bool* supported) = 0;
75
+
76
+ /**
77
+ *@page DOX_IADLXDisplay3DLUT_IsCurrentSCEDisabled IsCurrentSCEDisabled
78
+ *@ENG_START_DOX @brief Checks if the color enhancement presets are disabled on a display. @ENG_END_DOX
79
+ *
80
+ *@syntax
81
+ *@codeStart
82
+ * @ref ADLX_RESULT IsCurrentSCEDisabled (adlx_bool* sceDisabled)
83
+ *@codeEnd
84
+ *
85
+ *@params
86
+ *@paramrow{1.,[out],sceDisabled,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of color enhancement is returned. The variable is __true__ if the color enhancement presets are disabled. The variable is __false__ if the color enhancement presets are not disabled. @ENG_END_DOX}
87
+ *
88
+ *@retvalues
89
+ *@ENG_START_DOX If the state of color enhancement is successfully returned, __ADLX_OK__ is returned. <br>
90
+ * If the state of color enhancement is not successfully returned, an error code is returned. <br>
91
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
92
+ *
93
+ *
94
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
95
+ *
96
+ */
97
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentSCEDisabled (adlx_bool* sceDisabled) = 0;
98
+
99
+ /**
100
+ *@page DOX_IADLXDisplay3DLUT_IsCurrentSCEVividGaming IsCurrentSCEVividGaming
101
+ *@ENG_START_DOX @brief Checks if the vivid gaming color enhancement preset is used on a display. @ENG_END_DOX
102
+ *
103
+ *@syntax
104
+ *@codeStart
105
+ * @ref ADLX_RESULT IsCurrentSCEVividGaming (adlx_bool* vividGaming)
106
+ *@codeEnd
107
+ *
108
+ *@params
109
+ *@paramrow{1.,[out],vividGaming,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the vivid gaming preset is returned. The variable is __true__ if the vivid gaming preset is used. The variable is __false__ if the vivid gaming preset is not used. @ENG_END_DOX}
110
+ *
111
+ *@retvalues
112
+ *@ENG_START_DOX If the state of the vivid gaming preset is successfully returned, __ADLX_OK__ is returned. <br>
113
+ * If the state of the vivid gaming preset is not successfully returned, an error code is returned. <br>
114
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
115
+ *
116
+ *@detaileddesc
117
+ *@ENG_START_DOX @details The vivid gaming preset enhances color saturation and vibrance. @ENG_END_DOX
118
+ *
119
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
120
+ *
121
+ */
122
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentSCEVividGaming (adlx_bool* vividGaming) = 0;
123
+
124
+ /**
125
+ *@page DOX_IADLXDisplay3DLUT_SetSCEDisabled SetSCEDisabled
126
+ *@ENG_START_DOX @brief Disables the color enhancement presets on a display. @ENG_END_DOX
127
+ *
128
+ *@syntax
129
+ *@codeStart
130
+ * @ref ADLX_RESULT SetSCEDisabled ()
131
+ *@codeEnd
132
+ *
133
+ *@params
134
+ * N/A
135
+ *
136
+ *@retvalues
137
+ *@ENG_START_DOX If the color enhancement presets are successfully disabled, __ADLX_OK__ is returned. <br>
138
+ * If the color enhancement presets are not successfully disabled, an error code is returned. <br>
139
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
140
+ *
141
+ *
142
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
143
+ *
144
+ */
145
+ virtual ADLX_RESULT ADLX_STD_CALL SetSCEDisabled () = 0;
146
+
147
+ /**
148
+ *@page DOX_IADLXDisplay3DLUT_SetSCEVividGaming SetSCEVividGaming
149
+ *@ENG_START_DOX @brief Sets the vivid gaming color enhancement preset on a display. @ENG_END_DOX
150
+ *
151
+ *@syntax
152
+ *@codeStart
153
+ * @ref ADLX_RESULT SetSCEVividGaming ()
154
+ *@codeEnd
155
+ *
156
+ *@params
157
+ * N/A
158
+ *
159
+ *@retvalues
160
+ *@ENG_START_DOX If the vivid gaming preset is successfully set, __ADLX_OK__ is returned. <br>
161
+ * If the vivid gaming preset is not successfully set, an error code is returned. <br>
162
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
163
+ *
164
+ *@detaileddesc
165
+ *@ENG_START_DOX @details The vivid gaming preset enhances color saturation and vibrance. @ENG_END_DOX
166
+ *
167
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
168
+ *
169
+ */
170
+ virtual ADLX_RESULT ADLX_STD_CALL SetSCEVividGaming () = 0;
171
+
172
+ /**
173
+ *@page DOX_IADLXDisplay3DLUT_IsSupportedSCEDynamicContrast IsSupportedSCEDynamicContrast
174
+ *@ENG_START_DOX @brief Checks if the Dynamic Contrast color enhancement preset is supported on a display. @ENG_END_DOX
175
+ *
176
+ *@syntax
177
+ *@codeStart
178
+ * @ref ADLX_RESULT IsSupportedSCEDynamicContrast (adlx_bool* supported)
179
+ *@codeEnd
180
+ *
181
+ *@params
182
+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the Dynamic Contrast preset is returned. The variable is __true__ if the Dynamic Contrast preset is supported. The variable is __false__ if the Dynamic Contrast preset is not supported. @ENG_END_DOX}
183
+ *
184
+ *@retvalues
185
+ *@ENG_START_DOX If the state of the Dynamic Contrast preset is successfully returned, __ADLX_OK__ is returned. <br>
186
+ * If the state of the Dynamic Contrast preset is not successfully returned, an error code is returned. <br>
187
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
188
+ *
189
+ * @addinfo
190
+ * @ENG_START_DOX
191
+ * The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched.
192
+ * @ENG_END_DOX
193
+ *
194
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
195
+ *
196
+ */
197
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedSCEDynamicContrast (adlx_bool* supported) = 0;
198
+
199
+ /**
200
+ *@page DOX_IADLXDisplay3DLUT_IsCurrentSCEDynamicContrast IsCurrentSCEDynamicContrast
201
+ *@ENG_START_DOX @brief Checks if the Dynamic Contrast color enhancement preset is used on a display. @ENG_END_DOX
202
+ *
203
+ *@syntax
204
+ *@codeStart
205
+ * @ref ADLX_RESULT IsCurrentSCEDynamicContrast (adlx_bool* dynamicContrast)
206
+ *@codeEnd
207
+ *
208
+ *@params
209
+ *@paramrow{1.,[out],dynamicContrast,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of the Dynamic Contrast preset is returned. The variable is __true__ if the Dynamic Contrast preset is used. The variable is __false__ if the Dynamic Contrast preset is not used. @ENG_END_DOX}
210
+ *
211
+ *@retvalues
212
+ *@ENG_START_DOX If the state of the Dynamic Contrast preset is successfully returned, __ADLX_OK__ is returned. <br>
213
+ * If the state of the Dynamic Contrast preset is not successfully returned, an error code is returned. <br>
214
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
215
+ *
216
+ * @addinfo
217
+ *@ENG_START_DOX The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched.
218
+ * @ENG_END_DOX
219
+ *
220
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
221
+ *
222
+ */
223
+ virtual ADLX_RESULT ADLX_STD_CALL IsCurrentSCEDynamicContrast (adlx_bool* dynamicContrast) = 0;
224
+
225
+ /**
226
+ *@page DOX_IADLXDisplay3DLUT_GetSCEDynamicContrastRange GetSCEDynamicContrastRange
227
+ *@ENG_START_DOX @brief Gets the maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset on a display. @ENG_END_DOX
228
+ *
229
+ *@syntax
230
+ *@codeStart
231
+ * @ref ADLX_RESULT GetSCEDynamicContrastRange (@ref ADLX_IntRange* range)
232
+ *@codeEnd
233
+ *
234
+ *@params
235
+ *@paramrow{1.,[out],range,@ref ADLX_IntRange*,@ENG_START_DOX The pointer to a variable where the contrast range of the Dynamic Contrast color enhancement preset is returned. @ENG_END_DOX}
236
+ *
237
+ *@retvalues
238
+ *@ENG_START_DOX If the contrast range is successfully returned, __ADLX_OK__ is returned. <br>
239
+ * If the contrast range is not successfully returned, an error code is returned. <br>
240
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
241
+ *
242
+ *@detaileddesc
243
+ *@ENG_START_DOX @details The maximum contrast, minimum contrast, and step contrast of the Dynamic Contrast color enhancement preset are read only. @ENG_END_DOX
244
+ *
245
+ * @addinfo
246
+ *@ENG_START_DOX The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched.
247
+ * @ENG_END_DOX
248
+ *
249
+ *
250
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
251
+ *
252
+ */
253
+ virtual ADLX_RESULT ADLX_STD_CALL GetSCEDynamicContrastRange (ADLX_IntRange* range) = 0;
254
+
255
+ /**
256
+ *@page DOX_IADLXDisplay3DLUT_GetSCEDynamicContrast GetSCEDynamicContrast
257
+ *@ENG_START_DOX @brief Gets the contrast of the Dynamic Contrast color enhancement preset on a display. @ENG_END_DOX
258
+ *
259
+ *@syntax
260
+ *@codeStart
261
+ * @ref ADLX_RESULT GetSCEDynamicContrast (adlx_int* contrast)
262
+ *@codeEnd
263
+ *
264
+ *@params
265
+ *@paramrow{1.,[out],contrast,adlx_int*,@ENG_START_DOX The pointer to a variable where the contrast of the Dynamic Contrast color enhancement preset is returned. @ENG_END_DOX}
266
+ *
267
+ *@retvalues
268
+ *@ENG_START_DOX If the contrast is successfully returned, __ADLX_OK__ is returned. <br>
269
+ * If the contrast is not successfully returned, an error code is returned. <br>
270
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
271
+ *
272
+ * @addinfo
273
+ *@ENG_START_DOX The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched.
274
+ * @ENG_END_DOX
275
+ *
276
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
277
+ *
278
+ */
279
+ virtual ADLX_RESULT ADLX_STD_CALL GetSCEDynamicContrast (adlx_int* contrast) = 0;
280
+
281
+ /**
282
+ *@page DOX_IADLXDisplay3DLUT_SetSCEDynamicContrast SetSCEDynamicContrast
283
+ *@ENG_START_DOX @brief Sets the contrast of the Dynamic Contrast color enhancement preset on a display. @ENG_END_DOX
284
+ *
285
+ *@syntax
286
+ *@codeStart
287
+ * @ref ADLX_RESULT SetSCEDynamicContrast (adlx_int contrast)
288
+ *@codeEnd
289
+ *
290
+ *@params
291
+ *@paramrow{1.,[in],contrast,adlx_int,@ENG_START_DOX The new contrast of the Dynamic Contrast color enhancement preset. @ENG_END_DOX}
292
+ *
293
+ *@retvalues
294
+ *@ENG_START_DOX If the contrast is successfully set, __ADLX_OK__ is returned. <br>
295
+ * If the contrast is not successfully set, an error code is returned. <br>
296
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
297
+ *
298
+ * @addinfo
299
+ *@ENG_START_DOX The Dynamic Contrast preset is designed to boost brightness low and mid tone areas while leaving other areas almost untouched.
300
+ * @ENG_END_DOX
301
+ *
302
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
303
+ *
304
+ */
305
+ virtual ADLX_RESULT ADLX_STD_CALL SetSCEDynamicContrast (adlx_int contrast) = 0;
306
+
307
+ /**
308
+ *@page DOX_IADLXDisplay3DLUT_IsSupportedUser3DLUT IsSupportedUser3DLUT
309
+ *@ENG_START_DOX @brief Checks if 3D LUT customization is supported on a display. @ENG_END_DOX
310
+ *
311
+ *@syntax
312
+ *@codeStart
313
+ * @ref ADLX_RESULT IsSupportedUser3DLUT (adlx_bool* supported)
314
+ *@codeEnd
315
+ *
316
+ *@params
317
+ *@paramrow{1.,[out],supported,adlx_bool*,@ENG_START_DOX The pointer to a variable where the state of 3D LUT customization is returned. The variable is __true__ if 3D LUT customization is supported. The variable is __false__ if 3D LUT customization is not supported. @ENG_END_DOX}
318
+ *
319
+ *@retvalues
320
+ *@ENG_START_DOX If the state of 3D LUT customization is successfully returned, __ADLX_OK__ is returned. <br>
321
+ * If the state of 3D LUT customization is not successfully returned, an error code is returned. <br>
322
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
323
+ *
324
+ *@detaileddesc
325
+ *@ENG_START_DOX @details Some GPUs support custom 3D LUT panel calibration for eDP displays to improve and enhance game and application color vibrancy. @ENG_END_DOX
326
+ *
327
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
328
+ *
329
+ */
330
+ virtual ADLX_RESULT ADLX_STD_CALL IsSupportedUser3DLUT (adlx_bool* supported) = 0;
331
+
332
+ /**
333
+ *@page DOX_IADLXDisplay3DLUT_ClearUser3DLUT ClearUser3DLUT
334
+ *@ENG_START_DOX @brief Clears the custom 3D LUT for panel calibration on a display. @ENG_END_DOX
335
+ *
336
+ *@syntax
337
+ *@codeStart
338
+ * @ref ADLX_RESULT ClearUser3DLUT ()
339
+ *@codeEnd
340
+ *
341
+ *@params
342
+ * N/A
343
+ *
344
+ *@retvalues
345
+ *@ENG_START_DOX If the custom 3D LUT is successfully cleared, __ADLX_OK__ is returned. <br>
346
+ * If the custom 3D LUT is not successfully cleared, an error code is returned. <br>
347
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
348
+ *
349
+ *
350
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
351
+ *
352
+ */
353
+ virtual ADLX_RESULT ADLX_STD_CALL ClearUser3DLUT () = 0;
354
+
355
+ /**
356
+ *@page DOX_IADLXDisplay3DLUT_GetSDRUser3DLUT GetSDRUser3DLUT
357
+ *@ENG_START_DOX @brief Gets the custom 3D LUT data suitable for the SDR mode of a display. @ENG_END_DOX
358
+ *
359
+ *@syntax
360
+ *@codeStart
361
+ * @ref ADLX_RESULT GetSDRUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, @ref ADLX_3DLUT_COLORSPACE* colorSpace, @ref ADLX_3DLUT_Data* data)
362
+ *@codeEnd
363
+ *
364
+ *@params
365
+ *@paramrow{1.,[out] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION*,@ENG_START_DOX The pointer to a variable where the transfer function is returned. @ENG_END_DOX}
366
+ *@paramrow{2.,[out] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE*,@ENG_START_DOX The pointer to a variable where the color space is returned. @ENG_END_DOX}
367
+ *@paramrow{3.,[out] ,pointsNumber,adlx_int*,@ENG_START_DOX The pointer to a variable where the size of the custom 3D LUT buffer is returned. @ENG_END_DOX}
368
+ *@paramrow{4.,[out] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The pointer to a variable where the custom 3D LUT buffer is returned. @ENG_END_DOX}
369
+ *
370
+ *@retvalues
371
+ *@ENG_START_DOX If the custom 3D LUT data is successfully returned, __ADLX_OK__ is returned. <br>
372
+ * If the custom 3D LUT data is not successfully returned, an error code is returned. <br>
373
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
374
+ *
375
+ *@addinfo
376
+ *@ENG_START_DOX
377
+ * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.<br>
378
+ *
379
+ * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT. <br>
380
+ *
381
+ * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT.
382
+ * @ENG_END_DOX
383
+ *
384
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
385
+ *
386
+ */
387
+ virtual ADLX_RESULT ADLX_STD_CALL GetSDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data) = 0;
388
+
389
+ /**
390
+ *@page DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT SetSDRUser3DLUT
391
+ *@ENG_START_DOX @brief Sets the custom 3D LUT data suitable for the SDR mode of a display. @ENG_END_DOX
392
+ *
393
+ *@syntax
394
+ *@codeStart
395
+ * @ref ADLX_RESULT SetSDRUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, @ref ADLX_3DLUT_COLORSPACE colorSpace, const @ref ADLX_3DLUT_Data* data)
396
+ *@codeEnd
397
+ *
398
+ *@params
399
+ *@paramrow{1.,[in] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION,@ENG_START_DOX The transfer function. @ENG_END_DOX}
400
+ *@paramrow{2.,[in] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE,@ENG_START_DOX The color space. @ENG_END_DOX}
401
+ *@paramrow{3.,[in] ,pointsNumber,adlx_int,@ENG_START_DOX The size of the custom 3D LUT data. @ENG_END_DOX}
402
+ *@paramrow{4.,[in] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The custom 3D LUT buffer. @ENG_END_DOX}
403
+ *
404
+ *@retvalues
405
+ *@ENG_START_DOX If the custom 3D LUT data is successfully set, __ADLX_OK__ is returned. <br>
406
+ * If the custom 3D LUT data is not successfully set, an error code is returned. <br>
407
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
408
+ *
409
+ *@detaileddesc
410
+ *@ENG_START_DOX
411
+ *@details To fill in the custom 3D LUT buffer use @ref DOX_IADLXDisplay3DLUT_GetUser3DLUTIndex.
412
+ *@ENG_END_DOX
413
+ *
414
+ *@addinfo
415
+ *@ENG_START_DOX
416
+ * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.<br>
417
+ *
418
+ * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT. <br>
419
+ *
420
+ * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT.
421
+ * @ENG_END_DOX
422
+ *
423
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
424
+ *
425
+ */
426
+ virtual ADLX_RESULT ADLX_STD_CALL SetSDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data) = 0;
427
+
428
+ /**
429
+ *@page DOX_IADLXDisplay3DLUT_GetHDRUser3DLUT GetHDRUser3DLUT
430
+ *@ENG_START_DOX @brief Gets the custom 3D LUT data suitable for the HDR mode of a display. @ENG_END_DOX
431
+ *
432
+ *@syntax
433
+ *@codeStart
434
+ * @ref ADLX_RESULT GetHDRUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, @ref ADLX_3DLUT_COLORSPACE* colorSpace, @ref ADLX_3DLUT_Data* data)
435
+ *@codeEnd
436
+ *
437
+ *@params
438
+ *@paramrow{1.,[out] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION*,@ENG_START_DOX The pointer to a variable where the transfer function is returned. @ENG_END_DOX}
439
+ *@paramrow{2.,[out] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE*,@ENG_START_DOX The pointer to a variable where the color space is returned. @ENG_END_DOX}
440
+ *@paramrow{3.,[out] ,pointsNumber,adlx_int*,@ENG_START_DOX The pointer to a variable where the size of the custom 3D LUT buffer is returned. @ENG_END_DOX}
441
+ *@paramrow{4.,[out] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The pointer to a variable where the custom 3D LUT buffer is returned. @ENG_END_DOX}
442
+ *
443
+ *@retvalues
444
+ *@ENG_START_DOX If the custom 3D LUT data is successfully returned, __ADLX_OK__ is returned. <br>
445
+ * If the custom 3D LUT data is not successfully returned, an error code is returned. <br>
446
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
447
+ *
448
+ *@addinfo
449
+ *@ENG_START_DOX
450
+ * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.<br>
451
+ *
452
+ * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT. <br>
453
+ *
454
+ * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT.
455
+ * @ENG_END_DOX
456
+ *
457
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
458
+ *
459
+ */
460
+ virtual ADLX_RESULT ADLX_STD_CALL GetHDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data) = 0;
461
+
462
+ /**
463
+ *@page DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT SetHDRUser3DLUT
464
+ *@ENG_START_DOX @brief Sets the custom 3D LUT data suitable for the HDR mode of a display. @ENG_END_DOX
465
+ *
466
+ *@syntax
467
+ *@codeStart
468
+ * @ref ADLX_RESULT SetHDRUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, @ref ADLX_3DLUT_COLORSPACE colorSpace, const @ref ADLX_3DLUT_Data* data)
469
+ *@codeEnd
470
+ *
471
+ *@params
472
+ *@paramrow{1.,[in] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION,@ENG_START_DOX The transfer function. @ENG_END_DOX}
473
+ *@paramrow{2.,[in] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE,@ENG_START_DOX The color space. @ENG_END_DOX}
474
+ *@paramrow{3.,[in] ,pointsNumber,adlx_int,@ENG_START_DOX The size of the custom 3D LUT data. @ENG_END_DOX}
475
+ *@paramrow{4.,[in] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The custom 3D LUT buffer. @ENG_END_DOX}
476
+ *
477
+ *@retvalues
478
+ *@ENG_START_DOX If the custom 3D LUT data is successfully set, __ADLX_OK__ is returned. <br>
479
+ * If the custom 3D LUT data is not successfully set, an error code is returned. <br>
480
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
481
+ *
482
+ *@detaileddesc
483
+ *@ENG_START_DOX
484
+ *@details To fill in the custom 3D LUT buffer use @ref DOX_IADLXDisplay3DLUT_GetUser3DLUTIndex.
485
+ *@ENG_END_DOX
486
+ *
487
+ *@addinfo
488
+ *@ENG_START_DOX
489
+ * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.<br>
490
+ *
491
+ * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT. <br>
492
+ *
493
+ * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT.
494
+ * @ENG_END_DOX
495
+ *
496
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
497
+ *
498
+ */
499
+ virtual ADLX_RESULT ADLX_STD_CALL SetHDRUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data) = 0;
500
+
501
+ /**
502
+ *@page DOX_IADLXDisplay3DLUT_GetAllUser3DLUT GetAllUser3DLUT
503
+ *@ENG_START_DOX @brief Gets the custom 3D LUT data suitable for both the SDR mode and the HDR mode of a display. @ENG_END_DOX
504
+ *
505
+ *@syntax
506
+ *@codeStart
507
+ * @ref ADLX_RESULT GetAllUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, @ref ADLX_3DLUT_COLORSPACE* colorSpace, @ref ADLX_3DLUT_Data* data)
508
+ *@codeEnd
509
+ *
510
+ *@params
511
+ *@paramrow{1.,[out] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION*,@ENG_START_DOX The pointer to a variable where the transfer function is returned. @ENG_END_DOX}
512
+ *@paramrow{2.,[out] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE*,@ENG_START_DOX The pointer to a variable where the color space is returned. @ENG_END_DOX}
513
+ *@paramrow{3.,[out] ,pointsNumber,adlx_int*,@ENG_START_DOX The pointer to a variable where the size of the custom 3D LUT buffer is returned. @ENG_END_DOX}
514
+ *@paramrow{4.,[out] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The pointer to a variable where the custom 3D LUT buffer is returned. @ENG_END_DOX}
515
+ *
516
+ *@retvalues
517
+ *@ENG_START_DOX If the custom 3D LUT data is successfully returned, __ADLX_OK__ is returned. <br>
518
+ * If the custom 3D LUT data is not successfully returned, an error code is returned. <br>
519
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
520
+ *
521
+ *@addinfo
522
+ *@ENG_START_DOX
523
+ * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.<br>
524
+ *
525
+ * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT. <br>
526
+ *
527
+ * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT.
528
+ * @ENG_END_DOX
529
+ *
530
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
531
+ *
532
+ */
533
+ virtual ADLX_RESULT ADLX_STD_CALL GetAllUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data) = 0;
534
+
535
+ /**
536
+ *@page DOX_IADLXDisplay3DLUT_SetAllUser3DLUT SetAllUser3DLUT
537
+ *@ENG_START_DOX @brief Sets the custom 3D LUT data suitable for both the SDR mode and the HRD mode of a display. @ENG_END_DOX
538
+ *
539
+ *@syntax
540
+ *@codeStart
541
+ * @ref ADLX_RESULT SetAllUser3DLUT (@ref ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, @ref ADLX_3DLUT_COLORSPACE colorSpace, const @ref ADLX_3DLUT_Data* data)
542
+ *@codeEnd
543
+ *
544
+ *@params
545
+ *@paramrow{1.,[in] ,transferFunction,@ref ADLX_3DLUT_TRANSFER_FUNCTION,@ENG_START_DOX The transfer function. @ENG_END_DOX}
546
+ *@paramrow{2.,[in] ,colorSpace,@ref ADLX_3DLUT_COLORSPACE,@ENG_START_DOX The color space. @ENG_END_DOX}
547
+ *@paramrow{3.,[in] ,pointsNumber,adlx_int,@ENG_START_DOX The size of the custom 3D LUT data. @ENG_END_DOX}
548
+ *@paramrow{4.,[in] ,data,@ref ADLX_3DLUT_Data*,@ENG_START_DOX The custom 3D LUT buffer. @ENG_END_DOX}
549
+ *
550
+ *@retvalues
551
+ *@ENG_START_DOX If the custom 3D LUT data is successfully set, __ADLX_OK__ is returned. <br>
552
+ * If the custom 3D LUT data is not successfully set, an error code is returned. <br>
553
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
554
+ *
555
+ *@detaileddesc
556
+ *@ENG_START_DOX
557
+ *@details To fill in the custom 3D LUT buffer use @ref DOX_IADLXDisplay3DLUT_GetUser3DLUTIndex.
558
+ *@ENG_END_DOX
559
+ *
560
+ *@addinfo
561
+ *@ENG_START_DOX
562
+ * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.<br>
563
+ *
564
+ * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT. <br>
565
+ *
566
+ * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT.
567
+ * @ENG_END_DOX
568
+ *
569
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
570
+ *
571
+ */
572
+ virtual ADLX_RESULT ADLX_STD_CALL SetAllUser3DLUT (ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data) = 0;
573
+
574
+ /**
575
+ *@page DOX_IADLXDisplay3DLUT_GetUser3DLUTIndex GetUser3DLUTIndex
576
+ *@ENG_START_DOX @brief Gets the index in the 3D LUT buffer corresponding to a triplet of red, green, and blue values. @ENG_END_DOX
577
+ *
578
+ *@syntax
579
+ *@codeStart
580
+ * @ref ADLX_RESULT GetUser3DLUTIndex (adlx_int lutSize, const @ref ADLX_UINT16_RGB* rgbCoordinate, adlx_int* index)
581
+ *@codeEnd
582
+ *
583
+ *@params
584
+ *@paramrow{1.,[in] ,lutSize,adlx_int,@ENG_START_DOX The size of the User 3D LUT. @ENG_END_DOX}
585
+ *@paramrow{2.,[in] ,rgbCoordinate,@ref ADLX_UINT16_RGB*,@ENG_START_DOX The co-ordinates of a user 3D LUT. @ENG_END_DOX}
586
+ *@paramrow{3.,[out] ,index,adlx_int*,@ENG_START_DOX The pointer to a variable where the index is returned. @ENG_END_DOX}
587
+ *
588
+ *@retvalues
589
+ *@ENG_START_DOX If the index of the 3D LUT from a flat array is successfully returned, __ADLX_OK__ is returned. <br>
590
+ * If the index of the 3D LUT from a flat array is not successfully returned, an error code is returned. <br>
591
+ * Refer to @ref ADLX_RESULT for success codes and error codes. @ENG_END_DOX
592
+ *
593
+ *@detaileddesc
594
+ *@ENG_START_DOX
595
+ *@details The 3D LUT table must contain between 5 and 17 points. Each point is defined by a triplet of red, green, and blue values. <br>
596
+ *
597
+ * GetUser3DLUTIndex is useful when constructing the 3D LUT buffer to set using @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT, @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT and @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT.
598
+ *
599
+ *@ENG_END_DOX
600
+ *
601
+ *@addinfo
602
+ *@ENG_START_DOX
603
+ * __Note:__ @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT sets a custom 3D LUT data for both the SDR mode and HDR mode of a display.<br>
604
+ *
605
+ * Setting a custom 3D LUT data suitable for the SDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT will delete the custom 3D LUT data for the HDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the HDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT. <br>
606
+ *
607
+ * Setting a custom 3D LUT data suitable for the HDR mode of the display with @ref DOX_IADLXDisplay3DLUT_SetHDRUser3DLUT will delete the custom 3D LUT data for the SDR mode that was previously created with @ref DOX_IADLXDisplay3DLUT_SetAllUser3DLUT. If a custom 3D LUT data suitable for the SDR mode is also required, it must be set with @ref DOX_IADLXDisplay3DLUT_SetSDRUser3DLUT.
608
+ * @ENG_END_DOX
609
+ *
610
+ *@copydoc IADLXDisplay3DLUT_REQ_TABLE
611
+ *
612
+ */
613
+ virtual ADLX_RESULT ADLX_STD_CALL GetUser3DLUTIndex (adlx_int lutSize, const ADLX_UINT16_RGB* rgbCoordinate, adlx_int* index) = 0;
614
+
615
+ }; //IADLXDisplay3DLUT
616
+ //----------------------------------------------------------------------------------------------
617
+ typedef IADLXInterfacePtr_T<IADLXDisplay3DLUT> IADLXDisplay3DLUTPtr;
618
+ }
619
+ #else
620
+ ADLX_DECLARE_IID (IADLXDisplay3DLUT, L"IADLXDisplay3DLUT")
621
+ typedef struct IADLXDisplay3DLUT IADLXDisplay3DLUT;
622
+
623
+ typedef struct IADLXDisplay3DLUTVtbl
624
+ {
625
+ //IADLXInterface
626
+ adlx_long (ADLX_STD_CALL *Acquire)(IADLXDisplay3DLUT* pThis);
627
+ adlx_long (ADLX_STD_CALL *Release)(IADLXDisplay3DLUT* pThis);
628
+ ADLX_RESULT (ADLX_STD_CALL *QueryInterface)(IADLXDisplay3DLUT* pThis, const wchar_t* interfaceId, void** ppInterface);
629
+
630
+ //IADLXDisplay3DLUT
631
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedSCE)(IADLXDisplay3DLUT* pThis, adlx_bool* supported);
632
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedSCEVividGaming)(IADLXDisplay3DLUT* pThis, adlx_bool* supported);
633
+ ADLX_RESULT (ADLX_STD_CALL *IsCurrentSCEDisabled)(IADLXDisplay3DLUT* pThis, adlx_bool* sceDisabled);
634
+ ADLX_RESULT (ADLX_STD_CALL *IsCurrentSCEVividGaming)(IADLXDisplay3DLUT* pThis, adlx_bool* vividGaming);
635
+
636
+ ADLX_RESULT (ADLX_STD_CALL *SetSCEDisabled)(IADLXDisplay3DLUT* pThis);
637
+ ADLX_RESULT (ADLX_STD_CALL *SetSCEVividGaming)(IADLXDisplay3DLUT* pThis);
638
+
639
+ ADLX_RESULT (ADLX_STD_CALL* IsSupportedSCEDynamicContrast)(IADLXDisplay3DLUT* pThis, adlx_bool* supported);
640
+ ADLX_RESULT (ADLX_STD_CALL* IsCurrentSCEDynamicContrast)(IADLXDisplay3DLUT* pThis, adlx_bool* dynamicContrast);
641
+ ADLX_RESULT (ADLX_STD_CALL* GetSCEDynamicContrastRange)(IADLXDisplay3DLUT* pThis, ADLX_IntRange* range);
642
+ ADLX_RESULT (ADLX_STD_CALL* GetSCEDynamicContrast)(IADLXDisplay3DLUT* pThis, adlx_int* contrast);
643
+ ADLX_RESULT (ADLX_STD_CALL* SetSCEDynamicContrast)(IADLXDisplay3DLUT* pThis, adlx_int contrast);
644
+
645
+ ADLX_RESULT (ADLX_STD_CALL *IsSupportedUser3DLUT)(IADLXDisplay3DLUT* pThis, adlx_bool* supported);
646
+ ADLX_RESULT (ADLX_STD_CALL *ClearUser3DLUT)(IADLXDisplay3DLUT* pThis);
647
+ ADLX_RESULT (ADLX_STD_CALL *GetSDRUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data);
648
+ ADLX_RESULT (ADLX_STD_CALL *SetSDRUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data);
649
+ ADLX_RESULT (ADLX_STD_CALL *GetHDRUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data);
650
+ ADLX_RESULT (ADLX_STD_CALL *SetHDRUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data);
651
+ ADLX_RESULT (ADLX_STD_CALL *GetAllUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION* transferFunction, ADLX_3DLUT_COLORSPACE* colorSpace, adlx_int* pointsNumber, ADLX_3DLUT_Data* data);
652
+ ADLX_RESULT (ADLX_STD_CALL *SetAllUser3DLUT)(IADLXDisplay3DLUT* pThis, ADLX_3DLUT_TRANSFER_FUNCTION transferFunction, ADLX_3DLUT_COLORSPACE colorSpace, adlx_int pointsNumber, const ADLX_3DLUT_Data* data);
653
+ ADLX_RESULT (ADLX_STD_CALL *GetUser3DLUTIndex)(IADLXDisplay3DLUT* pThis, adlx_int lutSize, const ADLX_UINT16_RGB* rgbCoordinate, adlx_int* index);
654
+ }IADLXDisplay3DLUTVtbl;
655
+
656
+ struct IADLXDisplay3DLUT
657
+ {
658
+ const IADLXDisplay3DLUTVtbl *pVtbl;
659
+ };
660
+ #endif
661
+ #pragma endregion IADLXDisplay3DLUT interface
662
+
663
+ #endif//ADLX_IDISPLAY3DLUT_H