|  | NVIDIA DRIVE OS Linux SDK API Reference5.1.6.0 Release | 
Decrypts and re-encrypts video data with supported formats for the hardware in a video stream.
| Data Structures | |
| struct | NvMediaEncryptParams | 
| Holds encrypted metadata information that the parser passes to the video decoder component.  More... | |
| struct | NvMediaAESMetaData | 
| Holds re-encrypted data information that the video decoder returns to the parser.  More... | |
| struct | NvMediaAESIv | 
| Holds encryption intialization vector information.  More... | |
| struct | _NvMediaAESParams | 
| Holds encrypted metadata information that the client sends to the parser.  More... | |
| struct | NvMediaVideoDecrypter | 
| Holds the video decrypter object.  More... | |
| Macros | |
| #define | NVMEDIA_MAX_NALS | 
| max number of subsample support  More... | |
| #define | NVMEDIA_VIDEO_DECRYPT_PROFILING | 
| Defines flags used for decryptor creation.  More... | |
| Typedefs | |
| typedef struct _NvMediaAESParams | NvMediaAESParams | 
| Holds encrypted metadata information that the client sends to the parser.  More... | |
| Enumerations | |
| enum | NvMediaDRMType { NvMDRM_Netflix = 0, NvMDRM_Widevine = 1, NvMDRM_Ultraviolet, NvMDRM_Piff, NvMDRM_Marlin, NvMDRM_PiffCbc, NvMDRM_PiffCtr, NvMDRM_MarlinCbc, NvMDRM_MarlinCtr, NvMDRM_WidevineCtr, NvMDRM_Clear = 0xf, NvMDRM_ClearAsEncrypted, NvMDRM_None } | 
| Defines the supported DRM formats.  More... | |
| Functions | |
| NvMediaVideoDecrypter * | NvMediaVideoDecrypterCreate (NvMediaVideoCodec codec, uint32_t maxBitstreamSize, uint32_t flags, NvMediaDecoderInstanceId instanceId) | 
| Creates a video decrypter object.  More... | |
| void | NvMediaVideoDecrypterDestroy (const NvMediaVideoDecrypter *pDecrypter) | 
| Destroys a video decoder decrypter object.  More... | |
| NvMediaStatus | NvMediaVideoDecryptHeader (const NvMediaVideoDecrypter *pDecrypter, const void *pictureData, const NvMediaBitstreamBuffer *pBitstream, NvMediaDecoderInstanceId instanceId) | 
| Decrypts the HDR of the encrypted content.  More... | |
| NvMediaStatus | NvMediaVideoGetClearHeader (NvMediaVideoDecrypter *pDecrypter, void *pictureData) | 
| Gets clear header data after pass1.  More... | |
| #define NVMEDIA_MAX_NALS | 
max number of subsample support
Definition at line 39 of file nvmedia_drm.h.
| #define NVMEDIA_VIDEO_DECRYPT_PROFILING | 
Defines flags used for decryptor creation.
Definition at line 158 of file nvmedia_drm.h.
| typedef struct _NvMediaAESParams NvMediaAESParams | 
Holds encrypted metadata information that the client sends to the parser.
| enum NvMediaDRMType | 
Defines the supported DRM formats.
Definition at line 42 of file nvmedia_drm.h.
| NvMediaVideoDecrypter* NvMediaVideoDecrypterCreate | ( | NvMediaVideoCodec | codec, | 
| uint32_t | maxBitstreamSize, | ||
| uint32_t | flags, | ||
| NvMediaDecoderInstanceId | instanceId | ||
| ) | 
Creates a video decrypter object.
Creates a NvMediaVideoDecrypter object for the specified codec NvMediaVideoCodec. Use NvMediaVideoDecrypterDestroy() to destroy this video decrypter object.
| [in] | codec | Codec type. The following types are supported: | 
| [in] | maxBitstreamSize | The maximum size for bitstream. This limits internal allocations. | 
| [in] | flags | Set the flags of the decoder. | 
| [in] | instanceId | The ID of the engine instance. The following instances are supported: NVMEDIA_DECODER_INSTANCE_0 NVMEDIA_DECODER_INSTANCE_1 NVMEDIA_DECODER_INSTANCE_AUTO | 
| void NvMediaVideoDecrypterDestroy | ( | const NvMediaVideoDecrypter * | pDecrypter | ) | 
Destroys a video decoder decrypter object.
| [in] | pDecrypter | The video decoder decrypter to be destroyed. | 
| NvMediaStatus NvMediaVideoDecryptHeader | ( | const NvMediaVideoDecrypter * | pDecrypter, | 
| const void * | pictureData, | ||
| const NvMediaBitstreamBuffer * | pBitstream, | ||
| NvMediaDecoderInstanceId | instanceId | ||
| ) | 
Decrypts the HDR of the encrypted content.
The NvMediaParserClientCb::DecryptHdr callback function calls this function.
| [in] | pDecrypter | A pointer to the decrypter object. | 
| [in] | pictureData | A pointer to NvMediaParserPictureData. | 
| [in] | pBitstream | A pointer to bitstream data. | 
| [in] | instanceId | The ID of the engine instance. The following instances are supported if NVMEDIA_DECODER_INSTANCE_AUTO was used in NvMediaVideoDecoderCreateEx API, else this parameter is ignored: NVMEDIA_DECODER_INSTANCE_0 NVMEDIA_DECODER_INSTANCE_1 | 
| NvMediaStatus NvMediaVideoGetClearHeader | ( | NvMediaVideoDecrypter * | pDecrypter, | 
| void * | pictureData | ||
| ) | 
Gets clear header data after pass1.
The NvMediaParserClientCb::GetClearHdr callback function calls this function. This is a blocking call, which means the output data is guaranteed to contain clear header data along with re-entrypted data for pass2.
| [in] | pDecrypter | The decrypter object. | 
| [out] | pictureData | A pointer to NvMediaParserPictureData. |