|
NVIDIA DRIVE OS Linux SDK API Reference
|
6.0.9 Release
|
Go to the documentation of this file.
21 #ifndef NVMEDIA_IJPE_H
22 #define NVMEDIA_IJPE_H
46 #define NVMEDIA_IJPE_VERSION_MAJOR 2
48 #define NVMEDIA_IJPE_VERSION_MINOR 0
50 #define NVMEDIA_IJPE_VERSION_PATCH 0
56 #define NVMEDIA_IJPE_MAX_PRENVSCISYNCFENCES (16U)
62 #define NVMEDIA_JPEG_ENC_FLAG_NONE (0 << 0)
69 #define NVMEDIA_JPEG_ENC_FLAG_SKIP_SOI (1 << 0)
75 #define NVMEDIA_IMAGE_JPEG_ATTRIBUTE_QUALITY (1 << 0)
80 #define NVMEDIA_IMAGE_JPEG_ATTRIBUTE_RESTARTINTERVAL (1 << 1)
85 #define NVMEDIA_IMAGE_JPEG_ATTRIBUTE_TARGETSIZE (1 << 2)
90 #define NVMEDIA_IMAGE_JPEG_ATTRIBUTE_QUANTTABLE (1 << 3)
95 #define NVMEDIA_IMAGE_JPEG_ATTRIBUTE_HUFFTABLE (1 << 4)
126 uint8_t lumaQuant[64];
130 uint8_t chromaQuant[64];
249 uint8_t maxOutputBuffering,
250 uint32_t maxBitstreamBytes,
297 uint8_t maxOutputBuffering,
298 uint32_t maxBitstreamBytes,
444 uint8_t *chromaQuant,
510 uint8_t *chromaQuant,
511 uint32_t targetImageSize,
550 uint32_t attributeMask,
551 const void *attributes
669 uint32_t *numBytesAvailable,
671 uint32_t millisecondTimeout
NvMediaStatus NvMediaIJPERegisterNvSciSyncObj(const NvMediaIJPE *encoder, NvMediaNvSciSyncObjType syncobjtype, NvSciSyncObj nvscisync)
Registers an NvSciSyncObj with NvMediaIJPE.
NvMediaStatus NvMediaIJPESetNvSciSyncObjforEOF(const NvMediaIJPE *encoder, NvSciSyncObj nvscisyncEOF)
Specifies the NvSciSyncObj to be used for an EOF NvSciSyncFence.
NvMediaStatus NvMediaIJPEUnregisterNvSciBufObj(const NvMediaIJPE *encoder, NvSciBufObj bufObj)
Un-registers NvSciBufObj which was previously registered with NvMediaIJPE using NvMediaIJPERegisterNv...
NvMediaStatus NvMediaIJPEFeedFrameRateControl(const NvMediaIJPE *encoder, NvSciBufObj bufObj, uint8_t *lumaQuant, uint8_t *chromaQuant, uint32_t targetImageSize, NvMediaJPEGInstanceId instanceId)
Encodes the specified bufObj with input Luma and Chroma quant tables and targetImageSize.
NvMediaIJPE * NvMediaIJPECreateEx(uint8_t maxOutputBuffering, uint32_t maxBitstreamBytes, NvMediaJPEGInstanceId instanceId)
Creates a JPEG encoder object capable of turning a stream of surfaces of the inputFormat into a JPEG ...
NvMediaBlockingType
Blocking type.
NvMediaStatus NvMediaIJPEFillNvSciSyncAttrList(const NvMediaIJPE *encoder, NvSciSyncAttrList attrlist, NvMediaNvSciSyncClientType clienttype)
Fills the NvMediaIJPE specific NvSciSync attributes.
NvMediaStatus NvMediaIJPERegisterNvSciBufObj(const NvMediaIJPE *encoder, NvSciBufObj bufObj)
Registers NvSciBufObj for use with a NvMediaIJPE handle.
NvMediaStatus NvMediaIJPEGetVersion(NvMediaVersion *version)
Retrieves the version information for the NvMedia IJPE library.
NvMediaStatus
Defines all possible error codes.
NvMediaNvSciSyncObjType
Defines NvMedia NvSciSyncObj types.
NvMediaNvSciSyncClientType
NvMedia NvSciSync Client Type.
struct NvSciSyncAttrListRec * NvSciSyncAttrList
A container constituting an NvSciSyncAttrList which contains:
struct NvSciBufObjRefRec * NvSciBufObj
A memory object is a container holding the reconciled NvSciBufAttrList defining constraints of the bu...
NVIDIA Software Communications Interface (SCI) : NvSciSync
NvMediaStatus NvMediaIJPESetAttributes(const NvMediaIJPE *encoder, uint32_t attributeMask, const void *attributes)
Sets the JPEG encoder attributes.
NvMediaStatus NvMediaIJPEUnregisterNvSciSyncObj(const NvMediaIJPE *encoder, NvSciSyncObj nvscisync)
Unregisters an NvSciSyncObj with NvMediaIJPE.
NvMediaStatus NvMediaIJPEInsertPreNvSciSyncFence(const NvMediaIJPE *encoder, const NvSciSyncFence *prenvscisyncfence)
Sets an NvSciSyncFence as a prefence for an NvMediaIJPEFeedFrame() NvSciSyncFence operation.
NvMediaJPEGInstanceId
Specifies NVJPG HW instance ID.
NvMediaStatus NvMediaIJPEGetEOFNvSciSyncFence(const NvMediaIJPE *encoder, NvSciSyncObj eofnvscisyncobj, NvSciSyncFence *eofnvscisyncfence)
Gets EOF NvSciSyncFence for an NvMediaIJPEFeedFrame() operation.
NvMediaStatus NvMediaIJPEFeedFrameQuant(const NvMediaIJPE *encoder, NvSciBufObj bufObj, uint8_t *lumaQuant, uint8_t *chromaQuant, NvMediaJPEGInstanceId instanceId)
Encodes the specified bufObj with input Luma and Chroma quant tables.
NvMediaIJPE * NvMediaIJPECreate(NvSciBufAttrList bufAttrList, uint8_t maxOutputBuffering, uint32_t maxBitstreamBytes, NvMediaJPEGInstanceId instanceId)
Creates a JPEG encoder object capable of turning a stream of surfaces of the inputFormat into a JPEG ...
struct NvSciBufAttrListRec * NvSciBufAttrList
A container constituting an attribute list which contains.
Defines the opaque NvSciSyncFence.
struct NvMediaIJPE NvMediaIJPE
An opaque NvMediaIJPE object created by NvMediaIJPECreate.
NVIDIA Software Communications Interface (SCI) : NvSciBuf
NvMediaStatus NvMediaIJPEFillNvSciBufAttrList(NvMediaJPEGInstanceId instanceId, NvSciBufAttrList attrlist)
Fills the NvMediaIJPE specific NvSciBuf attributes which than then be used to allocate an NvSciBufObj...
void NvMediaIJPEDestroy(NvMediaIJPE *encoder)
Destroys an NvMedia image JPEG encoder.
NvMediaStatus NvMediaIJPEFeedFrame(const NvMediaIJPE *encoder, NvSciBufObj bufObj, uint8_t quality, NvMediaJPEGInstanceId instanceId)
Encodes the specified bufObj with input quality.
struct NvSciSyncObjRec * NvSciSyncObj
A Synchronization Object is a container holding the reconciled NvSciSyncAttrList defining constraints...
NvMediaStatus NvMediaIJPEGetBits(const NvMediaIJPE *encoder, uint32_t *numBytes, void *buffer, uint32_t flags)
Returns a frame's worth of bitstream into the provided buffer.
NvMediaStatus NvMediaIJPEBitsAvailable(const NvMediaIJPE *encoder, uint32_t *numBytesAvailable, NvMediaBlockingType blockingType, uint32_t millisecondTimeout)
Returns the encode status and number of bytes available for the next frame (if any).
人人超碰97caoporen国产