NVIDIA DRIVE OS Linux API Reference

5.1.0.2 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nvmedia_iofst.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017-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 
14 #ifndef _NVMEDIA_IOFST_H
15 #define _NVMEDIA_IOFST_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include <stdint.h>
22 #include "nvmedia_image.h"
23 #include "nvmedia_common.h"
24 
35 #define NVMEDIA_IOFST_VERSION_MAJOR 1
36 
37 #define NVMEDIA_IOFST_VERSION_MINOR 4
38 
42 typedef enum {
56 
60 typedef enum {
64 
68 typedef struct {
77 } NvMediaIOFST;
78 
82 typedef struct {
84  uint16_t width;
86  uint16_t height;
101  uint32_t features;
103 
108 typedef struct {
132 
177 NvMediaIOFST *
179  NvMediaDevice *device,
180  NvMediaIOFSTType estimationType,
181  NvMediaSurfaceType inputFormat,
182  NvMediaSurfaceType outputFormat,
183  NvMediaOFSTInitializeParams *initParams,
184  uint8_t maxInputBuffering,
185  NvMediaEncoderInstanceId instanceId
186 );
187 
193 
227  NvMediaIOFST *ofst,
228  NvMediaImage *frame,
229  NvMediaImage *refFrame,
230  NvMediaImage *mvs,
231  NvMediaOFSTExternalHintParams *extHintParams,
232  NvMediaEncoderInstanceId instanceId
233 );
234 
235 /*
236  * \defgroup history_nvmedia_iofst History
237  * Provides change history for the NvMedia IOFST API.
238  *
239  * \section history_nvmedia_iofst Version History
240  *
241  * <b> Version 1.0 </b> April 22, 2017
242  * - Initial release
243  *
244  * <b> Version 1.1 </b> June 08, 2017
245  * - Added enableSegmentMap parameter to \ref NvMediaOFSTInitializeParams
246  * - Added enableSegmentMap parameter to \ref NvMediaOFSTExternalHintParams
247  *
248  * <b> Version 1.2 </b/> June 13, 2017
249  * - Added instance ID parameter to \ref NvMediaIOFSTCreate()
250  * - Added instance ID parameter to \ref NvMediaIOFSTProcessFrame()
251  * - Added instanceId to \ref NvMediaIOFST object
252  *
253  * <b> Version 1.3 </b/> June 19, 2017
254  * - Added NVMEDIA_IMAGE_OPTICALFLOW_ESTIMATION_HQ_MODE and
255  * NVMEDIA_IMAGE_OPTICALFLOW_ESTIMATION_UHP_MODE and
256  * NVMEDIA_IMAGE_STEREODISPARITY_ESTIMATION_UHP_MODE
257  * parameters \ref NvMediaIOFSTType enum
258  *
259  * <b> Version 1.4 </b/> June 19, 2018
260  * - Added features parameter to \ref NvMediaOFSTInitializeParams
261  */
262 
265 #ifdef __cplusplus
266 }; /* extern "C" */
267 #endif
268 
269 #endif /* _NVMEDIA_IOFST_H */
High Performance OpticalFlow.
Definition: nvmedia_iofst.h:44
A handle representing image objects.
Definition: nvmedia_image.h:75
#define NvMediaSurfaceType
Defines the set of NvMedia surface types.
NvMediaIOFSTType
Defines the image estimation type.
Definition: nvmedia_iofst.h:42
NvMediaSurfaceType inputFormat
Input surface format.
Definition: nvmedia_iofst.h:72
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:79
NvMediaEncoderInstanceId
Specifies the encoder instance ID.
Ultra High Performance OpticalFlow.
Definition: nvmedia_iofst.h:52
Holds OFST estimation initialization parameters.
Definition: nvmedia_iofst.h:82
NVIDIA Media Interface: Image Processing
NVIDIA Media Interface: Common Types for Video/Image Encode/Decode
NvMediaIOFST * NvMediaIOFSTCreate(NvMediaDevice *device, NvMediaIOFSTType estimationType, NvMediaSurfaceType inputFormat, NvMediaSurfaceType outputFormat, NvMediaOFSTInitializeParams *initParams, uint8_t maxInputBuffering, NvMediaEncoderInstanceId instanceId)
Creates an OFST object that can create motion vectors based on the difference between two frames...
Holds an OFST object created by NvMediaIOFSTCreate.
Definition: nvmedia_iofst.h:68
NvMediaEncodeExternalMeHintCountsPerBlocktype meHintCountsPerBlock
Specifies the number of hint candidates per block for the current frame.
void NvMediaIOFSTDestroy(NvMediaIOFST *ofst)
Destroys an NvMediaIOFST object.
NvMediaStatus
The set of all possible error codes.
Definition: nvmedia_core.h:199
NvMediaEncodeExternalMeHintCountsPerBlocktype maxMEHintCountsPerBlock
Maximum number of hint candidates per block.
Definition: nvmedia_iofst.h:95
NvMediaBool enableSegmentMap
NVMEDIA_TRUE to enable external segment ID map, or NVMEDIA_FALSE to disable.
Definition: nvmedia_iofst.h:98
NvMediaIOFSTType estimationType
Motion estimation type.
Definition: nvmedia_iofst.h:70
Ultra High Performance StereoDisparity.
Definition: nvmedia_iofst.h:54
Holds an External Motion Vector hint.
uint16_t height
OFST height.
Definition: nvmedia_iofst.h:86
uint16_t width
OFST width.
Definition: nvmedia_iofst.h:84
NvMediaBool enableSegmentMap
Enables the external segment ID map, as follows: A value of NVMEDIA_TRUE enables it...
void NvMediaDevice
An opaque handle representing a NvMediaDevice object.
Definition: nvmedia_core.h:305
Enables OFST profiling.
Definition: nvmedia_iofst.h:62
Holds an external motion vector hint with counts per block type.
NvMediaEncoderInstanceId instanceId
Instance ID.
Definition: nvmedia_iofst.h:76
NvMediaOFSTConfigFeatures
Defines OFST estimation configuration features.
Definition: nvmedia_iofst.h:60
NvMediaStatus NvMediaIOFSTProcessFrame(NvMediaIOFST *ofst, NvMediaImage *frame, NvMediaImage *refFrame, NvMediaImage *mvs, NvMediaOFSTExternalHintParams *extHintParams, NvMediaEncoderInstanceId instanceId)
Performs OFST estimation on a specified frame pair.
NvMediaSurfaceType outputFormat
Output surface format.
Definition: nvmedia_iofst.h:74
NvMediaEncodeExternalMEHint * meExternalHints
Specifies a pointer to ME external hints for the current frame.
uint32_t features
Specifies bitwise OR'ed configuration feature flags.
Holds OFST estimation parameters.
High Performance StereoDisparity.
Definition: nvmedia_iofst.h:46
NvMediaBool enableExternalMEHints
NVMEDIA_TRUE to enable external ME hints, or NVMEDIA_FALSE to disable.
Definition: nvmedia_iofst.h:89