Skip to content

Commit 994df23

Browse files
kkkuangzhsysopenci
authored andcommitted
Support widevine
Tracked-On: OAM-120419 Signed-off-by: Nana Zhang <nana.zhang@intel.com>
1 parent c9dc3b9 commit 994df23

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

api/vpl/mfxstructures.h

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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 {
51325140
MFX_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. */
51365177
typedef enum {
51375178
MFX_AI_SUPER_RESOLUTION_MODE_DISABLED = 0, /*!< Super Resolution is disabled.*/

0 commit comments

Comments
 (0)