VPI - Vision Programming Interface

2.1 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 
127 typedef enum
128 {
131 
133  VPI_PACKING_X1 = VPI_DETAIL_BPP_NCH(1, 1),
135  VPI_PACKING_X2 = VPI_DETAIL_BPP_NCH(2, 1),
137  VPI_PACKING_X4 = VPI_DETAIL_BPP_NCH(4, 1),
139  VPI_PACKING_X8 = VPI_DETAIL_BPP_NCH(8, 1),
141  VPI_PACKING_X4Y4 = VPI_DETAIL_BPP_NCH(8, 2),
143  VPI_PACKING_X3Y3Z2 = VPI_DETAIL_BPP_NCH(8, 3),
144 
146  VPI_PACKING_X16 = VPI_DETAIL_BPP_NCH(16, 1),
157 
159  VPI_PACKING_X8_Y8 = VPI_DETAIL_BPP_NCH(16, 2),
160 
162  VPI_PACKING_X5Y5Z6 = VPI_DETAIL_BPP_NCH(16, 3),
173 
175  VPI_PACKING_X1Y5Z5W5 = VPI_DETAIL_BPP_NCH(16, 4),
184 
189 
191  VPI_PACKING_X24 = VPI_DETAIL_BPP_NCH(24, 1),
192 
194  VPI_PACKING_X8_Y8_Z8 = VPI_DETAIL_BPP_NCH(24, 3),
195 
197  VPI_PACKING_X32 = VPI_DETAIL_BPP_NCH(32, 1),
200 
202  VPI_PACKING_X16_Y16 = VPI_DETAIL_BPP_NCH(32, 2),
207 
209  VPI_PACKING_X10Y11Z11 = VPI_DETAIL_BPP_NCH(32, 3),
212 
214  VPI_PACKING_X8_Y8_Z8_W8 = VPI_DETAIL_BPP_NCH(32, 4),
219 
221  VPI_PACKING_X48 = VPI_DETAIL_BPP_NCH(48, 1),
223  VPI_PACKING_X16_Y16_Z16 = VPI_DETAIL_BPP_NCH(48, 3),
224 
226  VPI_PACKING_X64 = VPI_DETAIL_BPP_NCH(64, 1),
228  VPI_PACKING_X32_Y32 = VPI_DETAIL_BPP_NCH(64, 2),
230  VPI_PACKING_X16_Y16_Z16_W16 = VPI_DETAIL_BPP_NCH(64, 4),
231 
233  VPI_PACKING_X96 = VPI_DETAIL_BPP_NCH(96, 1),
235  VPI_PACKING_X32_Y32_Z32 = VPI_DETAIL_BPP_NCH(96, 3),
236 
238  VPI_PACKING_X128 = VPI_DETAIL_BPP_NCH(128, 1),
240  VPI_PACKING_X64_Y64 = VPI_DETAIL_BPP_NCH(128, 2),
242  VPI_PACKING_X32_Y32_Z32_W32 = VPI_DETAIL_BPP_NCH(128, 4),
243 
245  VPI_PACKING_X192 = VPI_DETAIL_BPP_NCH(192, 1),
247  VPI_PACKING_X64_Y64_Z64 = VPI_DETAIL_BPP_NCH(192, 3),
248 
250  VPI_PACKING_X256 = VPI_DETAIL_BPP_NCH(256, 1),
252  VPI_PACKING_X64_Y64_Z64_W64 = VPI_DETAIL_BPP_NCH(256, 4),
253 
255  VPI_PACKING_INVALID = INT32_MAX
257 
259 typedef enum
260 {
264 
270 
277 typedef enum
278 {
281 
285 
288 
291 
294 
297 
300 
303 
307 
313 
316 typedef enum
317 {
327 
336 typedef enum
337 {
339  VPI_SWIZZLE_INVALID = VPI_DETAIL_MAKE_SWZL(INVALID, INVALID, INVALID, INVALID),
340 
342  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, 0, 0),
343  VPI_DETAIL_DEF_SWIZZLE_ENUM(1, 0, 0, 0),
344  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, 0, 1),
345  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, Z, W),
346  VPI_DETAIL_DEF_SWIZZLE_ENUM(Z, Y, X, W),
347  VPI_DETAIL_DEF_SWIZZLE_ENUM(W, X, Y, Z),
348  VPI_DETAIL_DEF_SWIZZLE_ENUM(W, Z, Y, X),
349  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Z, W, X),
350  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, Z, 1),
351  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, Z, 0),
352  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Z, W, 1),
353  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, X, X, 1),
354  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Z, Y, 1),
355  VPI_DETAIL_DEF_SWIZZLE_ENUM(Z, Y, X, 1),
356  VPI_DETAIL_DEF_SWIZZLE_ENUM(Z, Y, X, 0),
357  VPI_DETAIL_DEF_SWIZZLE_ENUM(W, Z, Y, 1),
358  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, 0, 0, 0),
359  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, X, 0, 0),
360  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, X, 0),
361  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, 0, X),
362  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, 0, 0, 0),
363  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, Y, 0, 0),
364  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, Y, 0),
365  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, 0, Y),
366  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, X, Y, 0),
367  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, X, X, Y),
368  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Y, Y, X),
369  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, Y, X, 0),
370  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, 0, 0, Y),
371  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, 0, 0, X),
372  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, 0, 0, 1),
373  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, 0, 1),
374  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, 0, 0),
375  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, X, Z, 0),
376  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, Z, X, 0),
377  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Z, Y, 0),
378  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Z, X, 1),
379  VPI_DETAIL_DEF_SWIZZLE_ENUM(Z, Y, W, 1),
380  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, Y, X, 1),
381  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, X, Z),
382  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, X, Z, X),
383  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Z, 0, 0),
384  VPI_DETAIL_DEF_SWIZZLE_ENUM(W, Y, X, Z),
385  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, X, 0, 0),
386  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, X, 0, 1),
387  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, Y, X),
388  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, 0, X, Y),
389  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, X, Y, 1),
390  VPI_DETAIL_DEF_SWIZZLE_ENUM(0, X, 0, 1),
391  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Z, X, W),
392  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, W, 0, 0),
393  VPI_DETAIL_DEF_SWIZZLE_ENUM(X, Y, W, 0),
394  VPI_DETAIL_DEF_SWIZZLE_ENUM(Y, Z, W, 0),
396 } VPISwizzle;
397 
413 #ifdef VPI_DOXYGEN
414 # define VPI_MAKE_SWIZZLE_ABBREV(x, y, z, w)
415 #else
416 # define VPI_MAKE_SWIZZLE_ABBREV (VPISwizzle) VPI_DETAIL_MAKE_SWZL
417 #endif
418 
433 #ifdef VPI_DOXYGEN
434 # define VPI_MAKE_SWIZZLE(x, y, z, w)
435 #else
436 # define VPI_MAKE_SWIZZLE (VPISwizzle) VPI_DETAIL_MAKE_SWIZZLE
437 #endif
438 
454 
465 VPI_PUBLIC void vpiSwizzleGetChannels(VPISwizzle swizzle, VPIChannel *channels);
466 
479 VPI_PUBLIC int vpiSwizzleGetChannelCount(VPISwizzle swizzle);
480 
482 typedef enum
483 {
488 
490 typedef struct
491 {
494 
497 
500  int bits[4];
501 
503 
518 VPI_PUBLIC VPIPacking vpiMakePacking(const VPIPackingParams *params);
519 
527 VPI_PUBLIC void vpiPackingGetParams(VPIPacking packing, VPIPackingParams *params);
528 
535 VPI_PUBLIC int vpiPackingGetComponentCount(VPIPacking packing);
536 
545 VPI_PUBLIC void vpiPackingGetBitsPerComponent(VPIPacking packing, int32_t *bits);
546 
554 VPI_PUBLIC int vpiPackingGetBitsPerPixel(VPIPacking packing);
555 
558 #ifdef __cplusplus
559 }
560 #endif
561 
562 #endif /* NV_VPI_DATALAYOUT_H */
VPIEndianness endianness
Component ordering in a word.
Definition: DataLayout.h:493
VPISwizzle swizzle
Channel ordering.
Definition: DataLayout.h:496
VPISwizzle
Defines the supported channel swizzle operations.
Definition: DataLayout.h:337
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:128
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.
VPIMemLayout
Defines how the 2D plane pixels are laid out in memory.
Definition: DataLayout.h:278
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:317
VPIDataType
Defines the channel data type.
Definition: DataLayout.h:260
VPIEndianness
Endianness of a VPIPacking value.
Definition: DataLayout.h:483
void vpiPackingGetParams(VPIPacking packing, VPIPackingParams *params)
Returns channels' information from a format packing.
@ VPI_SWIZZLE_INVALID
Represents an invalid swizzle.
Definition: DataLayout.h:339
@ VPI_PACKING_X64
One 64-bit channel.
Definition: DataLayout.h:226
@ VPI_PACKING_X8_Y8_Z8_W8
Four 8-bit channels in one 32-bit word.
Definition: DataLayout.h:214
@ VPI_PACKING_X3Y3Z2
Three 3-, 3- and 2-bit channels in one 8-bit word.
Definition: DataLayout.h:143
@ VPI_PACKING_X8_Y8_Z8
Three 8-bit channels in three 8-bit words.
Definition: DataLayout.h:194
@ VPI_PACKING_INVALID
Denotes an invalid packing.
Definition: DataLayout.h:255
@ VPI_PACKING_X2
One 2-bit channel.
Definition: DataLayout.h:135
@ VPI_PACKING_X24
One 24-bit channel.
Definition: DataLayout.h:191
@ VPI_PACKING_X10Y10Z10W2
Four 10-, 10-, 10- and 2-bit channels in one 32-bit word.
Definition: DataLayout.h:218
@ VPI_PACKING_X12b4_Y12b4
Two MSB 12-bit channels in two 16-bit words.
Definition: DataLayout.h:206
@ VPI_PACKING_X64_Y64
Two 64-bit channels in two 64-bit words.
Definition: DataLayout.h:240
@ VPI_PACKING_X5Y5Z6
Three 5-, 5- and 6-bit channels in one 16-bit word.
Definition: DataLayout.h:162
@ VPI_PACKING_X192
One 192-bit channel.
Definition: DataLayout.h:245
@ VPI_PACKING_X1
One 1-bit channel.
Definition: DataLayout.h:133
@ VPI_PACKING_X32_Y32_Z32_W32
Four 32-bit channels in three 32-bit words.
Definition: DataLayout.h:242
@ VPI_PACKING_X12b4
One MSB 12-bit channel in one 16-bit word.
Definition: DataLayout.h:154
@ VPI_PACKING_X4Y4Z4W4
Four 4-bit channels in one 16-bit word.
Definition: DataLayout.h:177
@ VPI_PACKING_X10b6_Y10b6
Two MSB 10-bit channels in two 16-bit words.
Definition: DataLayout.h:204
@ VPI_PACKING_X8
One 8-bit channel.
Definition: DataLayout.h:139
@ VPI_PACKING_X5Y6Z5
Three 5-, 6- and 5-bit channels in one 16-bit word.
Definition: DataLayout.h:164
@ VPI_PACKING_X10b6
One MSB 10-bit channel in one 16-bit word.
Definition: DataLayout.h:150
@ VPI_PACKING_X4Y4
Two 4-bit channels in one word.
Definition: DataLayout.h:141
@ VPI_PACKING_X32_Y32_Z32
Three 32-bit channels in three 32-bit words.
Definition: DataLayout.h:235
@ VPI_PACKING_X5Y5b1Z5
Three 5-bit channels in one 16-bit word.
Definition: DataLayout.h:172
@ VPI_PACKING_X128
One 128-bit channel.
Definition: DataLayout.h:238
@ VPI_PACKING_b4X4Y4Z4
Three 4-bit channels in one 16-bit word.
Definition: DataLayout.h:168
@ VPI_PACKING_X32
One 32-bit channel.
Definition: DataLayout.h:197
@ VPI_PACKING_X5Y1Z5W5
Four 5-, 1-, 5- and 5-bit channels in one 16-bit word.
Definition: DataLayout.h:179
@ VPI_PACKING_X8_Y8
Two 8-bit channels in two 8-bit words.
Definition: DataLayout.h:159
@ VPI_PACKING_X64_Y64_Z64
Three 64-bit channels in three 64-bit words.
Definition: DataLayout.h:247
@ VPI_PACKING_X64_Y64_Z64_W64
Four 64-bit channels in four 64-bit words.
Definition: DataLayout.h:252
@ VPI_PACKING_X5Y5Z1W5
Four 5-, 5-, 1- and 5-bit channels in one 16-bit word.
Definition: DataLayout.h:181
@ VPI_PACKING_0
No channels.
Definition: DataLayout.h:130
@ VPI_PACKING_X10Y11Z11
Three 10-, 11- and 11-bit channels in one 32-bit word.
Definition: DataLayout.h:209
@ VPI_PACKING_X16_Y16_Z16
Three 16-bit channels in three 16-bit words.
Definition: DataLayout.h:223
@ VPI_PACKING_X2Y10Z10W10
Four 2-, 10-, 10- and 10-bit channels in one 32-bit word.
Definition: DataLayout.h:216
@ VPI_PACKING_X11Y11Z10
Three 11-, 11- and 10-bit channels in one 32-bit word.
Definition: DataLayout.h:211
@ VPI_PACKING_b4X12
One LSB 12-bit channel in one 16-bit word.
Definition: DataLayout.h:152
@ VPI_PACKING_b1X5Y5Z5
Three 5-bit channels in one 16-bit word.
Definition: DataLayout.h:170
@ VPI_PACKING_X256
One 128-bit channel.
Definition: DataLayout.h:250
@ VPI_PACKING_b12X20
One LSB 20-bit channel in one 32-bit word.
Definition: DataLayout.h:199
@ VPI_PACKING_X16
One 16-bit channel.
Definition: DataLayout.h:146
@ VPI_PACKING_X4
One 4-bit channel.
Definition: DataLayout.h:137
@ VPI_PACKING_X6Y5Z5
Three 6-, 5- and 5-bit channels in one 16-bit word.
Definition: DataLayout.h:166
@ VPI_PACKING_X1Y5Z5W5
Four 1-, 5-, 5- and 5-bit channels in one 16-bit word.
Definition: DataLayout.h:175
@ VPI_PACKING_b2X14
One LSB 14-bit channel in one 16-bit word.
Definition: DataLayout.h:156
@ VPI_PACKING_X96
One 96-bit channel.
Definition: DataLayout.h:233
@ VPI_PACKING_X16_Y16
Two 16-bit channels in two 16-bit words.
Definition: DataLayout.h:202
@ VPI_PACKING_X16_Y16_Z16_W16
Four 16-bit channels in one 64-bit word.
Definition: DataLayout.h:230
@ VPI_PACKING_X8_Y8__X8_Z8
2 pixels of 2 8-bit channels each, totalling 4 8-bit words.
Definition: DataLayout.h:186
@ VPI_PACKING_X32_Y32
Two 32-bit channels in two 32-bit words.
Definition: DataLayout.h:228
@ VPI_PACKING_X48
One 48-bit channel.
Definition: DataLayout.h:221
@ VPI_PACKING_Y8_X8__Z8_X8
2 pixels of 2 swapped 8-bit channels each, totalling 4 8-bit words.
Definition: DataLayout.h:188
@ VPI_PACKING_b6X10
One LSB 10-bit channel in one 16-bit word.
Definition: DataLayout.h:148
@ VPI_PACKING_X5Y5Z5W1
Four 5-, 5-, 5- and 1-bit channels in one 16-bit word.
Definition: DataLayout.h:183
@ VPI_MEM_LAYOUT_PITCH_LINEAR
Pixels are laid out in row-major order.
Definition: DataLayout.h:284
@ VPI_MEM_LAYOUT_PL
Definition: DataLayout.h:309
@ VPI_MEM_LAYOUT_BLOCK8_LINEAR
Pixels are laid out in block-linear format with height = 8.
Definition: DataLayout.h:296
@ VPI_MEM_LAYOUT_INVALID
Represents an invalid memory layout.
Definition: DataLayout.h:280
@ VPI_MEM_LAYOUT_BLOCK1_LINEAR
Pixels are laid out in block-linear format with height = 1.
Definition: DataLayout.h:287
@ VPI_MEM_LAYOUT_BLOCK_LINEAR
Default block-linear format.
Definition: DataLayout.h:306
@ VPI_MEM_LAYOUT_BL
Definition: DataLayout.h:310
@ VPI_MEM_LAYOUT_BLOCK2_LINEAR
Pixels are laid out in block-linear format with height = 2.
Definition: DataLayout.h:290
@ VPI_MEM_LAYOUT_BLOCK4_LINEAR
Pixels are laid out in block-linear format with height = 4.
Definition: DataLayout.h:293
@ VPI_MEM_LAYOUT_BLOCK16_LINEAR
Pixels are laid out in block-linear format with height = 16.
Definition: DataLayout.h:299
@ VPI_MEM_LAYOUT_BLOCK32_LINEAR
Pixels are laid out in block-linear format with height = 32.
Definition: DataLayout.h:302
@ VPI_CHANNEL_Z
Selects the third channel of the color model.
Definition: DataLayout.h:323
@ VPI_CHANNEL_1
Sets the corresponding channel to have its maximum value.
Definition: DataLayout.h:325
@ VPI_CHANNEL_INVALID
Represents an invalid swizzle channel.
Definition: DataLayout.h:318
@ VPI_CHANNEL_X
Selects the first channel of the color model.
Definition: DataLayout.h:321
@ VPI_CHANNEL_0
Don't select a channel.
Definition: DataLayout.h:320
@ VPI_CHANNEL_W
Selects the fourth channel of the color model.
Definition: DataLayout.h:324
@ VPI_CHANNEL_Y
Selects the second channel of the color model.
Definition: DataLayout.h:322
@ VPI_DATA_TYPE_FLOATISP
Proprietary floating point format from NVIDIA.
Definition: DataLayout.h:268
@ VPI_DATA_TYPE_FLOAT
Channel are floating point values.
Definition: DataLayout.h:267
@ VPI_DATA_TYPE_INVALID
Represents an invalid data type.
Definition: DataLayout.h:263
@ VPI_DATA_TYPE_UNSIGNED
Channels are unsigned integer values.
Definition: DataLayout.h:265
@ VPI_DATA_TYPE_SIGNED
Channels are signed integer values.
Definition: DataLayout.h:266
@ VPI_BIG_ENDIAN
Big endian, where most significant byte has lower memory address.
Definition: DataLayout.h:486
@ VPI_INVALID_ENDIAN
Invalid endianness value.
Definition: DataLayout.h:484
@ VPI_HOST_ENDIAN
Endianness of the host machine.
Definition: DataLayout.h:485
Defines the parameters encoded in a VPIPacking.
Definition: DataLayout.h:491