Skip to content
This repository has been archived by the owner on May 17, 2023. It is now read-only.

Commit

Permalink
Introduce API 1.35
Browse files Browse the repository at this point in the history
Add MFX_DEPRECATED and add deprecation attributes in API headers
Add AVC 6-6.2 levels

closes: #2612

Co-authored-by: Oleg Nabiullin <[email protected]>
  • Loading branch information
aobolensk and Oleg Nabiullin committed Mar 22, 2021
1 parent 8c1d3df commit 33fd862
Show file tree
Hide file tree
Showing 32 changed files with 266 additions and 118 deletions.
8 changes: 4 additions & 4 deletions _studio/mfx_lib/decode/h264/src/mfx_h264_dec_decode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ struct ThreadTaskInfo
mfxFrameSurface1* surface_work = nullptr;
mfxFrameSurface1* surface_out = nullptr;

ThreadTaskInfo(mfxFrameSurface1* work, mfxFrameSurface1* out)
: surface_work(work)
, surface_out(out)
ThreadTaskInfo(mfxFrameSurface1* work, mfxFrameSurface1* out)
: surface_work(work)
, surface_out(out)
{}
};

Expand Down Expand Up @@ -454,7 +454,7 @@ mfxStatus VideoDECODEH264::Init(mfxVideoParam *par)

umcVideoParams.lpMemoryAllocator = &m_MemoryAllocator;

#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
umcVideoParams.m_ignore_level_constrain = par->mfx.IgnoreLevelConstrain;
#endif

Expand Down
4 changes: 4 additions & 0 deletions _studio/shared/include/mfx_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@

#include "mfxdefs.h"

#ifndef MFX_DEPRECATED_OFF
#define MFX_DEPRECATED_OFF
#endif

#ifdef MFX_VA
#if defined(LINUX32) || defined(LINUX64)
#include <va/va_version.h>
Expand Down
4 changes: 2 additions & 2 deletions _studio/shared/umc/codec/h264_dec/include/umc_h264_dec.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,13 @@ class H264VideoDecoderParams : public VideoDecoderParams
H264_LEVEL_51 = 51,
H264_LEVEL_52 = 52,

#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
H264_LEVEL_6 = 60,
H264_LEVEL_61 = 61,
H264_LEVEL_62 = 62,
#endif

