Enum NVCVPacking
Defined in File DataLayout.h
Enum Documentation
-
enum NVCVPacking
Defines how channels are packed into an image plane element.
Packing encodes how many channels the plane element has, and how they are arranged in memory.
Up to 4 channels (denoted by X, Y, Z, W) can be packed into an image plane element, each one occupying a specified number of bits.
When two channels are specified one right after the other, they are ordered from most-significant bit to least-significant bit. Words are separated by underscores. For example:
X8Y8Z8W8 = a single 32-bit word containing 4 channels, 8 bits each.
In little-endian architectures:
In big-endian architectures:
X8_Y8_Z8_W8 = four consecutive 8-bit words, corresponding to 4 channels, 8 bits each.
In little-endian architectures:
In big-endian architectures:
In cases where a word is less than 8 bits (e.g., X1 1-bit channel), channels are ordered from LSB to MSB within a word.
Some formats allow different packings when pixels’ horizontal coordinate is even or odd. For instance, every pixel of YUV422 packed format contains an Y channel, while only even pixels contain the U channel, and odd pixels contain V channel. Such formats use a double-underscore to separate the even pixels from the odd pixels. The packing just described might be referred to X8_Y8__X8_Z8, where X = luma, Y = U chroma, Z = V chroma.
Note
Also note equivalences such as the following:
Note
In little-endian: X8_Y8_Z8_W8 = W8Z8Y8X8.
Note
In big-endian: X8_Y8_Z8_W8 = X8Y8Z8W8.
Values:
-
enumerator NVCV_PACKING_0
No channels.
-
enumerator NVCV_PACKING_X1
One 1-bit channel.
-
enumerator NVCV_PACKING_X2
One 2-bit channel.
-
enumerator NVCV_PACKING_X4
One 4-bit channel.
-
enumerator NVCV_PACKING_X8
One 8-bit channel.
-
enumerator NVCV_PACKING_b4X4
One LSB 4-bit channel in a 8-bit word
-
enumerator NVCV_PACKING_X4b4
One MSB 4-bit channel in a 8-bit word
-
enumerator NVCV_PACKING_X4Y4
Two 4-bit channels in one 8-bit word.
-
enumerator NVCV_PACKING_X3Y3Z2
Three 3-, 3- and 2-bit channels in one 8-bit word.
-
enumerator NVCV_PACKING_X16
One 16-bit channel.
-
enumerator NVCV_PACKING_b6X10
One LSB 10-bit channel in one 16-bit word.
-
enumerator NVCV_PACKING_X10b6
One MSB 10-bit channel in one 16-bit word.
-
enumerator NVCV_PACKING_b4X12
One LSB 12-bit channel in one 16-bit word.
-
enumerator NVCV_PACKING_X12b4
One MSB 12-bit channel in one 16-bit word.
-
enumerator NVCV_PACKING_b2X14
One LSB 14-bit channel in one 16-bit word.
-
enumerator NVCV_PACKING_X14b2
One MSB 14-bit channel in one 16-bit word.
-
enumerator NVCV_PACKING_X8_Y8
Two 8-bit channels in two 8-bit words.
-
enumerator NVCV_PACKING_X5Y5Z6
Three 5-, 5- and 6-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_X5Y6Z5
Three 5-, 6- and 5-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_X6Y5Z5
Three 6-, 5- and 5-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_b4X4Y4Z4
Three 4-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_b1X5Y5Z5
Three 5-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_X5Y5b1Z5
Three 5-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_X1Y5Z5W5
Four 1-, 5-, 5- and 5-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_X4Y4Z4W4
Four 4-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_X5Y1Z5W5
Four 5-, 1-, 5- and 5-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_X5Y5Z1W5
Four 5-, 5-, 1- and 5-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_X5Y5Z5W1
Four 5-, 5-, 5- and 1-bit channels in one 16-bit word.
-
enumerator NVCV_PACKING_X8_Y8__X8_Z8
2 pixels of 2 8-bit channels each, totalling 4 8-bit words.
-
enumerator NVCV_PACKING_Y8_X8__Z8_X8
2 pixels of 2 swapped 8-bit channels each, totalling 4 8-bit words.
-
enumerator NVCV_PACKING_X24
One 24-bit channel.
-
enumerator NVCV_PACKING_X8_Y8_Z8
Three 8-bit channels in three 8-bit words.
-
enumerator NVCV_PACKING_X32
One 32-bit channel.
-
enumerator NVCV_PACKING_b12X20
One LSB 20-bit channel in one 32-bit word.
-
enumerator NVCV_PACKING_X20b12
One MSB 20-bit channel in one 32-bit word.
-
enumerator NVCV_PACKING_X24b8
One MSB 24-bit channel in one 32-bit word.
-
enumerator NVCV_PACKING_b8X24
One LSB 24-bit channel in one 32-bit word.
-
enumerator NVCV_PACKING_X16_Y16
Two 16-bit channels in two 16-bit words.
-
enumerator NVCV_PACKING_X10b6_Y10b6
Two MSB 10-bit channels in two 16-bit words.
-
enumerator NVCV_PACKING_X12b4_Y12b4
Two MSB 12-bit channels in two 16-bit words.
-
enumerator NVCV_PACKING_X10Y11Z11
Three 10-, 11- and 11-bit channels in one 32-bit word.
-
enumerator NVCV_PACKING_X11Y11Z10
Three 11-, 11- and 10-bit channels in one 32-bit word.
-
enumerator NVCV_PACKING_b2X10Y10Z10
Three LSB 10-bit channels in one 32-bit word.
-
enumerator NVCV_PACKING_X10Y10Z10b2
Three MSB 10-bit channels in one 32-bit word.
-
enumerator NVCV_PACKING_X8_Y8_Z8_W8
Four 8-bit channels in one 32-bit word.
-
enumerator NVCV_PACKING_X2Y10Z10W10
Four 2-, 10-, 10- and 10-bit channels in one 32-bit word.
-
enumerator NVCV_PACKING_X10Y10Z10W2
Four 10-, 10-, 10- and 2-bit channels in one 32-bit word.
-
enumerator NVCV_PACKING_X48
One 48-bit channel.
-
enumerator NVCV_PACKING_X16_Y16_Z16
Three 16-bit channels in three 16-bit words.
-
enumerator NVCV_PACKING_X64
One 64-bit channel.
-
enumerator NVCV_PACKING_X32_Y32
Two 32-bit channels in two 32-bit words.
-
enumerator NVCV_PACKING_X32_Y24b8
Two channels: 32-bit in a 32-bit word, 24-bit MSB in a 32-bit word
-
enumerator NVCV_PACKING_X16_Y16_Z16_W16
Four 16-bit channels in one 64-bit word.
-
enumerator NVCV_PACKING_X96
One 96-bit channel.
-
enumerator NVCV_PACKING_X32_Y32_Z32
Three 32-bit channels in three 32-bit words.
-
enumerator NVCV_PACKING_X128
One 128-bit channel.
-
enumerator NVCV_PACKING_X64_Y64
Two 64-bit channels in two 64-bit words.
-
enumerator NVCV_PACKING_X32_Y32_Z32_W32
Four 32-bit channels in three 32-bit words.
-
enumerator NVCV_PACKING_X192
One 192-bit channel.
-
enumerator NVCV_PACKING_X64_Y64_Z64
Three 64-bit channels in three 64-bit words.
-
enumerator NVCV_PACKING_X256
One 256-bit channel.
-
enumerator NVCV_PACKING_X128_Y128
Two 128-bit channels in two 128-bit words.
-
enumerator NVCV_PACKING_X64_Y64_Z64_W64
Four 64-bit channels in four 64-bit words.
-
enumerator NVCV_PACKING_0