Enum NVCVPacking

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.