1 /*############################################################################ 2 # Copyright (C) 2017-2020 Intel Corporation 3 # 4 # SPDX-License-Identifier: MIT 5 ############################################################################*/ 6 7 // 8 // WARNING: 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. 13 // 14 // NOLINT(build/header_guard) 15 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 18 19 // 20 // API version 1.0 functions 21 // 22 23 // API version where a function is added. Minor value should precedes the major value 24 #define API_VERSION \ 25 { \ 26 { 0, 1 } \ 27 } 28 29 FUNCTION(mfxStatus, MFXQueryIMPL, (mfxSession session, mfxIMPL *impl), (session, impl)) 30 FUNCTION(mfxStatus, MFXQueryVersion, (mfxSession session, mfxVersion *version), (session, version)) 31 32 // CORE interface functions 33 FUNCTION(mfxStatus, 34 MFXVideoCORE_SetFrameAllocator, 35 (mfxSession session, mfxFrameAllocator *allocator), 36 (session, allocator)) 37 FUNCTION(mfxStatus, 38 MFXVideoCORE_SetHandle, 39 (mfxSession session, mfxHandleType type, mfxHDL hdl), 40 (session, type, hdl)) 41 FUNCTION(mfxStatus, 42 MFXVideoCORE_GetHandle, 43 (mfxSession session, mfxHandleType type, mfxHDL *hdl), 44 (session, type, hdl)) 45 46 FUNCTION(mfxStatus, 47 MFXVideoCORE_SyncOperation, 48 (mfxSession session, mfxSyncPoint syncp, mfxU32 wait), 49 (session, syncp, wait)) 50 51 // ENCODE interface functions 52 FUNCTION(mfxStatus, 53 MFXVideoENCODE_Query, 54 (mfxSession session, mfxVideoParam *in, mfxVideoParam *out), 55 (session, in, out)) 56 FUNCTION(mfxStatus, 57 MFXVideoENCODE_QueryIOSurf, 58 (mfxSession session, mfxVideoParam *par, mfxFrameAllocRequest *request), 59 (session, par, request)) 60 FUNCTION(mfxStatus, MFXVideoENCODE_Init, (mfxSession session, mfxVideoParam *par), (session, par)) 61 FUNCTION(mfxStatus, MFXVideoENCODE_Reset, (mfxSession session, mfxVideoParam *par), (session, par)) 62 FUNCTION(mfxStatus, MFXVideoENCODE_Close, (mfxSession session), (session)) 63 64 FUNCTION(mfxStatus, 65 MFXVideoENCODE_GetVideoParam, 66 (mfxSession session, mfxVideoParam *par), 67 (session, par)) 68 FUNCTION(mfxStatus, 69 MFXVideoENCODE_GetEncodeStat, 70 (mfxSession session, mfxEncodeStat *stat), 71 (session, stat)) 72 FUNCTION(mfxStatus, 73 MFXVideoENCODE_EncodeFrameAsync, 74 (mfxSession session, 75 mfxEncodeCtrl *ctrl, 76 mfxFrameSurface1 *surface, 77 mfxBitstream *bs, 78 mfxSyncPoint *syncp), 79 (session, ctrl, surface, bs, syncp)) 80 81 // DECODE interface functions 82 FUNCTION(mfxStatus, 83 MFXVideoDECODE_Query, 84 (mfxSession session, mfxVideoParam *in, mfxVideoParam *out), 85 (session, in, out)) 86 FUNCTION(mfxStatus, 87 MFXVideoDECODE_DecodeHeader, 88 (mfxSession session, mfxBitstream *bs, mfxVideoParam *par), 89 (session, bs, par)) 90 FUNCTION(mfxStatus, 91 MFXVideoDECODE_QueryIOSurf, 92 (mfxSession session, mfxVideoParam *par, mfxFrameAllocRequest *request), 93 (session, par, request)) 94 FUNCTION(mfxStatus, MFXVideoDECODE_Init, (mfxSession session, mfxVideoParam *par), (session, par)) 95 FUNCTION(mfxStatus, MFXVideoDECODE_Reset, (mfxSession session, mfxVideoParam *par), (session, par)) 96 FUNCTION(mfxStatus, MFXVideoDECODE_Close, (mfxSession session), (session)) 97 98 FUNCTION(mfxStatus, 99 MFXVideoDECODE_GetVideoParam, 100 (mfxSession session, mfxVideoParam *par), 101 (session, par)) 102 FUNCTION(mfxStatus, 103 MFXVideoDECODE_GetDecodeStat, 104 (mfxSession session, mfxDecodeStat *stat), 105 (session, stat)) 106 FUNCTION(mfxStatus, 107 MFXVideoDECODE_SetSkipMode, 108 (mfxSession session, mfxSkipMode mode), 109 (session, mode)) 110 FUNCTION(mfxStatus, 111 MFXVideoDECODE_GetPayload, 112 (mfxSession session, mfxU64 *ts, mfxPayload *payload), 113 (session, ts, payload)) 114 FUNCTION(mfxStatus, 115 MFXVideoDECODE_DecodeFrameAsync, 116 (mfxSession session, 117 mfxBitstream *bs, 118 mfxFrameSurface1 *surface_work, 119 mfxFrameSurface1 **surface_out, 120 mfxSyncPoint *syncp), 121 (session, bs, surface_work, surface_out, syncp)) 122 123 // VPP interface functions 124 FUNCTION(mfxStatus, 125 MFXVideoVPP_Query, 126 (mfxSession session, mfxVideoParam *in, mfxVideoParam *out), 127 (session, in, out)) 128 FUNCTION(mfxStatus, 129 MFXVideoVPP_QueryIOSurf, 130 (mfxSession session, mfxVideoParam *par, mfxFrameAllocRequest *request), 131 (session, par, request)) 132 FUNCTION(mfxStatus, MFXVideoVPP_Init, (mfxSession session, mfxVideoParam *par), (session, par)) 133 FUNCTION(mfxStatus, MFXVideoVPP_Reset, (mfxSession session, mfxVideoParam *par), (session, par)) 134 FUNCTION(mfxStatus, MFXVideoVPP_Close, (mfxSession session), (session)) 135 136 FUNCTION(mfxStatus, 137 MFXVideoVPP_GetVideoParam, 138 (mfxSession session, mfxVideoParam *par), 139 (session, par)) 140 FUNCTION(mfxStatus, MFXVideoVPP_GetVPPStat, (mfxSession session, mfxVPPStat *stat), (session, stat)) 141 FUNCTION(mfxStatus, 142 MFXVideoVPP_RunFrameVPPAsync, 143 (mfxSession session, 144 mfxFrameSurface1 *in, 145 mfxFrameSurface1 *out, 146 mfxExtVppAuxData *aux, 147 mfxSyncPoint *syncp), 148 (session, in, out, aux, syncp)) 149 150 #undef API_VERSION 151 152 // 153 // API version 1.1 functions 154 // 155 156 #define API_VERSION \ 157 { \ 158 { 1, 1 } \ 159 } 160 161 FUNCTION(mfxStatus, MFXDisjoinSession, (mfxSession session), (session)) 162 FUNCTION(mfxStatus, MFXSetPriority, (mfxSession session, mfxPriority priority), (session, priority)) 163 FUNCTION(mfxStatus, 164 MFXGetPriority, 165 (mfxSession session, mfxPriority *priority), 166 (session, priority)) 167 168 #undef API_VERSION 169 170 #define API_VERSION \ 171 { \ 172 { 19, 1 } \ 173 } 174 175 FUNCTION(mfxStatus, 176 MFXVideoCORE_QueryPlatform, 177 (mfxSession session, mfxPlatform *platform), 178 (session, platform)) 179 180 #undef API_VERSION 181