VA-API
2.24.1
Toggle main menu visibility
Loading...
Searching...
No Matches
va_prot.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020 Intel Corporation. All Rights Reserved.
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a
5
* copy of this software and associated documentation files (the
6
* "Software"), to deal in the Software without restriction, including
7
* without limitation the rights to use, copy, modify, merge, publish,
8
* distribute, sub license, and/or sell copies of the Software, and to
9
* permit persons to whom the Software is furnished to do so, subject to
10
* the following conditions:
11
*
12
* The above copyright notice and this permission notice (including the
13
* next paragraph) shall be included in all copies or substantial portions
14
* of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19
* IN NO EVENT SHALL INTEL AND/OR ITS SUPPLIERS BE LIABLE FOR
20
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
*/
24
31
32
#ifndef VA_PROT_H
33
#define VA_PROT_H
34
35
#ifdef __cplusplus
36
extern
"C"
{
37
#endif
38
377
402
typedef
VAGenericID
VAProtectedSessionID
;
403
405
typedef
enum
_VA_TEE_EXEC_FUNCTION_ID {
406
VA_TEE_EXECUTE_FUNCTION_ID_PASS_THROUGH = 0x00000001,
407
VA_TEE_EXECUTE_FUNCTION_ID_GET_FIRMWARE_VERSION = 0x00000002,
408
409
}
VA_TEE_EXECUTE_FUNCTION_ID
;
410
412
typedef
struct
_VAProtectedSessionBuffer {
413
/*
414
* This is used when this buffer refer to output buffer. The maximum size of
415
* data that the driver can return in the output buffer. It is not used for
416
* input buffer.
417
*/
418
uint32_t max_data_size;
419
/*
420
* If it is used for input buffer, it is the size of the input data. If it is
421
* used for output buffer, it is the returns size of the output data written
422
* by the driver.
423
*/
424
uint32_t data_size;
425
/*
426
* data pointer of this buffer
427
*/
428
void
*data;
429
uint32_t va_reserved[
VA_PADDING_LOW
];
430
}
VAProtectedSessionBuffer
;
431
433
typedef
struct
_VAProtectedSessionExecuteBuffer {
436
uint32_t
function_id
;
438
VAProtectedSessionBuffer
input
;
440
VAProtectedSessionBuffer
output
;
443
uint32_t
status
;
452
uint64_t
vtag
;
454
uint32_t
va_reserved
[
VA_PADDING_LOW
- 2];
455
}
VAProtectedSessionExecuteBuffer
;
456
466
VAStatus
vaCreateProtectedSession
(
VADisplay
dpy, VAConfigID config_id,
467
VAProtectedSessionID
*protected_session);
468
477
VAStatus
vaDestroyProtectedSession
(
VADisplay
dpy,
478
VAProtectedSessionID
protected_session);
479
490
VAStatus
vaAttachProtectedSession
(
VADisplay
dpy,
VAGenericID
id
,
491
VAProtectedSessionID
protected_session);
492
502
VAStatus
vaDetachProtectedSession
(
VADisplay
dpy,
VAGenericID
id
);
503
515
VAStatus
vaProtectedSessionExecute
(
VADisplay
dpy,
516
VAProtectedSessionID
protected_session,
517
VABufferID
buf_id);
518
520
521
#ifdef __cplusplus
522
}
523
#endif
524
525
#endif
/* VA_PROT_H */
VA_PADDING_LOW
#define VA_PADDING_LOW
Definition
va.h:360
VAGenericID
unsigned int VAGenericID
Definition
va.h:1580
VABufferID
VAGenericID VABufferID
Definition
va.h:2042
VADisplay
void * VADisplay
Definition
va.h:260
VAProtectedSessionID
VAGenericID VAProtectedSessionID
Definition
va_prot.h:402
VA_TEE_EXECUTE_FUNCTION_ID
VA_TEE_EXECUTE_FUNCTION_ID
TEE Execucte Function ID.
Definition
va_prot.h:405
vaProtectedSessionExecute
VAStatus vaProtectedSessionExecute(VADisplay dpy, VAProtectedSessionID protected_session, VABufferID buf_id)
Execute provides a general mechanism for TEE client tasks execution.
vaDestroyProtectedSession
VAStatus vaDestroyProtectedSession(VADisplay dpy, VAProtectedSessionID protected_session)
Destroy a protected session.
vaAttachProtectedSession
VAStatus vaAttachProtectedSession(VADisplay dpy, VAGenericID id, VAProtectedSessionID protected_session)
Attach a protected content session to VA context.
vaDetachProtectedSession
VAStatus vaDetachProtectedSession(VADisplay dpy, VAGenericID id)
Detach the protected content session from the VA context.
vaCreateProtectedSession
VAStatus vaCreateProtectedSession(VADisplay dpy, VAConfigID config_id, VAProtectedSessionID *protected_session)
Create a protected session.
VAProtectedSessionBuffer
Input/Output buffer of VAProtectedSessionExecuteBuffer.
Definition
va_prot.h:412
VAProtectedSessionExecuteBuffer
Buffer for vaProtectedSessionExecute().
Definition
va_prot.h:433
VAProtectedSessionExecuteBuffer::status
uint32_t status
Return the result of this function. The status result is IHV's implementation specific.
Definition
va_prot.h:443
VAProtectedSessionExecuteBuffer::vtag
uint64_t vtag
vtag represents TEE sandbox identification for multiple playback scenario
Definition
va_prot.h:452
VAProtectedSessionExecuteBuffer::va_reserved
uint32_t va_reserved[VA_PADDING_LOW - 2]
reserved bytes for future use, must be zero
Definition
va_prot.h:454
VAProtectedSessionExecuteBuffer::output
VAProtectedSessionBuffer output
Output buffer.
Definition
va_prot.h:440
VAProtectedSessionExecuteBuffer::input
VAProtectedSessionBuffer input
Input buffer.
Definition
va_prot.h:438
VAProtectedSessionExecuteBuffer::function_id
uint32_t function_id
Specify the function to execute. It is IHV's implementation specific.
Definition
va_prot.h:436
Generated for VA-API by
1.17.0