NVIDIA DRIVE OS Linux SDK API Reference

5.1.12.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_common.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-2019 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 
8 
17 #ifndef NVMEDIA_COMMON_H
18 #define NVMEDIA_COMMON_H
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 #include "nvmedia_core.h"
25 
35 #include "nvmedia_common_decode.h"
36 #include "nvmedia_common_encode.h"
37 
39 #define NVMEDIA_COMMON_VERSION_MAJOR 1
40 
41 #define NVMEDIA_COMMON_VERSION_MINOR 29
42 
43 
46 typedef enum {
54 
65 #define NVMEDIA_DISP_ATTR_COMPOSITION (1<<6)
66 
70 #define NVMEDIA_DISP_ATTR_SET_DEPTH (1<<7)
71 
75 #define NVMEDIA_DISP_ATTR_SET_POSITION (1<<8)
76 
82 typedef enum {
92 
96 typedef struct {
108  uint32_t depth;
114 
117 typedef enum {
133 
136 /*
137  * \defgroup history_nvmedia_common History
138  * Provides change history for the NvMedia Common Types.
139  *
140  * \section history_nvmedia_common Version History
141  *
142  * <b> Version 1.0 </b> March 21, 2017
143  * - Initial release
144  *
145  * <b> Version 1.1 </b> April 18, 2017
146  * - Added \ref NvMediaDecoderInstanceId enum and
147  * \ref NvMediaEncoderInstanceId enum
148  * - Changed to use standard data types
149  * - Removed input surface rotation and mirroring enumerations and members from
150  * \ref NvMediaEncodeInitializeParamsH264 and \ref NvMediaEncodeInitializeParamsH265
151  *
152  * <b> Version 1.2 </b> May 4, 2017
153  * - Added SLICE_LEVEL_OUTPUT, RTP_MODE_OUTPUT, EXT_PIC_RC_HINT, DYNAMIC_RPS,
154  * MV_BUFFER_DUMP and RECON_CRC features for \ref NvMediaEncodeH264Features
155  * and \ref NvMediaEncodeH265Features
156  * - Add bConstFrameQP parameter in \ref NvMediaEncodeRCParams.
157  * - Add NvMediaEncAttrType enum and NvMediaNalData data structure.
158  *
159  * <b> Version 1.3 </b> May 8, 2017
160  * - Added \ref numMacroblocksPerSlice in \ref NvMediaEncodeConfigH264
161  * and \ref numCTUsPerSlice in \ref NvMediaEncodeConfigH265.
162  *
163  * <b> Version 1.4 </b> May 10, 2017
164  * - Added LOOP_FILTER_PARAMS, QUANTIZATION_PARAMS, TRANSFORM_MODE, HIGH_PRECISION_MV
165  * and ERROR_RESILIENT features in \ref NvMediaEncodeVP9Features.
166  * - Added filter_type, filter_level, sharpness_level, ref_lf_deltas, mode_lf_deltas,
167  * bmode_ref_lf_delta_enabled, bmode_ref_lf_delta_update, base_qindex, delta_y_dc_q,
168  * delta_uv_dc, delta_uv_ac, transform_mode, high_prec_mv and error_resilient
169  * parameters in \ref NvMediaEncodeConfigVP9.
170  *
171  * <b> Version 1.5 </b> May 17, 2017
172  * - Added display_attributes enum defines
173  * - Added \ref NvMediaDispCompMode and \ref NvMediaDispAttributes
174  *
175  * <b> Version 1.6 </b> May 18, 2017
176  * - Added NvMediaTransform enum defines
177  *
178  * <b> Version 1.7 </b> June 05, 2017
179  * - Add \ref bSliceDecEnable and \ref NvMediaSliceDecodeData structure member in
180  * \ref NvMediaPictureInfoH265 structure.
181  *
182  * <b> Version 1.8 </b> June 07, 2017
183  * - Added \ref NvMediaEncodeH264POCType enum for H.264 pic_order_cnt_type.
184  * The support is added for pic_order_cnt_type 0 and 2. pic_order_cnt_type 1 is not
185  * not supported.
186  * - Added variable pocType of type \ref NvMediaEncodeH264POCType in \ref NvMediaEncodeConfigH264.
187  *
188  * <b> Version 1.9 </b> June 09, 2017
189  * -Added PROFILING feature in \ref NvMediaEncodeH264Features,
190  * \ref NvMediaEncodeH265Features and \ref NvMediaEncodeVP9Features.
191  *
192  * <b> Version 1.10 </b> June 09, 2017
193  * - Removed RECON_CRC features from \ref NvMediaEncodeH264Features
194  * and \ref NvMediaEncodeH265Features and added it as enableReconCRC
195  * for \ref NvMediaEncodeInitializeParamsH264 and \ref
196  * NvMediaEncodeInitializeParamsH265.
197  * - Added enableMVC, enableROIEncode and enableSliceEncode
198  * in \ref NvMediaEncodeInitializeParamsH264 and \ref
199  * NvMediaEncodeInitializeParamsH265.
200  *
201  * <b> Version 1.11 </b> June 22, 2017
202  * -Added levelTier parameter in \ref NvMediaEncodeInitializeParamsH265
203  * Added initQP, maxQP parameters in \ref NvMediaEncodeConfigH264,
204  * \ref NvMediaEncodeConfigH265 and \ref NvMediaEncodeConfigVP9.
205  *
206  * <b> Version 1.12 </b> June 29, 2017
207  * -Added feature in \ref NvMediaEncodeH264Features and \ref NvMediaEncodeH265Features,
208  * to enable 4 byte start code.
209  *
210  * <b> Version 1.13</b> June 30, 2017
211  * -Added HEVC MV interface members in \ref NvMediaPictureInfoH265 structure
212  *
213  * <b> Version 1.14</b> July 26, 2017
214  * -Added enableWeightedPrediction in \ref NvMediaEncodeConfigH264 structure *
215  *
216  * <b> Version 1.15</b> Sept 1, 2017
217  * -Added NvMediaEncodeVP8Features, NvMediaEncodeConfigVP8, NvMediaEncodeInitializeParamsVP8
218  * and NvMediaEncodePicParamsVP8 structures *
219  *
220  * <b> Version 1.16 </b> Sept 13, 2017
221  * -Added frameRateNum and frameRateDen parameters in \ref NvMediaEncodePicParamsVP8
222  *
223  * <b> Version 1.17 </b> Oct 26, 2017
224  * -Added useBFramesAsRef parameter in \ref NvMediaEncodeInitializeParamsH264
225  * and \ref NvMediaEncodeInitializeParamsH265
226  *
227  * <b> Version 1.18 </b> Nov 6, 2017
228  * - Added enableTwoPassRC and enableSourceHalfScaled for \ref NvMediaEncodeInitializeParamsH264 and
229  * \ref NvMediaEncodeInitializeParamsH265.
230  *
231  * <b> Version 1.19 </b> Nov 24, 2017
232  * - Added mvNumViews for \ref NvMediaEncodeInitializeParamsH265 and viewId for
233  * \ref NvMediaEncodePicParamsH265. Added mvcNumViews for \ref NvMediaEncodeInitializeParamsH264
234  * and viewId for \ref NvMediaEncodePicParamsH264.
235  *
236  * <b> Version 1.20 </b> March 16, 2018
237  * - Added \ref NvMediaNoiseReductionAlgorithm structure
238  *
239  * <b> Version 1.21 </b> October 4, 2018
240  * - Added Ultrafast encoding support for H.264 for platforms >=T194 in
241  * \ref NvMediaEncodeH264Features
242  *
243  * <b> Version 1.22 </b> October 29, 2018
244  * - Added enableExternalPictureRC in \ref NvMediaEncodeInitializeParamsH264
245  * and \ref NvMediaEncodeInitializeParamsH265
246  *
247  * <b> Version 1.23 </b> Dec 14, 2018
248  * - Defined Macro constants as unsigned to fix MISRA issues
249  * - Fix MISRA violations 21.1 and 21.2
250  *
251  * <b> Version 1.24 </b> Jan 02, 2019
252  * - Added enableAllIFrames in \ref NvMediaEncodeInitializeParamsH264
253  * and \ref NvMediaEncodeInitializeParamsH265
254  *
255  * <b> Version 1.25 </b> Jan 21, 2019
256  * - Moved \ref NvMediaTransform to nvmedia_2d.h
257  *
258  * <b> Version 1.26 </b> Feb 6, 2019
259  * - Deprecated the following display attributes \ref NVMEDIA_DISP_ATTR_BRIGHTNESS,
260  * \ref NVMEDIA_DISP_ATTR_COLOR_STANDARD, \ref NVMEDIA_DISP_ATTR_SATURATION,
261  * \ref NVMEDIA_DISP_ATTR_HUE, \ref NVMEDIA_DISP_ATTR_CONTRAST, \ref NVMEDIA_DISP_ATTR_LIMITED_RGB
262  * - Deprecated parameters brightness, hue, saturation, contrast, limitedRGB and
263  * colorStandard from \ref NvMediaDispAttributes
264  *
265  * <b> Version 1.27 </b> March 26, 2019
266  * - Added \ref NvMediaContentLightLevelInfo structure
267  *
268  * <b> Version 1.28 </b> April 4, 2019
269  * - Deprecate NVMEDIA_MIN_CAPTURE_FRAME_BUFFERS, NVMEDIA_MAX_CAPTURE_FRAME_BUFFERS
270  *
271  * <b> Version 1.29 </b> July 5, 2019
272  * - Moved Encode structures to nvmedia_common_encode.h
273  * - Moved Decode structures to nvmedia_common_decode.h
274  */
275 
276 
277 #ifdef __cplusplus
278 }; /* extern "C" */
279 #endif
280 
281 #endif /* NVMEDIA_COMMON_H */
High filter quality.
A lower depth overlay is fully covering any higher depth overlay.
Medium filter quality.
NvMediaDispCompMode
Specifies composition modes for layers.
NvMediaNoiseReductionAlgorithm
Noise Reduction Algorithm.
Low (default) filter quality.
Noise reduction algorithm for outdoor medium light condition.
NVIDIA Media Interface: Core
NvMediaDispCompMode compositionMode
Defines the composition mode for the layer.
Holds a rectangular region of a surface.
Definition: nvmedia_core.h:133
Original (default) noise reduction algorithm.
NvMediaFilterQuality
Defines filter quality levels.
Holds NvMedia display attributes.
NVIDIA Media Interface: Common Types for Video/Image Decode
NVIDIA Media Interface: Common Types for Video/Image Encode
Noise reduction algorithm for indoor medium light condition.
Noise reduction algorithm for outdoor high light condition.
uint32_t depth
Holds a positive value (up to 255) that specifies the video displays relative to the top-most layer...
A lower depth overlay is per-pixel alpha blended over any higher depth overlay.
Noise reduction algorithm for indoor high light condition.
A lower depth overlay is per-pixel alpha blended over any higher depth overlay.
Noise reduction algorithm for outdoor low light condition.
NvMediaRect position
The rectangle where the video renders.
Noise reduction algorithm for indoor low light condition.