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. |