NVIDIA DRIVE OS Linux SDK API Reference

5.1.9.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Transformations

Detailed Description

Transformations are used to rotate and mirror the source surface of a blit operation.

The destination rectangle is not affected by any transformation settings.

NvMediaTransform identifies the transformations that can be applied as a combination of rotation and mirroring

Specifically, given a hypothetical 2x2 image, applying these operations would yield the following results

INPUT OUTPUT
+---+---+ +---+---+
| 0 | 1 | IDENTITY | 0 | 1 |
+---+---+ ---------------> +---+---+
| 2 | 3 | | 2 | 3 |
+---+---+ +---+---+
+---+---+ +---+---+
| 0 | 1 | ROTATE_90 | 1 | 3 |
+---+---+ ---------------> +---+---+
| 2 | 3 | | 0 | 2 |
+---+---+ +---+---+
+---+---+ +---+---+
| 0 | 1 | ROTATE_180 | 3 | 2 |
+---+---+ ---------------> +---+---+
| 2 | 3 | | 1 | 0 |
+---+---+ +---+---+
+---+---+ +---+---+
| 0 | 1 | ROTATE_270 | 2 | 0 |
+---+---+ ---------------> +---+---+
| 2 | 3 | | 3 | 1 |
+---+---+ +---+---+
+---+---+ +---+---+
| 0 | 1 | FLIP_HORIZONTAL | 1 | 0 |
+---+---+ ---------------> +---+---+
| 2 | 3 | | 3 | 2 |
+---+---+ +---+---+
+---+---+ +---+---+
| 0 | 1 | INVTRANSPOSE | 3 | 1 |
+---+---+ ---------------> +---+---+
| 2 | 3 | | 2 | 0 |
+---+---+ +---+---+
+---+---+ +---+---+
| 0 | 1 | FLIP_VERTICAL | 2 | 3 |
+---+---+ ---------------> +---+---+
| 2 | 3 | | 0 | 1 |
+---+---+ +---+---+
+---+---+ +---+---+
| 0 | 1 | TRANSPOSE | 0 | 2 |
+---+---+ ---------------> +---+---+
| 2 | 3 | | 1 | 3 |
+---+---+ +---+---+

Enumerations

enum  NvMediaTransform {
  NVMEDIA_TRANSFORM_NONE = 0x0,
  NVMEDIA_TRANSFORM_ROTATE_90,
  NVMEDIA_TRANSFORM_ROTATE_180,
  NVMEDIA_TRANSFORM_ROTATE_270,
  NVMEDIA_TRANSFORM_FLIP_HORIZONTAL,
  NVMEDIA_TRANSFORM_INV_TRANSPOSE,
  NVMEDIA_TRANSFORM_FLIP_VERTICAL,
  NVMEDIA_TRANSFORM_TRANSPOSE
}
 Defines transformations. More...
 

Enumeration Type Documentation

Defines transformations.

Enumerator
NVMEDIA_TRANSFORM_NONE 

Specifies no transformation.

NVMEDIA_TRANSFORM_ROTATE_90 

Specifies rotation by 90 degrees.

NVMEDIA_TRANSFORM_ROTATE_180 

Specifies rotation by 180 degrees.

NVMEDIA_TRANSFORM_ROTATE_270 

Specifies rotation by 270 degrees.

NVMEDIA_TRANSFORM_FLIP_HORIZONTAL 

Specifies horizontal mirroring.

NVMEDIA_TRANSFORM_INV_TRANSPOSE 

Specifies mirroring along a diagonal axis from top right to bottom left of the rectangular region.

NVMEDIA_TRANSFORM_FLIP_VERTICAL 

Specifies vertical mirroring.

NVMEDIA_TRANSFORM_TRANSPOSE 

Specifies mirroring along a diagonal axis from top left to bottom right of the rectangular region.

Definition at line 127 of file nvmedia_2d.h.