NVIDIA DRIVE OS Linux API Reference

5.1.3.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_2d.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013-2018, NVIDIA CORPORATION. All rights reserved. All
3  * information contained herein is proprietary and confidential to NVIDIA
4  * Corporation. Any use, reproduction, or disclosure without the written
5  * permission of NVIDIA Corporation is prohibited.
6  */
7 
16 #ifndef NVMEDIA_2D_H
17 #define NVMEDIA_2D_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #include "nvmedia_core.h"
24 #include "nvmedia_common.h"
25 #include "nvmedia_image.h"
37 #define NVMEDIA_2D_VERSION_MAJOR 3
38 
39 #define NVMEDIA_2D_VERSION_MINOR 1
40 
41 
47 typedef enum
48 {
58 
62 typedef enum
63 {
67 
68 /*---------------------------------------------------------*/
78 typedef enum
79 {
89 
97 typedef struct
98 {
105  uint32_t validFields;
109  uint32_t flags;
117 
123 typedef struct
124 {
126  uint32_t crc;
128 
139  NvMediaVersion *version
140 );
141 
145 typedef void NvMedia2D;
146 
155 NvMedia2D *
157  NvMediaDevice *device
158 );
159 
166 void
168  NvMedia2D *i2d
169 );
170 
225  NvMedia2D *i2d,
226  NvMediaImage *dstSurface,
227  const NvMediaRect *dstRect,
228  NvMediaImage *srcSurface,
229  const NvMediaRect *srcRect,
230  const NvMedia2DBlitParameters *params,
231  NvMedia2DBlitParametersOut *paramsOut
232 );
233 
254  NvMedia2D *i2d,
255  NvMediaImage *dstSurface,
256  uint32_t dstPlane,
257  NvMediaImage *srcSurface,
258  uint32_t srcPlane
259 );
260 
286  NvMedia2D *i2d,
287  NvMediaImage *imageOdd,
288  NvMediaImage *imageEven,
289  NvMediaImage *outImage
290 );
291 
292 /*
293  * \defgroup history_nvmedia_2d History
294  * Provides change history for the NvMedia 2D API.
295  *
296  * \section history_nvmedia_2d Version History
297  *
298  * <b> Version 1.1 </b> February 1, 2016
299  * - Initial release
300  *
301  * <b> Version 1.2 </b> May 11, 2016
302  * - Added \ref NvMedia2DCheckVersion API
303  *
304  * <b> Version 1.3 </b> May 5, 2017
305  * - Removed compositing, blending and alpha related defines and structures
306  *
307  * <b> Version 2.0 </b> May 11, 2017
308  * - Deprecated NvMedia2DBlit API
309  * - Deprecated NvMedia2DCheckVersion API
310  * - Deprecated NvMedia2DColorStandard, NvMedia2DColorRange and
311  * NvMedia2DColorMatrix types
312  * - Added \ref NvMedia2DGetVersion API
313  *
314  * <b> Version 2.1 </b> May 17, 2017
315  * - Moved transformation to nvmedia_common.h
316  * - Renamed NvMedia2DTransform to \ref NvMediaTransform
317  *
318  * <b> Version 2.2 </b> September 4, 2018
319  * - Added deprecated warning message for \ref NvMedia2DCopyPlane,
320  * NvMedia2DWeave
321  * - Added APIs \ref NvMedia2DCopyPlaneNew, \ref NvMedia2DWeaveNew
322  *
323  * <b> Version 3.0 </b> October 30, 2018
324  * - Deprecated \ref NvMedia2DCopyPlane API
325  * - Deprecated \ref NvMedia2DWeave API
326  *
327  * <b> Version 3.1 </b> December 11, 2018
328  * - Fixed MISRA-C Rule 21.1 and 21.2 Violations
329  */
332 #ifdef __cplusplus
333 }; /* extern "C" */
334 #endif
335 
336 #endif /* NVMEDIA_2D_H */
Holds the additional parameters for a blit.
Definition: nvmedia_2d.h:97
A handle representing image objects.
Definition: nvmedia_image.h:75
Specifies enable the best quality filtering.
Definition: nvmedia_2d.h:56
NvMediaTransform dstTransform
Holds destination transformation when NVMEDIA_2D_BLIT_PARAMS_DST_TRANSFORM is set.
Definition: nvmedia_2d.h:112
NvMedia2DStretchFilter filter
Indicates filter mode.
Definition: nvmedia_2d.h:107
NVIDIA Media Interface: Image Processing
NvMediaStatus NvMedia2DBlitEx(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.
uint32_t crc
Holds returned CRC value.
Definition: nvmedia_2d.h:126
Holds NvMedia Version information.
Definition: nvmedia_core.h:252
Specifies compute and return CRC value.
Definition: nvmedia_2d.h:65
NVIDIA Media Interface: Common Types for Video/Image Encode/Decode
NvMediaColorStandard colorStandard
Holds color space conversion standard when NVMEDIA_2D_BLIT_PARAMS_COLOR_STD is set.
Definition: nvmedia_2d.h:115
NvMediaColorStandard
Defines color standards.
Definition: nvmedia_core.h:123
void NvMedia2DDestroy(NvMedia2D *i2d)
Destroys a 2D object.
Specifies enable use of blit flags.
Definition: nvmedia_2d.h:83
Specifies disable the horizontal and vertical filtering.
Definition: nvmedia_2d.h:50
Specifies enable use of color space conversion standard.
Definition: nvmedia_2d.h:87
NVIDIA Media Interface: Core
NvMediaStatus
The set of all possible error codes.
Definition: nvmedia_core.h:199
NvMediaTransform
Transformations.
NvMediaStatus NvMedia2DGetVersion(NvMediaVersion *version)
Returns the version information for the NvMedia 2D library.
uint32_t flags
Holds flags to use when setting NVMEDIA_2D_BLIT_PARAMS_FLAGS.
Definition: nvmedia_2d.h:109
NvMedia2DStretchFilter
Specifies filtering mode used for stretched blits.
Definition: nvmedia_2d.h:47
NvMedia2DBlitFlags
Specifies operation flags that affect blit behavior.
Definition: nvmedia_2d.h:62
NvMedia2DBlitParamField
Specifies bit-mask for NvMedia2DBlitParameters::validFields.
Definition: nvmedia_2d.h:78
Holds a rectangular region of a surface.
Definition: nvmedia_core.h:146
Holds additional values returned from a blit.
Definition: nvmedia_2d.h:123
NvMedia2D * NvMedia2DCreate(NvMediaDevice *device)
Creates a 2D object.
NvMediaStatus NvMedia2DCopyPlaneNew(NvMedia2D *i2d, NvMediaImage *dstSurface, uint32_t dstPlane, NvMediaImage *srcSurface, uint32_t srcPlane)
Copies a plane of a YUV image to another YUV image.
Specifies enable low quality filtering.
Definition: nvmedia_2d.h:52
void NvMediaDevice
An opaque handle representing a NvMediaDevice object.
Definition: nvmedia_core.h:305
void NvMedia2D
An opaque handle representing an NvMedia2D object.
Definition: nvmedia_2d.h:145
Specifies enable use of stretch filter.
Definition: nvmedia_2d.h:81
NvMediaStatus NvMedia2DWeaveNew(NvMedia2D *i2d, NvMediaImage *imageOdd, NvMediaImage *imageEven, NvMediaImage *outImage)
Performs an NvMedia2D weave operation on NvMedia images.
uint32_t validFields
Indicates valid fields in this structure.
Definition: nvmedia_2d.h:105
Specifies enable use of destination transform.
Definition: nvmedia_2d.h:85
Specifies enable media quality filtering.
Definition: nvmedia_2d.h:54