1 /*############################################################################
2 # Copyright (C) Intel Corporation
4 # SPDX-License-Identifier: MIT
5 ############################################################################*/
9 // this file doesn't contain an include guard by design.
10 // The file may be included into a source file many times.
11 // That is why this header doesn't contain any include directive.
12 // Please, do no try to fix it.
14 // NOLINT(build/header_guard)
16 // Use define API_VERSION to set the API of functions listed further
17 // When new functions are added new section with functions declarations must be started with updated define
20 // API version 1.0 functions
23 // API version where a function is added. Minor value should precedes the major value
29 // CORE interface functions
31 MFXVideoCORE_SetFrameAllocator,
32 (mfxSession session, mfxFrameAllocator *allocator),
35 MFXVideoCORE_SetHandle,
36 (mfxSession session, mfxHandleType type, mfxHDL hdl),
39 MFXVideoCORE_GetHandle,
40 (mfxSession session, mfxHandleType type, mfxHDL *hdl),
44 MFXVideoCORE_SyncOperation,
45 (mfxSession session, mfxSyncPoint syncp, mfxU32 wait),
46 (session, syncp, wait))
48 // ENCODE interface functions
51 (mfxSession session, mfxVideoParam *in, mfxVideoParam *out),
54 MFXVideoENCODE_QueryIOSurf,
55 (mfxSession session, mfxVideoParam *par, mfxFrameAllocRequest *request),
56 (session, par, request))
57 FUNCTION(mfxStatus, MFXVideoENCODE_Init, (mfxSession session, mfxVideoParam *par), (session, par))
58 FUNCTION(mfxStatus, MFXVideoENCODE_Reset, (mfxSession session, mfxVideoParam *par), (session, par))
59 FUNCTION(mfxStatus, MFXVideoENCODE_Close, (mfxSession session), (session))
62 MFXVideoENCODE_GetVideoParam,
63 (mfxSession session, mfxVideoParam *par),
66 MFXVideoENCODE_GetEncodeStat,
67 (mfxSession session, mfxEncodeStat *stat),
70 MFXVideoENCODE_EncodeFrameAsync,
73 mfxFrameSurface1 *surface,
76 (session, ctrl, surface, bs, syncp))
78 // DECODE interface functions
81 (mfxSession session, mfxVideoParam *in, mfxVideoParam *out),
84 MFXVideoDECODE_DecodeHeader,
85 (mfxSession session, mfxBitstream *bs, mfxVideoParam *par),
88 MFXVideoDECODE_QueryIOSurf,
89 (mfxSession session, mfxVideoParam *par, mfxFrameAllocRequest *request),
90 (session, par, request))
91 FUNCTION(mfxStatus, MFXVideoDECODE_Init, (mfxSession session, mfxVideoParam *par), (session, par))
92 FUNCTION(mfxStatus, MFXVideoDECODE_Reset, (mfxSession session, mfxVideoParam *par), (session, par))
93 FUNCTION(mfxStatus, MFXVideoDECODE_Close, (mfxSession session), (session))
96 MFXVideoDECODE_GetVideoParam,
97 (mfxSession session, mfxVideoParam *par),
100 MFXVideoDECODE_GetDecodeStat,
101 (mfxSession session, mfxDecodeStat *stat),
104 MFXVideoDECODE_SetSkipMode,
105 (mfxSession session, mfxSkipMode mode),
108 MFXVideoDECODE_GetPayload,
109 (mfxSession session, mfxU64 *ts, mfxPayload *payload),
110 (session, ts, payload))
112 MFXVideoDECODE_DecodeFrameAsync,
115 mfxFrameSurface1 *surface_work,
116 mfxFrameSurface1 **surface_out,
117 mfxSyncPoint *syncp),
118 (session, bs, surface_work, surface_out, syncp))
120 // VPP interface functions
123 (mfxSession session, mfxVideoParam *in, mfxVideoParam *out),
126 MFXVideoVPP_QueryIOSurf,
127 (mfxSession session, mfxVideoParam *par, mfxFrameAllocRequest *request),
128 (session, par, request))
129 FUNCTION(mfxStatus, MFXVideoVPP_Init, (mfxSession session, mfxVideoParam *par), (session, par))
130 FUNCTION(mfxStatus, MFXVideoVPP_Reset, (mfxSession session, mfxVideoParam *par), (session, par))
131 FUNCTION(mfxStatus, MFXVideoVPP_Close, (mfxSession session), (session))
134 MFXVideoVPP_GetVideoParam,
135 (mfxSession session, mfxVideoParam *par),
137 FUNCTION(mfxStatus, MFXVideoVPP_GetVPPStat, (mfxSession session, mfxVPPStat *stat), (session, stat))
139 MFXVideoVPP_RunFrameVPPAsync,
141 mfxFrameSurface1 *in,
142 mfxFrameSurface1 *out,
143 mfxExtVppAuxData *aux,
144 mfxSyncPoint *syncp),
145 (session, in, out, aux, syncp))
149 #define API_VERSION \
155 MFXVideoCORE_QueryPlatform,
156 (mfxSession session, mfxPlatform *platform),