1 /*############################################################################ 2 # Copyright (C) 2020 Intel Corporation 3 # 4 # SPDX-License-Identifier: MIT 5 ############################################################################*/ 6 7 #ifndef __MFXDEPRECATED_H__ 8 #define __MFXDEPRECATED_H__ 9 10 #include "vpl/mfxcommon.h" 11 #include "vpl/mfxsession.h" 12 #include "vpl/mfxstructures.h" 13 14 #if defined(MFX_ONEVPL) 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif /* __cplusplus */ 19 20 enum { 21 MFX_ERR_INCOMPATIBLE_AUDIO_PARAM = -19, /* incompatible audio parameters */ 22 MFX_ERR_INVALID_AUDIO_PARAM = -20, /* invalid audio parameters */ 23 24 MFX_WRN_INCOMPATIBLE_AUDIO_PARAM = 11, /* incompatible audio parameters */ 25 }; 26 27 mfxStatus MFX_CDECL MFXVideoVPP_RunFrameVPPAsyncEx(mfxSession session, 28 mfxFrameSurface1* in, 29 mfxFrameSurface1* surface_work, 30 mfxFrameSurface1** surface_out, 31 mfxSyncPoint* syncp); 32 33 MFX_PACK_BEGIN_STRUCT_W_PTR() 34 typedef struct { 35 mfxU32 reserved[4]; 36 mfxHDL pthis; 37 mfxStatus(MFX_CDECL* Alloc)(mfxHDL pthis, mfxU32 nbytes, mfxU16 type, mfxMemId* mid); 38 mfxStatus(MFX_CDECL* Lock)(mfxHDL pthis, mfxMemId mid, mfxU8** ptr); 39 mfxStatus(MFX_CDECL* Unlock)(mfxHDL pthis, mfxMemId mid); 40 mfxStatus(MFX_CDECL* Free)(mfxHDL pthis, mfxMemId mid); 41 } mfxBufferAllocator; 42 MFX_PACK_END() 43 44 mfxStatus MFX_CDECL MFXVideoCORE_SetBufferAllocator(mfxSession session, 45 mfxBufferAllocator* allocator); 46 47 #if defined(MFX_ENABLE_OPAQUE_MEMORY) 48 //Sanity check 49 #error MFX_ENABLE_OPAQUE_MEMORY should not be defined when 'mfxdeprecated.h' is included 50 #endif //MFX_ENABLE_OPAQUE_MEMORY 51 52 /* IOPattern */ 53 enum { MFX_IOPATTERN_IN_OPAQUE_MEMORY = 0x04, MFX_IOPATTERN_OUT_OPAQUE_MEMORY = 0x40 }; 54 55 enum { MFX_MEMTYPE_OPAQUE_FRAME = 0x0004 }; 56 57 /* Extended Buffer Ids */ 58 enum { MFX_EXTBUFF_OPAQUE_SURFACE_ALLOCATION = MFX_MAKEFOURCC('O', 'P', 'Q', 'S') }; 59 60 MFX_PACK_BEGIN_STRUCT_W_PTR() 61 typedef struct { 62 mfxExtBuffer Header; 63 mfxU32 reserved1[2]; 64 struct { 65 mfxFrameSurface1** Surfaces; 66 mfxU32 reserved2[5]; 67 mfxU16 Type; 68 mfxU16 NumSurface; 69 } In, Out; 70 } mfxExtOpaqueSurfaceAlloc; 71 MFX_PACK_END() 72 73 mfxStatus MFX_CDECL MFXDoWork(mfxSession session); 74 75 mfxStatus MFX_CDECL MFXVideoENC_Query(mfxSession session, mfxVideoParam* in, mfxVideoParam* out); 76 mfxStatus MFX_CDECL MFXVideoENC_QueryIOSurf(mfxSession session, 77 mfxVideoParam* par, 78 mfxFrameAllocRequest* request); 79 mfxStatus MFX_CDECL MFXVideoENC_Init(mfxSession session, mfxVideoParam* par); 80 mfxStatus MFX_CDECL MFXVideoENC_Reset(mfxSession session, mfxVideoParam* par); 81 mfxStatus MFX_CDECL MFXVideoENC_Close(mfxSession session); 82 83 typedef struct _mfxENCInput { 84 } mfxENCInput; 85 typedef struct _mfxENCOutput { 86 } mfxENCOutput; 87 mfxStatus MFX_CDECL MFXVideoENC_ProcessFrameAsync(mfxSession session, 88 mfxENCInput* in, 89 mfxENCOutput* out, 90 mfxSyncPoint* syncp); 91 92 mfxStatus MFX_CDECL MFXVideoENC_GetVideoParam(mfxSession session, mfxVideoParam* par); 93 94 MFX_PACK_BEGIN_STRUCT_W_PTR() 95 typedef struct { 96 } mfxPAKInput; 97 MFX_PACK_END() 98 99 MFX_PACK_BEGIN_STRUCT_W_PTR() 100 typedef struct { 101 } mfxPAKOutput; 102 MFX_PACK_END() 103 104 mfxStatus MFX_CDECL MFXVideoPAK_Query(mfxSession session, mfxVideoParam* in, mfxVideoParam* out); 105 mfxStatus MFX_CDECL MFXVideoPAK_QueryIOSurf(mfxSession session, 106 mfxVideoParam* par, 107 mfxFrameAllocRequest request[2]); 108 mfxStatus MFX_CDECL MFXVideoPAK_Init(mfxSession session, mfxVideoParam* par); 109 mfxStatus MFX_CDECL MFXVideoPAK_Reset(mfxSession session, mfxVideoParam* par); 110 mfxStatus MFX_CDECL MFXVideoPAK_Close(mfxSession session); 111 112 mfxStatus MFX_CDECL MFXVideoPAK_ProcessFrameAsync(mfxSession session, 113 mfxPAKInput* in, 114 mfxPAKOutput* out, 115 mfxSyncPoint* syncp); 116 117 mfxStatus MFX_CDECL MFXVideoPAK_GetVideoParam(mfxSession session, mfxVideoParam* par); 118 119 enum { 120 /*! 121 This extended buffer allow to specify multi-frame submission parameters. 122 */ 123 MFX_EXTBUFF_MULTI_FRAME_PARAM = MFX_MAKEFOURCC('M', 'F', 'R', 'P'), 124 /*! 125 This extended buffer allow to manage multi-frame submission in runtime. 126 */ 127 MFX_EXTBUFF_MULTI_FRAME_CONTROL = MFX_MAKEFOURCC('M', 'F', 'R', 'C'), 128 }; 129 130 /* Multi-Frame Mode */ 131 enum { MFX_MF_DEFAULT = 0, MFX_MF_DISABLED = 1, MFX_MF_AUTO = 2, MFX_MF_MANUAL = 3 }; 132 133 /* Multi-Frame Initialization parameters */ 134 MFX_PACK_BEGIN_USUAL_STRUCT() 135 typedef struct { 136 mfxExtBuffer Header; 137 138 mfxU16 MFMode; 139 mfxU16 MaxNumFrames; 140 141 mfxU16 reserved[58]; 142 } mfxExtMultiFrameParam; 143 MFX_PACK_END() 144 145 /* Multi-Frame Run-time controls */ 146 MFX_PACK_BEGIN_USUAL_STRUCT() 147 typedef struct { 148 mfxExtBuffer Header; 149 150 mfxU32 Timeout; /* timeout in millisecond */ 151 mfxU16 Flush; /* Flush internal frame buffer, e.g. submit all collected frames. */ 152 153 mfxU16 reserved[57]; 154 } mfxExtMultiFrameControl; 155 MFX_PACK_END() 156 157 /* RateControlMethod */ 158 enum { 159 MFX_RATECONTROL_LA_EXT = 12, 160 MFX_RATECONTROL_VME = 15, 161 }; 162 #ifdef __cplusplus 163 } 164 #endif /* __cplusplus */ 165 166 #endif //MFX_ONEVPL 167 #endif //__MFXDEPRECATED_H__ 168