NVIDIA DRIVE OS Linux API Reference

5.1.3.0 Release

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

Detailed Description

Declares and manages objects for defining the locations of the composed surfaces.

The NvMediaVideoOutput object determines where the composed surfaces are going to be displayed.

Data Structures

struct  NvMediaVideoOutput
 Video output object created by NvMediaVideoOutputCreate. More...
 
struct  NvMediaVideoOutputPreferences
 Sets the preferences for the video output creation. More...
 
struct  NvMediaVideoOutputDeviceParams
 Device parameters returned by NvMediaVideoOutputDevicesQuery function. More...
 

Macros

#define NVMEDIA_VOP_VERSION_MAJOR   2
 Major Version number. More...
 
#define NVMEDIA_VOP_VERSION_MINOR   0
 Minor Version number. More...
 

Functions

NvMediaStatus NvMediaVideoOutputSetPosition (NvMediaVideoOutput *output, NvMediaRect *position)
 Sets video output position and size. More...
 
NvMediaStatus NvMediaVideoOutputSetDepth (NvMediaVideoOutput *output, uint32_t depth)
 Sets video output depth. More...
 
NvMediaStatus NvMediaVideoOutputDevicesQuery (int32_t *outputDevices, NvMediaVideoOutputDeviceParams *outputParams)
 Queries the display system and returns the parameters of all display devices. More...
 
NvMediaStatus NvMediaVideoOutputGetVersion (NvMediaVersion *version)
 Returns the version information for the Video Output Processing library. More...
 
NvMediaVideoOutputNvMediaVideoOutputCreate (uint32_t displayId, uint32_t windowId, NvMediaVideoOutputPreferences *outputPreference, NvMediaBool alreadyCreated)
 Creates a video output object. More...
 
void NvMediaVideoOutputDestroy (NvMediaVideoOutput *output)
 Destroys a video output created by NvMediaVideoOutputCreate. More...
 
void NvMediaVideoOutputSetAttributes (NvMediaVideoOutput *output, uint32_t attributeMask, NvMediaDispAttributes *attributes)
 Sets NvMediaVideoOutput attributes. More...
 
NvMediaStatus NvMediaVideoOutputFlip (NvMediaVideoOutput *output, NvMediaVideoSurface *videoSurface, NvMediaRect *srcRect, NvMediaRect *dstRect, NvMediaVideoSurface **releaseList, NvMediaTime *timeStamp)
 Displays a video surface using video output that NvMediaVideoOutputCreate() created. More...
 

Macro Definition Documentation

#define NVMEDIA_VOP_VERSION_MAJOR   2

Major Version number.

Definition at line 39 of file nvmedia_vop.h.

#define NVMEDIA_VOP_VERSION_MINOR   0

Minor Version number.

Definition at line 41 of file nvmedia_vop.h.

Function Documentation

NvMediaVideoOutput* NvMediaVideoOutputCreate ( uint32_t  displayId,
uint32_t  windowId,
NvMediaVideoOutputPreferences outputPreference,
NvMediaBool  alreadyCreated 
)

Creates a video output object.

Parameters
[in]displayIdIf the alreadyCreated parameter is set to NVMEDIA_TRUE and for an overlay, then this parameter provides the previously created video output ID.
[in]windowIdThe hardware overlay window to access. For example:
(windowId = 0) == (Overlay Window A)
Valid values are 0 (A), 1 (B), 2 (C).
[in]outputPreferenceA pointer to the desired video output parameters.
[in]alreadyCreatedSet to NVMEDIA_TRUE if the video output is already created by another application. In this case NvMedia is not going to create a new one just reuse it.
Returns
NvMediaVideoOutput The new video output's handle or NULL if unsuccessful. The NvMediaVideoOutput::width, NvMediaVideoOutput::height, and NvMediaVideoOutput::refreshRate members reflect the actual video output values.
void NvMediaVideoOutputDestroy ( NvMediaVideoOutput output)

