Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools from Intel. This includes Intel® oneAPI Video Processing Library and Intel® Media SDK.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

Media SDK compatibility issues

yoe
Beginner
805 Views

 

In my code, the "_mfx_session.InitEx" return -3("MFX_ERR_UNSUPPORTED = -3, /* undeveloped feature */").

I compare with the decode sample, sample use "ExtBufHolder<mfxInitParam>", but I use "mfxInitParam", 

Is the new version of media SDK incompatible with the previous program?

 

Operating System: Windows 10 专业版 64-bit (10.0, Build 19041) (19041.vb_release.191206-1406)

Processor: 11th Gen Intel(R) Core(TM) i5-1145G7 @ 2.60GHz (8 CPUs), ~2.6GHz

Driver Version: 27.20.100.9268

 

	mfxStatus sts = MFX_ERR_NONE;
	mfxInitParam initPar;
	memset(&initPar, 0x00, sizeof(initPar));
	memset(&_mfx_video_params, 0x00, sizeof(_mfx_video_params));
    
	// we set version to 1.0 and later we will query actual version of the library which will got leaded
	initPar.Version.Major = 1;
	initPar.Version.Minor = 0;
	initPar.GPUCopy = MFX_GPUCOPY_ON;
	// try searching on all display adapters
	initPar.Implementation = MFX_IMPL_HARDWARE_ANY;
    if (RENDER_DX11_HW == m_renderType){
        initPar.Implementation |= MFX_IMPL_VIA_D3D11;
    }

	//_mfx_video_params.mfx.FrameInfo.FourCC = MFX_MAKEFOURCC('N', 'V', '1', '2');
	//_mfx_video_params.mfx.FrameInfo.ChromaFormat = 1;

	MSDK_ZERO_MEMORY(m_DecodeErrorReport);
	m_DecodeErrorReport.Header.BufferId = MFX_EXTBUFF_DECODE_ERROR_REPORT;

	{
		unique_lock_t lock(_g_mutex);
		sts = _mfx_session.InitEx(initPar);
	}

 

 

the newest sample code:

 

using mfxInitParamlWrap     = ExtBufHolder<mfxInitParam>;

 

 

    mfxInitParamlWrap initPar;

    // we set version to 1.0 and later we will query actual version of the library which will got leaded
    initPar.Version.Major = 1;
    initPar.Version.Minor = 0;

    initPar.GPUCopy = pParams->gpuCopy;

    if (pParams->nThreadsNum)
    {
        auto threadsPar = initPar.AddExtBuffer<mfxExtThreadsParam>();
        threadsPar->NumThread = pParams->nThreadsNum;
    }
    if (pParams->SchedulingType)
    {
        auto threadsPar = initPar.AddExtBuffer<mfxExtThreadsParam>();
        threadsPar->SchedulingType = pParams->SchedulingType;
    }
    if (pParams->Priority)
    {
        auto threadsPar = initPar.AddExtBuffer<mfxExtThreadsParam>();
        threadsPar->Priority = pParams->Priority;
    }

    if (pParams->eDeinterlace)
    {
        m_diMode = pParams->eDeinterlace;
    }

    if (pParams->bUseFullColorRange)
    {
        m_bVppFullColorRange = pParams->bUseFullColorRange;
    }

    bool bResolutionSpecified = pParams->Width || pParams->Height; // potentially VPP can be inserted

    if (bResolutionSpecified)
        m_bDecOutSysmem = pParams->bUseHWLib ? false : true;
    else
        m_bDecOutSysmem = m_memType == SYSTEM_MEMORY;

    m_eWorkMode = pParams->mode;

    m_monitorType = pParams->monitorType;
    // create device and allocator
#if defined(LIBVA_SUPPORT)
    m_libvaBackend = pParams->libvaBackend;
#endif // defined(MFX_LIBVA_SUPPORT)

    sts = GetImpl(*pParams, initPar.Implementation);
    MSDK_CHECK_STATUS(sts, "GetImpl failed");

    sts = m_mfxSession.InitEx(initPar);

 

