VPI - Vision Programming Interface

3.0 Release

DataLayout.h
Go to the documentation of this file.
1 /*
2  * Copyright 2020-2021 NVIDIA Corporation. All rights reserved.
3  *
4  * NOTICE TO LICENSEE:
5  *
6  * This source code and/or documentation ("Licensed Deliverables") are
7  * subject to NVIDIA intellectual property rights under U.S. and
8  * international Copyright laws.
9  *
10  * These Licensed Deliverables contained herein is PROPRIETARY and
11  * CONFIDENTIAL to NVIDIA and is being provided under the terms and
12  * conditions of a form of NVIDIA software license agreement by and
13  * between NVIDIA and Licensee ("License Agreement") or electronically
14  * accepted by Licensee. Notwithstanding any terms or conditions to
15  * the contrary in the License Agreement, reproduction or disclosure
16  * of the Licensed Deliverables to any third party without the express
17  * written consent of NVIDIA is prohibited.
18  *
19  * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
20  * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
21  * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
22  * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
23  * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
24  * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
25  * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
26  * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
27  * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
28  * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
29  * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
30  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
31  * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
32  * OF THESE LICENSED DELIVERABLES.
33  *
34  * U.S. Government End Users. These Licensed Deliverables are a
35  * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
36  * 1995), consisting of "commercial computer software" and "commercial
37  * computer software documentation" as such terms are used in 48
38  * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
39  * only as a commercial end item. Consistent with 48 C.F.R.12.212 and
40  * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
41  * U.S. Government End Users acquire the Licensed Deliverables with
42  * only those rights set forth herein.
43  *
44  * Any use of the Licensed Deliverables in individual and commercial
45  * software must include, in the user documentation and internal
46  * comments to the code, the above Disclaimer and U.S. Government End
47  * Users Notice.
48  */
49 
56 #ifndef NV_VPI_DATALAYOUT_H
57 #define NV_VPI_DATALAYOUT_H
58 
59 #include "Export.h"
60 #include "detail/FormatUtils.h"
61 
62 #ifdef __cplusplus
63 extern "C" {
64 #endif
65 
76 #define VPI_MAX_CHANNEL_COUNT (4)
77 
132 typedef enum
133 {
136 
138  VPI_PACKING_X1 = VPI_DETAIL_BPP_NCH(1, 1),
140  VPI_PACKING_X2 = VPI_DETAIL_BPP_NCH(2, 1),
142  VPI_PACKING_X4 = VPI_DETAIL_BPP_NCH(4, 1),
144  VPI_PACKING_X8 = VPI_DETAIL_BPP_NCH(8, 1),
146  VPI_PACKING_X4Y4 = VPI_DETAIL_BPP_NCH(8, 2),
148  VPI_PACKING_X3Y3Z2 = VPI_DETAIL_BPP_NCH(8, 3),
149 
151  VPI_PACKING_X16 = VPI_DETAIL_BPP_NCH(16, 1),
162 
164  VPI_PACKING_X8_Y8 = VPI_DETAIL_BPP_NCH(16, 2),
165 
167  VPI_PACKING_X5Y5Z6 = VPI_DETAIL_BPP_NCH(16, 3),
178 
180  VPI_PACKING_X1Y5Z5W5 = VPI_DETAIL_BPP_NCH(16, 4),
189 
194 
196  VPI_PACKING_X24 = VPI_DETAIL_BPP_NCH(24, 1),
197 
199  VPI_PACKING_X8_Y8_Z8 = VPI_DETAIL_BPP_NCH(24, 3),
200 
202  VPI_PACKING_X32 = VPI_DETAIL_BPP_NCH(32, 1),
205 
207  VPI_PACKING_X16_Y16 = VPI_DETAIL_BPP_NCH(32, 2),
212 
214  VPI_PACKING_X10Y11Z11 = VPI_DETAIL_BPP_NCH(32, 3),
217 
219  VPI_PACKING_X8_Y8_Z8_W8 = VPI_DETAIL_BPP_NCH(32, 4),
224 
226  VPI_PACKING_X48 = VPI_DETAIL_BPP_NCH(48, 1),
228  VPI_PACKING_X16_Y16_Z16 = VPI_DETAIL_BPP_NCH(48, 3),
229 
231  VPI_PACKING_X64 = VPI_DETAIL_BPP_NCH(64, 1),
233  VPI_PACKING_X32_Y32 = VPI_DETAIL_BPP_NCH(64, 2),
235  VPI_PACKING_X16_Y16_Z16_W16 = VPI_DETAIL_BPP_NCH(64, 4),
236 
238  VPI_PACKING_X96 = VPI_DETAIL_BPP_NCH(96, 1),
240  VPI_PACKING_X32_Y32_Z32 = VPI_DETAIL_BPP_NCH(96, 3),
241 
243  VPI_PACKING_X128 = VPI_DETAIL_BPP_NCH(128, 1),
245  VPI_PACKING_X64_Y64 = VPI_DETAIL_BPP_NCH(128, 2),
247  VPI_PACKING_X32_Y32_Z32_W32 = VPI_DETAIL_BPP_NCH(128, 4),
248 
250  VPI_PACKING_X192 = VPI_DETAIL_BPP_NCH(192, 1),
252  VPI_PACKING_X64_Y64_Z64 = VPI_DETAIL_BPP_NCH(192, 3),
253 
255  VPI_PACKING_X256 = VPI_DETAIL_BPP_NCH(256, 1),
257  VPI_PACKING_X64_Y64_Z64_W64 = VPI_DETAIL_BPP_NCH(256, 4),
258 
260  VPI_PACKING_INVALID = INT32_MAX
262 
264 typedef enum
265 {
269 
275 
282 typedef enum
283 {
286 
290 
293 
296 
299 
302 
305 
308 
312 
318 
321 typedef enum
322 {
332 
341 typedef enum
342 {
344  VPI_SWIZZLE_INVALID = VPI_DETAIL_MAKE_SWZL(INVALID, INVALID, INVALID, INVALID),
345 
347  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, 0, 0),
348  VPI_DETAIL_DEF_SWIZZLE_ENUM(1, 0, 0, 0),
349  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, 0, 1),
350  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, Z, W),
351  VPI_DETAIL_DEF_SWIZZLE_ENUM(Z, Y, X, W),
352  VPI_DETAIL_DEF_SWIZZLE_ENUM(W, X, Y, Z),
353  VPI_DETAIL_DEF_SWIZZLE_ENUM(W, Z, Y, X),
354  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Z, W, X),
355  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, Z, 1),
356  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, Z, 0),
357  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Z, W, 1),
358  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, X, X, 1),
359  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Z, Y, 1),
360  VPI_DETAIL_DEF_SWIZZLE_ENUM(Z, Y, X, 1),
361  VPI_DETAIL_DEF_SWIZZLE_ENUM(Z, Y, X, 0),
362  VPI_DETAIL_DEF_SWIZZLE_ENUM(W, Z, Y, 1),
363  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, 0, 0, 0),
364  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, X, 0, 0),
365  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, X, 0),
366  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, 0, X),
367  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, 0, 0, 0),
368  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, Y, 0, 0),
369  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, Y, 0),
370  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, 0, Y),
371  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, X, Y, 0),
372  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, X, X, Y),
373  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Y, Y, X),
374  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, Y, X, 0),
375  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, 0, 0, Y),
376  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, 0, 0, X),
377  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, 0, 0, 1),
378  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, 0, 1),
379  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, 0, 0),
380  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, X, Z, 0),
381  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, Z, X, 0),
382  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Z, Y, 0),
383  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Z, X, 1),
384  VPI_DETAIL_DEF_SWIZZLE_ENUM(Z, Y, W, 1),
385  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, Y, X, 1),
386  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, X, Z),
387  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, X, Z, X),
388  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Z, 0, 0),
389  VPI_DETAIL_DEF_SWIZZLE_ENUM(W, Y, X, Z),
390  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, X, 0, 0),
391  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, X, 0, 1),
392  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, Y, X),
393  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, X, Y),
394  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, X, Y, 1),
395  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, X, 0, 1),
396  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Z, X, W),
397  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, W, 0, 0),
398  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, W, 0),
399  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Z, W, 0),
401 } VPISwizzle;
402 
418 #ifdef VPI_DOXYGEN
419 # define VPI_MAKE_SWIZZLE_ABBREV(x, y, z, w)
420 #else
421 # define VPI_MAKE_SWIZZLE_ABBREV (VPISwizzle) VPI_DETAIL_MAKE_SWZL
422 #endif
423 
438 #ifdef VPI_DOXYGEN
439 # define VPI_MAKE_SWIZZLE(x, y, z, w)
440 #else
441 # define VPI_MAKE_SWIZZLE (VPISwizzle) VPI_DETAIL_MAKE_SWIZZLE
442 #endif
443 
459 
470 VPI_PUBLIC void vpiSwizzleGetChannels(VPISwizzle swizzle, VPIChannel *channels);
471 
484 VPI_PUBLIC int vpiSwizzleGetChannelCount(VPISwizzle swizzle);
485 
487 typedef enum
488 {
493 
495 typedef struct
496 {
499 
502 
506 
508 
523 VPI_PUBLIC VPIPacking vpiMakePacking(const VPIPackingParams *params);
524 
532 VPI_PUBLIC void vpiPackingGetParams(VPIPacking packing, VPIPackingParams *params);
533 
540 VPI_PUBLIC int vpiPackingGetComponentCount(VPIPacking packing);
541 
550 VPI_PUBLIC void vpiPackingGetBitsPerComponent(VPIPacking packing, int32_t *bits);
551 
559 VPI_PUBLIC int vpiPackingGetBitsPerPixel(VPIPacking packing);
560 
563 #ifdef __cplusplus
564 }
565 #endif
566 
567 #endif /* NV_VPI_DATALAYOUT_H */
VPIEndianness endianness
Component ordering in a word.
Definition: DataLayout.h:498
VPISwizzle swizzle
Channel ordering.
Definition: DataLayout.h:501
VPISwizzle
Defines the supported channel swizzle operations.
Definition: DataLayout.h:342
void vpiSwizzleGetChannels(VPISwizzle swizzle, VPIChannel *channels)
Get the swizzle channels.
int vpiPackingGetBitsPerPixel(VPIPacking packing)
Returns the number of bits per pixel of the given packing.
int vpiSwizzleGetChannelCount(VPISwizzle swizzle)
Get the number of channels specified by the given swizzle.
VPIPacking vpiMakePacking(const VPIPackingParams *params)
Returns a pre-defined VPIPacking given its params.
VPIPacking
Defines how channels are packed into an image plane element.
Definition: DataLayout.h:133
void vpiPackingGetBitsPerComponent(VPIPacking packing, int32_t *bits)
Returns the number of bits per packing component.
int vpiPackingGetComponentCount(VPIPacking packing)
Returns the number of components defined by the given packing.
#define VPI_MAX_CHANNEL_COUNT
Maximum VPI channel count.
Definition: DataLayout.h:76
VPIMemLayout
Defines how the 2D plane pixels are laid out in memory.
Definition: DataLayout.h:283
VPISwizzle vpiMakeSwizzle(VPIChannel x, VPIChannel y, VPIChannel z, VPIChannel w)
Creates a user-defined VPISwizzle operation.
VPIChannel
Defines the format channel names.
Definition: DataLayout.h:322
VPIDataType
Defines the channel data type.
Definition: DataLayout.h:265
VPIEndianness
Endianness of a VPIPacking value.
Definition: DataLayout.h:488
void vpiPackingGetParams(VPIPacking packing, VPIPackingParams *params)
Returns channels' information from a format packing.
@ VPI_SWIZZLE_INVALID
Represents an invalid swizzle.
Definition: DataLayout.h:344
@ VPI_PACKING_X64
One 64-bit channel.
Definition: DataLayout.h:231
@ VPI_PACKING_X8_Y8_Z8_W8
Four 8-bit channels in one 32-bit word.
Definition: DataLayout.h:219
@ VPI_PACKING_X3Y3Z2
Three 3-, 3- and 2-bit channels in one 8-bit word.
Definition: DataLayout.h:148
@ VPI_PACKING_X8_Y8_Z8
Three 8-bit channels in three 8-bit words.
Definition: DataLayout.h:199
@ VPI_PACKING_INVALID
Denotes an invalid packing.
Definition: DataLayout.h:260
@ VPI_PACKING_X2
One 2-bit channel.
Definition: DataLayout.h:140
@ VPI_PACKING_X24
One 24-bit channel.
Definition: DataLayout.h:196
@ VPI_PACKING_X10Y10Z10W2
Four 10-, 10-, 10- and 2-bit channels in one 32-bit word.
Definition: DataLayout.h:223
@ VPI_PACKING_X12b4_Y12b4
Two MSB 12-bit channels in two 16-bit words.
Definition: DataLayout.h:211
@ VPI_PACKING_X64_Y64
Two 64-bit channels in two 64-bit words.
Definition: DataLayout.h:245
@ VPI_PACKING_X5Y5Z6
Three 5-, 5- and 6-bit channels in one 16-bit word.
Definition: DataLayout.h:167
@ VPI_PACKING_X192
One 192-bit channel.
Definition: DataLayout.h:250
@ VPI_PACKING_X1
One 1-bit channel.
Definition: DataLayout.h:138
@ VPI_PACKING_X32_Y32_Z32_W32
Four 32-bit channels in three 32-bit words.
Definition: DataLayout.h:247
@ VPI_PACKING_X12b4
One MSB 12-bit channel in one 16-bit word.
Definition: DataLayout.h:159
@ VPI_PACKING_X4Y4Z4W4
Four 4-bit channels in one 16-bit word.
Definition: DataLayout.h:182
@ VPI_PACKING_X10b6_Y10b6
Two MSB 10-bit channels in two 16-bit words.
Definition: DataLayout.h:209
@ VPI_PACKING_X8
One 8-bit channel.
Definition: DataLayout.h:144
@ VPI_PACKING_X5Y6Z5
Three 5-, 6- and 5-bit channels in one 16-bit word.
Definition: DataLayout.h:169
@ VPI_PACKING_X10b6
One MSB 10-bit channel in one 16-bit word.
Definition: DataLayout.h:155
@ VPI_PACKING_X4Y4
Two 4-bit channels in one word.
Definition: DataLayout.h:146
@ VPI_PACKING_X32_Y32_Z32
Three 32-bit channels in three 32-bit words.
Definition: DataLayout.h:240
@ VPI_PACKING_X5Y5b1Z5
Three 5-bit channels in one 16-bit word.
Definition: DataLayout.h:177
@ VPI_PACKING_X128
One 128-bit channel.
Definition: DataLayout.h:243
@ VPI_PACKING_b4X4Y4Z4
Three 4-bit channels in one 16-bit word.
Definition: DataLayout.h:173
@ VPI_PACKING_X32
One 32-bit channel.
Definition: DataLayout.h:202
@ VPI_PACKING_X5Y1Z5W5
Four 5-, 1-, 5- and 5-bit channels in one 16-bit word.
Definition: DataLayout.h:184
@ VPI_PACKING_X8_Y8
Two 8-bit channels in two 8-bit words.
Definition: DataLayout.h:164
@ VPI_PACKING_X64_Y64_Z64
Three 64-bit channels in three 64-bit words.
Definition: DataLayout.h:252
@ VPI_PACKING_X64_Y64_Z64_W64
Four 64-bit channels in four 64-bit words.
Definition: DataLayout.h:257
@ VPI_PACKING_X5Y5Z1W5
Four 5-, 5-, 1- and 5-bit channels in one 16-bit word.
Definition: DataLayout.h:186
@ VPI_PACKING_0
No channels.
Definition: DataLayout.h:135
@ VPI_PACKING_X10Y11Z11
Three 10-, 11- and 11-bit channels in one 32-bit word.
Definition: DataLayout.h:214
@ VPI_PACKING_X16_Y16_Z16
Three 16-bit channels in three 16-bit words.
Definition: DataLayout.h:228
@ VPI_PACKING_X2Y10Z10W10
Four 2-, 10-, 10- and 10-bit channels in one 32-bit word.
Definition: DataLayout.h:221
@ VPI_PACKING_X11Y11Z10
Three 11-, 11- and 10-bit channels in one 32-bit word.
Definition: DataLayout.h:216
@ VPI_PACKING_b4X12
One LSB 12-bit channel in one 16-bit word.
Definition: DataLayout.h:157
@ VPI_PACKING_b1X5Y5Z5
Three 5-bit channels in one 16-bit word.
Definition: DataLayout.h:175
@ VPI_PACKING_X256
One 128-bit channel.
Definition: DataLayout.h:255
@ VPI_PACKING_b12X20
One LSB 20-bit channel in one 32-bit word.
Definition: DataLayout.h:204
@ VPI_PACKING_X16
One 16-bit channel.
Definition: DataLayout.h:151
@ VPI_PACKING_X4
One 4-bit channel.
Definition: DataLayout.h:142
@ VPI_PACKING_X6Y5Z5
Three 6-, 5- and 5-bit channels in one 16-bit word.
Definition: DataLayout.h:171
@ VPI_PACKING_X1Y5Z5W5
Four 1-, 5-, 5- and 5-bit channels in one 16-bit word.
Definition: DataLayout.h:180
@ VPI_PACKING_b2X14
One LSB 14-bit channel in one 16-bit word.
Definition: DataLayout.h:161
@ VPI_PACKING_X96
One 96-bit channel.
Definition: DataLayout.h:238
@ VPI_PACKING_X16_Y16
Two 16-bit channels in two 16-bit words.
Definition: DataLayout.h:207
@ VPI_PACKING_X16_Y16_Z16_W16
Four 16-bit channels in one 64-bit word.
Definition: DataLayout.h:235
@ VPI_PACKING_X8_Y8__X8_Z8
2 pixels of 2 8-bit channels each, totalling 4 8-bit words.
Definition: DataLayout.h:191
@ VPI_PACKING_X32_Y32
Two 32-bit channels in two 32-bit words.
Definition: DataLayout.h:233
@ VPI_PACKING_X48
One 48-bit channel.
Definition: DataLayout.h:226
@ VPI_PACKING_Y8_X8__Z8_X8
2 pixels of 2 swapped 8-bit channels each, totalling 4 8-bit words.
Definition: DataLayout.h:193
@ VPI_PACKING_b6X10
One LSB 10-bit channel in one 16-bit word.
Definition: DataLayout.h:153
@ VPI_PACKING_X5Y5Z5W1
Four 5-, 5-, 5- and 1-bit channels in one 16-bit word.
Definition: DataLayout.h:188
@ VPI_MEM_LAYOUT_PITCH_LINEAR
Pixels are laid out in row-major order.
Definition: DataLayout.h:289
@ VPI_MEM_LAYOUT_PL
Definition: DataLayout.h:314
@ VPI_MEM_LAYOUT_BLOCK8_LINEAR
Pixels are laid out in block-linear format with height = 8.
Definition: DataLayout.h:301
@ VPI_MEM_LAYOUT_INVALID
Represents an invalid memory layout.
Definition: DataLayout.h:285
@ VPI_MEM_LAYOUT_BLOCK1_LINEAR
Pixels are laid out in block-linear format with height = 1.
Definition: DataLayout.h:292
@ VPI_MEM_LAYOUT_BLOCK_LINEAR
Default block-linear format.
Definition: DataLayout.h:311
@ VPI_MEM_LAYOUT_BL
Definition: DataLayout.h:315
@ VPI_MEM_LAYOUT_BLOCK2_LINEAR
Pixels are laid out in block-linear format with height = 2.
Definition: DataLayout.h:295
@ VPI_MEM_LAYOUT_BLOCK4_LINEAR
Pixels are laid out in block-linear format with height = 4.
Definition: DataLayout.h:298
@ VPI_MEM_LAYOUT_BLOCK16_LINEAR
Pixels are laid out in block-linear format with height = 16.
Definition: DataLayout.h:304
@ VPI_MEM_LAYOUT_BLOCK32_LINEAR
Pixels are laid out in block-linear format with height = 32.
Definition: DataLayout.h:307
@ VPI_CHANNEL_Z
Selects the third channel of the color model.
Definition: DataLayout.h:328
@ VPI_CHANNEL_1
Sets the corresponding channel to have its maximum value.
Definition: DataLayout.h:330
@ VPI_CHANNEL_INVALID
Represents an invalid swizzle channel.
Definition: DataLayout.h:323
@ VPI_CHANNEL_X
Selects the first channel of the color model.
Definition: DataLayout.h:326
@ VPI_CHANNEL_0
Don't select a channel.
Definition: DataLayout.h:325
@ VPI_CHANNEL_W
Selects the fourth channel of the color model.
Definition: DataLayout.h:329
@ VPI_CHANNEL_Y
Selects the second channel of the color model.
Definition: DataLayout.h:327
@ VPI_DATA_TYPE_FLOATISP
Proprietary floating point format from NVIDIA.
Definition: DataLayout.h:273
@ VPI_DATA_TYPE_FLOAT
Channel are floating point values.
Definition: DataLayout.h:272
@ VPI_DATA_TYPE_INVALID
Represents an invalid data type.
Definition: DataLayout.h:268
@ VPI_DATA_TYPE_UNSIGNED
Channels are unsigned integer values.
Definition: DataLayout.h:270
@ VPI_DATA_TYPE_SIGNED
Channels are signed integer values.
Definition: DataLayout.h:271
@ VPI_BIG_ENDIAN
Big endian, where most significant byte has lower memory address.
Definition: DataLayout.h:491
@ VPI_INVALID_ENDIAN
Invalid endianness value.
Definition: DataLayout.h:489
@ VPI_HOST_ENDIAN
Endianness of the host machine.
Definition: DataLayout.h:490
Defines the parameters encoded in a VPIPacking.
Definition: DataLayout.h:496