Destroys a video output created by NvMediaVideoOutputCreate.

Parameters
[in]outputThe video output to be destroyed.
NvMediaStatus NvMediaVideoOutputDevicesQuery ( int32_t *  outputDevices,
NvMediaVideoOutputDeviceParams outputParams 
)

Queries the display system and returns the parameters of all display devices.

If the outputParams parameter is NULL, the function returns only an outputDevices parameter. With this scheme, the client can query the number of devices, allocate memory for the descriptors, and call this function again, with the properly allocated outputParams buffer.

Parameters
[out]outputDevicesThe number of display devices.
[in,out]outputParamsA pointer to an array that the function fills with an entry for each display device, where:
  • outputDevices specifies the number of entries, and
  • each entry specifies the parameters for a display device.
It is the client's responsibility to allocate sufficient memory. If the client sets the value to NULL, no data is returned.
Returns
NvMediaStatus The completion status of the operation. Possible values are:
NvMediaStatus NvMediaVideoOutputFlip ( NvMediaVideoOutput output,
NvMediaVideoSurface videoSurface,
NvMediaRect srcRect,
NvMediaRect dstRect,
NvMediaVideoSurface **  releaseList,
NvMediaTime timeStamp 
)

Displays a video surface using video output that NvMediaVideoOutputCreate() created.

Parameters
[in]outputThe video output handle.
[in]videoSurfaceThe video surface to be displayed.
[in]srcRectA structure containing co-ordinates of the rectangle in the source surface from which the client surface is to be copied. Setting srcRect to NULL implies a rectangle of full surface size.
[in]dstRectA structure containing co-ordinates of the rectangle in the destination surface to which the client surface is to be copied. Setting dstRect to NULL implies a rectangle of full surface size.
[in]releaseListA pointer to an array of NvMediaVideoSurface pointers filled by this function and terminated with NULL. When NvMediaVideoOutputFlip function is called it might need to use some of the input video buffers for a longer time depending on the pipelining model. When the buffers are no longer needed they are released using this list. It is the responsibility of the application to allocate the memory for the list. The maximum size of the list is the number of possible surfaces passed to this function plus one for the NULL terminator.
[in]timeStampDetermines when the input video surface is going to be displayed. This is a pointer to the time structure. NULL means the input video surface displays as soon as possible.
Returns
NvMediaStatus Status of the operation. Possible values are:
NvMediaStatus NvMediaVideoOutputGetVersion ( NvMediaVersion version)

Returns the version information for the Video Output Processing library.

Parameters
[in]versionA pointer to a NvMediaVersion structure filled by the Video Output Processing library.
Returns
NvMediaStatus The status of the operation. Possible values are:
void NvMediaVideoOutputSetAttributes ( NvMediaVideoOutput output,
uint32_t  attributeMask,
NvMediaDispAttributes attributes 
)

Sets NvMediaVideoOutput attributes.

Parameters
[in]outputThe output object that performs the flipping operation.
[in]attributeMaskDetermines which attributes are set. The value can be any combination of the binary OR of the following attributes:
[in]attributesA pointer to a structure that holds all the attributes, but only those which are indicated in the attributeMask are used.
NvMediaStatus NvMediaVideoOutputSetDepth ( NvMediaVideoOutput output,
uint32_t  depth 
)

Sets video output depth.

This function must be called after NvMediaVideoMixerCreate().

Parameters
[in]outputVideo output
[in]depthA positive value (up to 255) to where the video display relative to the top-most layer (depth == 0).
Returns
NvMediaStatus The completion status of the operation. Possible values are:
NvMediaStatus NvMediaVideoOutputSetPosition ( NvMediaVideoOutput output,
NvMediaRect position 
)

Sets video output position and size.

Parameters
[in]outputVideo output
[in]positionThe rectangle where the video is going to be rendered
Returns
NvMediaStatus The completion status of the operation. Possible values are: