@@ -2453,6 +2453,14 @@ enum {
24532453 See the mfxExtAlphaChannelSurface structure for more details.
24542454 */
24552455 MFX_EXTBUFF_ALPHA_CHANNEL_SURFACE = MFX_MAKEFOURCC ('A' , 'C' , 'S' , 'F' ),
2456+ /*!
2457+ See the mfxExtDecryptConfig structure for more details.
2458+ */
2459+ MFX_EXTBUFF_DECRYPT_CONFIG = MFX_MAKEFOURCC ('D' , 'E' , 'C' , 'R' ),
2460+ /*!
2461+ See the mfxExtSecureCodec structure for more details.
2462+ */
2463+ MFX_EXTBUFF_SECURE_CODEC = MFX_MAKEFOURCC ('S' , 'E' , 'C' , 'U' ),
24562464};
24572465
24582466/* VPP Conf: Do not use certain algorithms */
@@ -5132,6 +5140,39 @@ typedef struct {
51325140MFX_PACK_END ()
51335141#endif
51345142
5143+ enum struct EncryptionScheme {
5144+ kUnencrypted = 0 ,
5145+ kCenc , // 'cenc' subsample encryption using AES-CTR mode.
5146+ kCbcs , // 'cbcs' pattern encryption using AES-CBC mode.
5147+ kMaxValue = kCbcs
5148+ };
5149+
5150+ typedef struct {
5151+ mfxU32 clear_bytes ;
5152+ mfxU32 cypher_bytes ;
5153+ } SubsampleEntry ;
5154+
5155+ typedef struct {
5156+ mfxU32 clear_byte_block ;
5157+ mfxU32 cypher_byte_block ;
5158+ } EncryptionPattern ;
5159+
5160+ typedef struct {
5161+ mfxExtBuffer Header ; /*!< Extension buffer header. Header.BufferId must be equal to MFX_EXTBUFF_DECRYPT_CONFIG. */
5162+ EncryptionScheme encryption_scheme ;
5163+ mfxU8 hw_key_id [16 ];
5164+ mfxU8 iv [16 ];
5165+ mfxU32 session ;
5166+ EncryptionPattern pattern ;
5167+ mfxU32 num_subsamples ;
5168+ SubsampleEntry * subsamples ;
5169+ } mfxExtDecryptConfig ;
5170+
5171+ typedef struct {
5172+ mfxExtBuffer Header ;
5173+ mfxU8 on ;
5174+ } mfxExtSecureCodec ;
5175+
51355176/*! The mfxAISuperResolutionMode enumerator specifies the mode of AI based super resolution. */
51365177typedef enum {
51375178 MFX_AI_SUPER_RESOLUTION_MODE_DISABLED = 0 , /*!< Super Resolution is disabled.*/
0 commit comments