Error message about MFX_ERR_UNSUPPORTED

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

AttachmentSize
Downloadimage/png 001.png46.27 KB
Downloadimage/png 002.png43.59 KB
9 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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 

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

Attachments: 

AttachmentSize
Downloadimage/png 004.png44.38 KB
Downloadapplication/octet-stream analyzer.log1.87 MB

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

 

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 

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

Attachments: 

AttachmentSize
Downloadapplication/octet-stream analyzer.log242.67 KB
Downloadapplication/octet-stream analyzer.log295.72 KB

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 

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

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 

Leave a Comment

Please sign in to add a comment. Not a member? Join today