0 Kudos
8 Replies
yoe
Beginner
787 Views

hi, I chI changed the code of sample to be the same as mine, which also returns -3.

The sample code I modified has been uploaded as an attachment, thank you very much.  @Mark_L_Intel1 

 

    //mfxInitParamlWrap initPar;
    mfxInitParam initPar;

    // we set version to 1.0 and later we will query actual version of the library which will got leaded
    initPar.Version.Major = 1;
    initPar.Version.Minor = 0;

    initPar.GPUCopy = pParams->gpuCopy;

    /*
    if (pParams->nThreadsNum)
    {
        auto threadsPar = initPar.AddExtBuffer<mfxExtThreadsParam>();
        threadsPar->NumThread = pParams->nThreadsNum;
    }
    if (pParams->SchedulingType)
    {
        auto threadsPar = initPar.AddExtBuffer<mfxExtThreadsParam>();
        threadsPar->SchedulingType = pParams->SchedulingType;
    }
    if (pParams->Priority)
    {
        auto threadsPar = initPar.AddExtBuffer<mfxExtThreadsParam>();
        threadsPar->Priority = pParams->Priority;
    }
    */

    if (pParams->eDeinterlace)
    {
        m_diMode = pParams->eDeinterlace;
    }

    if (pParams->bUseFullColorRange)
    {
        m_bVppFullColorRange = pParams->bUseFullColorRange;
    }

    bool bResolutionSpecified = pParams->Width || pParams->Height; // potentially VPP can be inserted

    if (bResolutionSpecified)
        m_bDecOutSysmem = pParams->bUseHWLib ? false : true;
    else
        m_bDecOutSysmem = m_memType == SYSTEM_MEMORY;

    m_eWorkMode = pParams->mode;

    m_monitorType = pParams->monitorType;
    // create device and allocator
#if defined(LIBVA_SUPPORT)
    m_libvaBackend = pParams->libvaBackend;
#endif // defined(MFX_LIBVA_SUPPORT)

    sts = GetImpl(*pParams, initPar.Implementation);
    MSDK_CHECK_STATUS(sts, "GetImpl failed");

    sts = m_mfxSession.InitEx(initPar);
    MSDK_CHECK_STATUS(sts, "m_mfxSession.InitEx failed");

 

 

 

yoe
Beginner
754 Views

@Gael_H_Intel    @Mark_L_Intel1 
Why didn't anyone pay attention to my question?
Shouldn't the new Intel drivers be compatible with old applications?

-----------

In addition, my original code is normal in other versions. Only in this version can initex fail.

AthiraM_Intel
Moderator
682 Views

Hi,


Thanks for reaching out to us. We are extremely sorry for the delay.


Could you please share the following details:


1) Media SDK version?

2) API version reported when running your code?

3) Is it possible to use the same tutorial code available along with the Media SDK?


Thanks.


yoe
Beginner
674 Views

1)Media SDK version: 1.34

2)API version: 1.20

3)Because the code of the mediasdk header file used in our program has been modified by us, direct replacement is not feasible and it is very difficult to combine.

----PS:I tracked it with SDK tracker and found that it was caused by the failure to load libmfxhw32.dll. Why can sample load successfully, but my program can't load successfully?

yoe_0-1628138881760.png

API version.jpgMediaSDK version.jpg

 

yoe
Beginner
660 Views

@AthiraM_Intel 
After I updated libmfx.lib in the new SDK this afternoon, the problem was solved, There are recent updates to this library, right?

AthiraM_Intel
Moderator
642 Views

Hi,


Glad to know that your issue is resolved.


The latest Media SDK version for windows is 2021 R1.

To know more about the changes in the latest release please refer the below link :


https://software.intel.com/content/www/us/en/develop/download/media-sdk-windows-release-notes.html


Hope this helps.


Thanks.


AthiraM_Intel
Moderator
566 Views

Hi,


Could you please give us an update? Has the solution provided helped?



Thanks


AthiraM_Intel
Moderator
524 Views

Hi,


I assume that the solution provided helped. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel. 



Thanks



Reply