Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Tseng_w_
Beginner
152 Views

Error message about MFX_ERR_UNSUPPORTED

Hello everyone,

When I run "Intel Media H264 Encode" in Graphedit, I got error MFX_ERR_UNSUPPORTED.

I create a pushsource filter to connect to " H264 Encode Filter". It could link to  " H264 Encode Filter" in graphedit. But, when I push the play button, it throws a error MFX_ERR_UNSUPPORTED. 

In the function of "CEncVideoFilter::StartStreaming(void)".

when it goes to this line.

sts = m_pEncoder->Init(&m_mfxParamsVideo, &m_mfxParamsVPP, this); 

it could return error "-3". And I find it could return error -3 in the below function.

sts = InternalReset(pVideoParams, pVPPParams, false);

I try to use the below block in graphedit and it could run well.

File Source -> MP4 spliter -> H264 Decoder -> H264 Encoder ->File Writer.

If it run well, why do I get error MFX_ERR_UNSUPPORTED ??

I also post the pin information for reference.

Thanks

Tseng

0 Kudos
8 Replies
Petter_L_Intel
Employee
152 Views

Hi Tseng,

There could be many reasons for this failure, but the issue is likely related to not being able to find Media SDK HW and/or SW DLL.

Make sure you have recent Intel HD Graphics driver installed and that the Intel HD Graphics device is active.

Can you share a bit more information about you machine configuration. An easy way to do this is to dump the output from Media SDK sys_analyzer tool (you'll find it in the SDK tools folder).

Regards,
Petter 

Tseng_w_
Beginner
152 Views

Hi Petter,

Thanks for your replay.

I have checked the system infofmation by analysis tool. I upload it for ref. The column of Supported all is Yes,but the Dec & Enc is 'x'. I didn't get the 'x' could mean 'Support' or ' not Support'. If it means support, why I still get the error  MFX_ERR_UNSUPPORTED.

I also upload the log file. It has some error "MFX_ERR_NOT_INITIALIZED". Please check it and give me some advices. Thanks a lot. 

Best Regards,

Tseng

Tseng_w_
Beginner
152 Views

Hi,

I modified the source filter, and it could pass the error of MFX_ERR_UNSUPPORTED now.

I faced new issue that occur in "CEncVideoFilter::Receive(IMediaSample* pSample)" function. As the below code ,when it query interface, it could return 'No Interface'.

hr = pSample->QueryInterface(IID_IMFXSample, reinterpret_cast<void**>(&pMFXSample));

The pointer pMFXSample will be set to NULL.

Could someone give me advice ? 

Big Thinks

Tseng

 

Petter_L_Intel
Employee
152 Views

Hi Tseng,

From the log you shared I can see that SW path is successful but as you indicated HW acceleration path fails (MFX_ERR_UNSUPPORTED). This is quite strange since the sys_analyzer log indicates that the driver you have installed exposes HW acceleration correctly.

I do not suggest ignoring the "MFX_ERR_UNSUPPORTED" error code.

It seems you have made modifications to the sample filters? Does the unmodified filters work?

It also looks like you are using an old version of Media SDK. Could you try the same workload using Media SDK 2013 and corresponding samples?

Regards,
Petter 

Tseng_w_
Beginner
152 Views

Hi Petter,

I have updated my Intel Graphy Driver, and tried again. It seems libary loaded successfully as the following message.

INFO :library loaded succesfully
SDK DLL File Version=4.13.3.7
SDK DLL Product Version=4.0.1531377.55492
SDK DLL File Size=11214232
MFXInit.impl=HARDWARE
MFXInit.ver=1.1
MFXInit.status=MFX_ERR_NONE

But it still doesn't work. It could return 'No Interface' as I mentioned before. I'm using the 2013 SDK to test and I don't modify any samples. I just build it and put it in graphyedit for test.  

 I upload the log file for ref.

Thanks a lot.

Tseng

Petter_L_Intel
Employee
152 Views

Hi Tseng,

Judging from from the log you sent, I do not see any Media SDK API issues. HW accelerated session is initialized successfully and the encoder is also initialized successfully.

The issue your facing is likely due to filter incompatibility with the source filter you are using. The Media SDK DShow sample filters are also validated with a small set of filters (such as file input filter). You may have to modify input filter or Media SDK encode filter to adapt to the scenario you are pursuing.

I suggest trying alternate input filters or to isolate and address the filter incompatibility issue.

Regards,
Petter 

Tseng_w_
Beginner
152 Views

Hi Petter,

I think the hw libary work well. I pass the NO_INTERFACE error, and set 'm_pEncoder->m_bmfxSample = false;'. It could start encoding. My question is what does it mean if I get NO_INTERFACE form query interface,  

Thanks,

Tseng

Petter_L_Intel
Employee
152 Views

Hi Tseng, 

The reason you're getting NO_INTERFACE status from "hr = pSample->QueryInterface(IID_IMFXSample, reinterpret_cast<void**>(&pMFXSample));" is due to the fact that the upstream filter you have connected is not a Media SDK type filter (such as the Media SDK decode filters). In that case the sample encode filter assumes that the input frame is store in a system memory buffer. You can see in the preceding code path how that is handled. 

If your upstream filter somehow delivers frames in a different way you will have to modify the sample to adapt to that scenario.

Regards,
Petter 

Reply