NVIDIA DRIVE OS Linux SDK API Reference

6.0.3 Release
nvsipl::INvSIPLClient::INvSIPLNvMBuffer Class Referenceabstract

Detailed Description

Describes a SIPL buffer containing an NvMediaImage, NvMediaImageGroup, or NvSciBufObj. The NvMedia* types will be deprecated in a future release.

INvSIPLNvMBuffer holds either NvMediaImage or NvMediaImageGroup or NvSciBufObj at a time.

Definition at line 277 of file NvSIPLClient.hpp.

Inheritance diagram for nvsipl::INvSIPLClient::INvSIPLNvMBuffer:
Collaboration diagram for nvsipl::INvSIPLClient::INvSIPLNvMBuffer:

Public Member Functions

virtual NvMediaImageGetImage () const =0
 Gets a handle to NvMediaImage. More...
 
virtual NvSciBufObj GetNvSciBufImage () const =0
 Gets a handle to NvSciBufObj. More...
 
virtual NvMediaImageGroupGetImageGroup () const =0
 Gets a handle to NvMediaImageGroup. More...
 
virtual ImageMetaData const & GetImageData () const =0
 Gets an nvsipl::INvSIPLClient::ImageMetaData associated with NvMediaImage or NvMediaImageGroup or NvSciBufObj. More...
 
virtual ImageEmbeddedData const & GetImageEmbeddedData () const =0
 Gets an nvsipl::INvSIPLClient::ImageEmbeddedData this is the RAW data associated with the captured image from the sensor before it is parsed to ImageMetaData structure. More...
 
virtual void AddRef ()=0
 Adds a reference. More...
 
virtual SIPLStatus Release ()=0
 Release a reference. More...
 
virtual SIPLStatus AddNvSciSyncPrefence (const NvSciSyncFence &prefence)=0
 Add an NvSciSync prefence. More...
 
virtual SIPLStatus GetEOFNvSciSyncFence (NvSciSyncFence *postfence)=0
 Retrieve the latest NvSciSync EOF fence. More...
 

Member Function Documentation

◆ AddNvSciSyncPrefence()

virtual SIPLStatus nvsipl::INvSIPLClient::INvSIPLBuffer::AddNvSciSyncPrefence ( const NvSciSyncFence prefence)
pure virtualinherited

Add an NvSciSync prefence.

Add an NvSciSync prefence to be used with the next ISP or ICP operation. This function creates its own duplicate of the fence, so the caller must clear their copy of the fence by calling NvSciSyncFenceClear().

Parameters
[in]prefencePrefence to be added.

AddNvSciSyncPrefence() originates the following SIPLStatus return values:

Return values
NVSIPL_STATUS_OKThe function succeeds.
NVSIPL_STATUS_ERRORIf internal NvSci fence operations fail.
SIPLStatusOther values of SIPLStatus are propagated.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: Yes
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ AddRef()

virtual void nvsipl::INvSIPLClient::INvSIPLBuffer::AddRef ( )
pure virtualinherited

Adds a reference.

Adding a reference to the buffer ensures that this buffer is not re-used by the producer of the buffer.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: Yes, with the following conditions:
      • There is no active release operation that results in the buffer available for re-use.
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ GetEOFNvSciSyncFence()

virtual SIPLStatus nvsipl::INvSIPLClient::INvSIPLBuffer::GetEOFNvSciSyncFence ( NvSciSyncFence postfence)
pure virtualinherited

Retrieve the latest NvSciSync EOF fence.

Retrieve the buffer's latest NvSciSync EOF fence associated with the engine's set NvSciSync EOF object. The caller must clear the returned fence by calling NvSciSyncFenceClear().

Parameters
[out]postfenceEOF fence being returned.

GetEOFNvSciSyncFence() originates the following SIPLStatus return values:

Return values
NVSIPL_STATUS_OKThe function succeeds.
NVSIPL_STATUS_ERRORIf internal NvSci fence operations fail.
SIPLStatusOther values of SIPLStatus are propagated.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: Yes
    • Re-entrant: Yes
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ GetImage()

virtual NvMediaImage* nvsipl::INvSIPLClient::INvSIPLNvMBuffer::GetImage ( ) const
pure virtual

Gets a handle to NvMediaImage.

Returns
A pointer to NvMediaImage.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: Yes
    • Re-entrant: Yes
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ GetImageData()

virtual ImageMetaData const& nvsipl::INvSIPLClient::INvSIPLNvMBuffer::GetImageData ( ) const
pure virtual

Gets an nvsipl::INvSIPLClient::ImageMetaData associated with NvMediaImage or NvMediaImageGroup or NvSciBufObj.

Returns
A const reference to nvsipl::INvSIPLClient::ImageMetaData.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: Yes
    • Re-entrant: Yes
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ GetImageEmbeddedData()

virtual ImageEmbeddedData const& nvsipl::INvSIPLClient::INvSIPLNvMBuffer::GetImageEmbeddedData ( ) const
pure virtual

Gets an nvsipl::INvSIPLClient::ImageEmbeddedData this is the RAW data associated with the captured image from the sensor before it is parsed to ImageMetaData structure.

Returns
A const reference to nvsipl::INvSIPLClient::ImageEmbeddedData.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: Yes
    • Re-entrant: Yes
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ GetImageGroup()

virtual NvMediaImageGroup* nvsipl::INvSIPLClient::INvSIPLNvMBuffer::GetImageGroup ( ) const
pure virtual

Gets a handle to NvMediaImageGroup.

This function holds the output of an image sensor in HDR mode.

Returns
A pointer to NvMediaImageGroup.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: Yes
    • Re-entrant: Yes
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ GetNvSciBufImage()

virtual NvSciBufObj nvsipl::INvSIPLClient::INvSIPLNvMBuffer::GetNvSciBufImage ( ) const
pure virtual

Gets a handle to NvSciBufObj.

Returns
A NvSciBufObj.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: Yes
    • Re-entrant: Yes
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ Release()

virtual SIPLStatus nvsipl::INvSIPLClient::INvSIPLBuffer::Release ( )
pure virtualinherited

Release a reference.

Once the reference has been released as many times as the reference was added, it implies that the user has finished working with the buffer and the buffer is available for re-use by SIPL.

Release() originates the following SIPLStatus return values:

Return values
NVSIPL_STATUS_OKThe releasing operation succeeds.
NVSIPL_STATUS_BAD_ARGUMENTIf the buffer is already released.
SIPLStatusOther values of SIPLStatus are propagated.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: Yes
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

The documentation for this class was generated from the following file: