![]() |
NVIDIA DRIVE OS Linux SDK API Reference5.1.6.0 Release |
Blit functions define valid parameters for a blit.
Data Structures | |
struct | NvMedia2DBlitParameters |
Holds the additional parameters for a blit. More... | |
struct | NvMedia2DBlitParametersOut |
Holds additional values returned from a blit. More... | |
Enumerations | |
enum | NvMedia2DBlitParamField { NVMEDIA_2D_BLIT_PARAMS_FILTER = (1u << 0), NVMEDIA_2D_BLIT_PARAMS_FLAGS = (1u << 1), NVMEDIA_2D_BLIT_PARAMS_DST_TRANSFORM = (1u << 2), NVMEDIA_2D_BLIT_PARAMS_COLOR_STD = (1u << 3) } |
Defines bit masks for NvMedia2DBlitParameters::validFields. More... | |
Functions | |
NvMedia2D * | NvMedia2DCreate (NvMediaDevice *device) |
Creates a 2D object. More... | |
void | NvMedia2DDestroy (NvMedia2D *i2d) |
Destroys a 2D object. More... | |
NvMediaStatus | NvMedia2DBlitEx (const NvMedia2D *i2d, NvMediaImage *dstSurface, const NvMediaRect *dstRect, NvMediaImage *srcSurface, const NvMediaRect *srcRect, const NvMedia2DBlitParameters *params, NvMedia2DBlitParametersOut *paramsOut) |
Performs a 2D blit operation with supplementary return values. More... | |
NvMediaStatus | NvMedia2DCopyPlaneNew (const NvMedia2D *i2d, NvMediaImage *dstSurface, uint32_t dstPlane, NvMediaImage *srcSurface, uint32_t srcPlane) |
Copies a plane of a YUV image to another YUV image. More... | |
Defines bit masks for NvMedia2DBlitParameters::validFields.
Definition at line 159 of file nvmedia_2d.h.
NvMediaStatus NvMedia2DBlitEx | ( | const NvMedia2D * | i2d, |
NvMediaImage * | dstSurface, | ||
const NvMediaRect * | dstRect, | ||
NvMediaImage * | srcSurface, | ||
const NvMediaRect * | srcRect, | ||
const NvMedia2DBlitParameters * | params, | ||
NvMedia2DBlitParametersOut * | paramsOut | ||
) |
Performs a 2D blit operation with supplementary return values.
A blit transfers pixels from a source surface to a destination surface, applying a variety of transformations to the pixel values on the way.
The interface is designed to simplify the typical uses of normal pixel copy by not requiring advanced blit parameters to be set unless they are actually required.
Set params to NULL to invoke a standard pixel copy blit without additional transformations. If the dimensions of the source rectangle do not match the dimensions of the destination rectangle, the blit scales the pixels to fit the destination rectangle. The filtering mode for scale defaults to NVMEDIA_2D_STRETCH_FILTER_LOW. You can use additional filtering modes by setting the corresponding parameter in NvMedia2DBlitParameters.
Set srcRect or dstRect to NULL to default to a source or destination rectangle the size of the full source or destination surface.
This example performs a straight pixel copy between surfaces of the same dimensions (but not necessarily the same bit depth or color format):
[in] | i2d | A pointer to a i2d Image 2D object. |
[in] | dstSurface | A pointer to a destination surface. |
[in] | dstRect | A pointer to a destination rectangle. For a YUV surface type with 16-bit depth, the x0 and y0 of dstRect must be 0. |
[in] | srcSurface | A pointer to a source surface. |
[in] | srcRect | A pointer to a source rectangle. |
[in] | params | A pointer to parameters. |
[out] | paramsOut | Reserved for future use. Currently, set paramsOut to NULL. |
NvMediaStatus NvMedia2DCopyPlaneNew | ( | const NvMedia2D * | i2d, |
NvMediaImage * | dstSurface, | ||
uint32_t | dstPlane, | ||
NvMediaImage * | srcSurface, | ||
uint32_t | srcPlane | ||
) |
Copies a plane of a YUV image to another YUV image.
The source and the destination must have the same format.
[in] | i2d | An NvMedia 2D device handle. |
[in] | dstSurface | A pointer to the destination surface. |
[in] | dstPlane | The destination plane. |
[in] | srcSurface | A pointer to the source surface. |
[in] | srcPlane | The source plane. |
NVMEDIA_STATUS_OK | indicates that the operation was successful. |
NVMEDIA_STATUS_BAD_PARAMETER | indicates that one or more parameters were invalid. |
NVMEDIA_STATUS_NOT_SUPPORTED | indicates that the requested operation was not supported. |
NVMEDIA_STATUS_ERROR | indicates that some other error occurred. |
NvMedia2D* NvMedia2DCreate | ( | NvMediaDevice * | device | ) |
Creates a 2D object.
[in] | device | A pointer to the NvMediaDevice device this 2D object is to use. |
void NvMedia2DDestroy | ( | NvMedia2D * | i2d | ) |
Destroys a 2D object.
[in] | i2d | A pointer to the 2D object to be destroyed. |