#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
H264_LEVEL_MAX = 62,
#else
H264_LEVEL_MAX = 52,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -725,7 +725,7 @@ inline int32_t CalculateDPBSize(uint8_t & level_idc, int32_t width, int32_t heig
case H264VideoDecoderParams::H264_LEVEL_52:
MaxDPBMbs = 184320;
break;
#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
case H264VideoDecoderParams::H264_LEVEL_6:
case H264VideoDecoderParams::H264_LEVEL_61:
case H264VideoDecoderParams::H264_LEVEL_62:
Expand Down Expand Up @@ -793,14 +793,14 @@ inline int32_t CalculateDPBSize(uint8_t & level_idc, int32_t width, int32_t heig
// can be used to calculate the DPB size.
case H264VideoDecoderParams::H264_LEVEL_51:
case H264VideoDecoderParams::H264_LEVEL_52:
#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
level_idc = H264VideoDecoderParams::H264_LEVEL_6;
#else
level_idc = INTERNAL_MAX_LEVEL;
#endif
break;

#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
case H264VideoDecoderParams::H264_LEVEL_6:
case H264VideoDecoderParams::H264_LEVEL_61:
case H264VideoDecoderParams::H264_LEVEL_62:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ H264HeadersBitstream::H264HeadersBitstream(uint8_t * const pb, const uint32_t ma

inline bool CheckLevel(uint8_t level_idc, bool ignore_level_constrain = false)
{
#if (MFX_VERSION < MFX_VERSION_NEXT)
#if (MFX_VERSION < 1035)
std::ignore = ignore_level_constrain;
#endif

Expand Down Expand Up @@ -367,7 +367,7 @@ inline bool CheckLevel(uint8_t level_idc, bool ignore_level_constrain = false)
case H264VideoDecoderParams::H264_LEVEL_9:
return true;

#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
case H264VideoDecoderParams::H264_LEVEL_6:
case H264VideoDecoderParams::H264_LEVEL_61:
case H264VideoDecoderParams::H264_LEVEL_62:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -928,7 +928,7 @@ UMC::Status MFX_Utility::DecodeHeader(UMC::TaskSupplier * supplier, UMC::H264Vid
if (!lpInfo->m_pData->GetDataSize())
return UMC::UMC_ERR_NOT_ENOUGH_DATA;

#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
lpInfo->m_ignore_level_constrain = out->mfx.IgnoreLevelConstrain;
#endif
umcRes = supplier->PreInit(lpInfo);
Expand Down Expand Up @@ -1087,7 +1087,7 @@ mfxStatus MFX_Utility::Query(VideoCORE *core, mfxVideoParam *in, mfxVideoParam *

}

#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
out->mfx.IgnoreLevelConstrain = in->mfx.IgnoreLevelConstrain;
#endif

Expand All @@ -1111,7 +1111,7 @@ mfxStatus MFX_Utility::Query(VideoCORE *core, mfxVideoParam *in, mfxVideoParam *
case MFX_LEVEL_AVC_5:
case MFX_LEVEL_AVC_51:
case MFX_LEVEL_AVC_52:
#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
case MFX_LEVEL_AVC_6:
case MFX_LEVEL_AVC_61:
case MFX_LEVEL_AVC_62:
Expand Down Expand Up @@ -1339,7 +1339,7 @@ mfxStatus MFX_Utility::Query(VideoCORE *core, mfxVideoParam *in, mfxVideoParam *
case MFX_LEVEL_AVC_5:
case MFX_LEVEL_AVC_51:
case MFX_LEVEL_AVC_52:
#if (MFX_VERSION >= MFX_VERSION_NEXT)
#if (MFX_VERSION >= 1035)
case MFX_LEVEL_AVC_6:
case MFX_LEVEL_AVC_61:
case MFX_LEVEL_AVC_62:
Expand Down
32 changes: 16 additions & 16 deletions api/include/mfxaudio.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,26 +32,26 @@ extern "C"
#endif

/* AudioCORE */
mfxStatus MFX_CDECL MFXAudioCORE_SyncOperation(mfxSession session, mfxSyncPoint syncp, mfxU32 wait);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioCORE_SyncOperation(mfxSession session, mfxSyncPoint syncp, mfxU32 wait);

/* AudioENCODE */
mfxStatus MFX_CDECL MFXAudioENCODE_Query(mfxSession session, mfxAudioParam *in, mfxAudioParam *out);
mfxStatus MFX_CDECL MFXAudioENCODE_QueryIOSize(mfxSession session, mfxAudioParam *par, mfxAudioAllocRequest *request);
mfxStatus MFX_CDECL MFXAudioENCODE_Init(mfxSession session, mfxAudioParam *par);
mfxStatus MFX_CDECL MFXAudioENCODE_Reset(mfxSession session, mfxAudioParam *par);
mfxStatus MFX_CDECL MFXAudioENCODE_Close(mfxSession session);
mfxStatus MFX_CDECL MFXAudioENCODE_GetAudioParam(mfxSession session, mfxAudioParam *par);
mfxStatus MFX_CDECL MFXAudioENCODE_EncodeFrameAsync(mfxSession session, mfxAudioFrame *frame, mfxBitstream *bs, mfxSyncPoint *syncp);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioENCODE_Query(mfxSession session, mfxAudioParam *in, mfxAudioParam *out);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioENCODE_QueryIOSize(mfxSession session, mfxAudioParam *par, mfxAudioAllocRequest *request);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioENCODE_Init(mfxSession session, mfxAudioParam *par);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioENCODE_Reset(mfxSession session, mfxAudioParam *par);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioENCODE_Close(mfxSession session);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioENCODE_GetAudioParam(mfxSession session, mfxAudioParam *par);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioENCODE_EncodeFrameAsync(mfxSession session, mfxAudioFrame *frame, mfxBitstream *bs, mfxSyncPoint *syncp);

/* AudioDECODE */
mfxStatus MFX_CDECL MFXAudioDECODE_Query(mfxSession session, mfxAudioParam *in, mfxAudioParam *out);
mfxStatus MFX_CDECL MFXAudioDECODE_DecodeHeader(mfxSession session, mfxBitstream *bs, mfxAudioParam* par);
mfxStatus MFX_CDECL MFXAudioDECODE_Init(mfxSession session, mfxAudioParam *par);
mfxStatus MFX_CDECL MFXAudioDECODE_Reset(mfxSession session, mfxAudioParam *par);
mfxStatus MFX_CDECL MFXAudioDECODE_Close(mfxSession session);
mfxStatus MFX_CDECL MFXAudioDECODE_QueryIOSize(mfxSession session, mfxAudioParam *par, mfxAudioAllocRequest *request);
mfxStatus MFX_CDECL MFXAudioDECODE_GetAudioParam(mfxSession session, mfxAudioParam *par);
mfxStatus MFX_CDECL MFXAudioDECODE_DecodeFrameAsync(mfxSession session, mfxBitstream *bs, mfxAudioFrame *frame, mfxSyncPoint *syncp);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioDECODE_Query(mfxSession session, mfxAudioParam *in, mfxAudioParam *out);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioDECODE_DecodeHeader(mfxSession session, mfxBitstream *bs, mfxAudioParam* par);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioDECODE_Init(mfxSession session, mfxAudioParam *par);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioDECODE_Reset(mfxSession session, mfxAudioParam *par);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioDECODE_Close(mfxSession session);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioDECODE_QueryIOSize(mfxSession session, mfxAudioParam *par, mfxAudioAllocRequest *request);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioDECODE_GetAudioParam(mfxSession session, mfxAudioParam *par);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXAudioDECODE_DecodeFrameAsync(mfxSession session, mfxBitstream *bs, mfxAudioFrame *frame, mfxSyncPoint *syncp);

#ifdef __cplusplus
} // extern "C"
Expand Down
48 changes: 47 additions & 1 deletion api/include/mfxdefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
#define __MFXDEFS_H__

#define MFX_VERSION_MAJOR 1
#define MFX_VERSION_MINOR 34
#define MFX_VERSION_MINOR 35

// MFX_VERSION_NEXT is always +1 from last public release
// may be enforced by MFX_VERSION_USE_LATEST define
Expand Down Expand Up @@ -103,6 +103,52 @@ extern "C"

#define MFX_INFINITE 0xFFFFFFFF

#if !defined(MFX_DEPRECATED_OFF) && (MFX_VERSION >= 1034)
#define MFX_DEPRECATED_OFF
#endif

#ifndef MFX_DEPRECATED_OFF
#if defined(__cplusplus) && __cplusplus >= 201402L
#define MFX_DEPRECATED [[deprecated]]
#define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg [[deprecated]]
#define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg)
#elif defined(__clang__)
#define MFX_DEPRECATED __attribute__((deprecated))
#define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg __attribute__((deprecated))
#define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg)
#elif defined(__INTEL_COMPILER)
#if (defined(_WIN32) || defined(_WIN64))
#define MFX_DEPRECATED __declspec(deprecated)
#define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg
#define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg) __pragma(deprecated(arg))
#elif defined(__linux__)
#define MFX_DEPRECATED __attribute__((deprecated))
#if defined(__cplusplus)
#define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg __attribute__((deprecated))
#else
#define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg
#endif
#define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg)
#endif
#elif defined(_MSC_VER) && _MSC_VER > 1200 // VS 6 doesn't support deprecation
#define MFX_DEPRECATED __declspec(deprecated)
#define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg
#define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg) __pragma(deprecated(arg))
#elif defined(__GNUC__)
#define MFX_DEPRECATED __attribute__((deprecated))
#define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg __attribute__((deprecated))
#define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg)
#else
#define MFX_DEPRECATED
#define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg
#define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg)
#endif
#else
#define MFX_DEPRECATED
#define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg
#define MFX_DEPRECATED_ENUM_FIELD_OUTSIDE(arg)
#endif

typedef unsigned char mfxU8;
typedef char mfxI8;
typedef short mfxI16;
Expand Down
14 changes: 7 additions & 7 deletions api/include/mfxenc.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,15 @@ typedef struct _mfxENCOutput{
MFX_PACK_END()


mfxStatus MFX_CDECL MFXVideoENC_Query(mfxSession session, mfxVideoParam *in, mfxVideoParam *out);
mfxStatus MFX_CDECL MFXVideoENC_QueryIOSurf(mfxSession session, mfxVideoParam *par, mfxFrameAllocRequest *request);
mfxStatus MFX_CDECL MFXVideoENC_Init(mfxSession session, mfxVideoParam *par);
mfxStatus MFX_CDECL MFXVideoENC_Reset(mfxSession session, mfxVideoParam *par);
mfxStatus MFX_CDECL MFXVideoENC_Close(mfxSession session);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXVideoENC_Query(mfxSession session, mfxVideoParam *in, mfxVideoParam *out);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXVideoENC_QueryIOSurf(mfxSession session, mfxVideoParam *par, mfxFrameAllocRequest *request);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXVideoENC_Init(mfxSession session, mfxVideoParam *par);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXVideoENC_Reset(mfxSession session, mfxVideoParam *par);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXVideoENC_Close(mfxSession session);

mfxStatus MFX_CDECL MFXVideoENC_ProcessFrameAsync(mfxSession session, mfxENCInput *in, mfxENCOutput *out, mfxSyncPoint *syncp);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXVideoENC_ProcessFrameAsync(mfxSession session, mfxENCInput *in, mfxENCOutput *out, mfxSyncPoint *syncp);

mfxStatus MFX_CDECL MFXVideoENC_GetVideoParam(mfxSession session, mfxVideoParam *par);
MFX_DEPRECATED mfxStatus MFX_CDECL MFXVideoENC_GetVideoParam(mfxSession session, mfxVideoParam *par);

#ifdef __cplusplus
} // extern "C"
Expand Down
Loading

0 comments on commit 33fd862

Please sign in to comment.