Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

H264 QSV encoder with GopRefDist = 1 or 2 issue

kyviquel
Beginner
735 Views

Hi,

I try to encode h264 1080i files with your QSV h264 encoder. If I set GopRefDist equal to 1 or 2 I receive a MFX_ERR_DEVICE_FAILED on the SyncOperation() Call . If I try same setting with the SW encoder it works. If I try the QSV encoder with GopRefDist equal to 3 it works.

This bug happens only in HD (1080i30M or 720P50), NTSC works well.

My implementation is based on IntelMedia SDK 2013 R2 with driver 9.18.10.3165 on windows 7 OS.

I attached the 2 log files generated with your tool that show the problem.

Do you know why I receive this error?

Thanks

Karine

0 Kudos
8 Replies
kyviquel
Beginner
735 Views

I attache the log files into QSV_GopRefDist.zip file

0 Kudos
Petter_L_Intel
Employee
735 Views

Hi Karine,

Unfortunately the zip file did not get attached to the post. Can you try to attach it again please.

There are some known driver install issues with the 9.18.10.3165 driver. You may have run into issues related to mismatching Media SDK HW DLL and graphics driver.

If you share the encoder configuration details with us we will try to replicate on our side. It will help us determine if that is the case or if something else is going on.

Regards,
Petter 

0 Kudos
kyviquel
Beginner
735 Views

Sorry I had some proxy problem. This is the zip file.

0 Kudos
kyviquel
Beginner
735 Views

Hi Petter,

We are about to release a new product including your Intel Media h264 encoders (SW and QSV), we are using IntelMediaSDK2013 R2 with the 9.18.10.3165 driver. Regarding your latest comment in this post do you think we use a good combination of driver-library or do you suggest us something better for h264 encoders?

Thanks

Karine

 

 

0 Kudos
Petter_L_Intel
Employee
735 Views

Hi Karine,

I extracted the parameters you used for encode and VPP from the log you provided and ran a similar workload here locally without issues. I tested with both 3165 and a more recent internal driver.

Looking at the log it seems that you may have encountered the known driver installer issue. For driver 3165, the Media SDK HW DLL should have version number 57405, but your log indicates that the system is using 55492. Non-compatible Media SDK DLL/driver tend to result in weird device type issues, like the one you have encountered.

Could you please try to uninstall the graphics driver completely, and remove the Media SDK DLL (*mfx*) files from ".../Program Files/Intel Media SDK/" folder, then reinstall the driver.

Let us know how it works.

We hope to release an new driver version on Intel.com shortly fixing these installer issues.

Regards,
Petter 

0 Kudos
kyviquel
Beginner
735 Views

Hi Petter,

I uninstall then reinstall my driver to have the good version of Media SDK DLL/diriver, you now can see in the log that I use the 57405 version but I still repro the MFX_ERR_DEVICE_FAILED on the SyncOperation().

Please see the attached file.

 

Thanks

Karine

0 Kudos
Petter_L_Intel
Employee
735 Views

Hi Karine,

Thanks for reporting the result. I'm surprised to hear that you still encounter the device failure issue.

I did try the same vpp+encoder workload config here yesterday and did not see any issues. I did this by making some slight modifications to the Media SDK tutorial sample from here: http://software.intel.com/en-us/articles/intel-media-sdk-tutorial-simple-6-encode-d3d-vpp-preproc

Could you please try to see if you can replicate the same issue on your machine my making appropriate modifications to that tutorial sample? By doing this we can try to isolate if this is somehow machine dependent or something related to the way your application is using Media SDK and the HW.

Regards,
Petter 

0 Kudos
kyviquel
Beginner
735 Views

Hi Petter,

I used the simple_6_encode_d3d_vpp_preproc sample app to reproduce the issue and  I found what I do wrong.

The problem was in the allocation surface, see following code if you want to repro:

if( EncRequest.NumFrameSuggested < VPPRequest[1].NumFrameSuggested )    

{ memcpy(&(EncRequest), &(VPPRequest[1]), sizeof(mfxFrameAllocRequest)); }  <- this is the problem in my case

// Determine the required number of surfaces for VPP input and for VPP output (encoder input)    

mfxU16 nSurfNumVPPIn = VPPRequest[0].NumFrameSuggested + 1;    

mfxU16 nSurfNumVPPOutEnc = EncRequest.NumFrameSuggested +1;

VPPRequest[0].NumFrameSuggested = nSurfNumVPPIn;    

EncRequest.NumFrameSuggested = nSurfNumVPPOutEnc;

Now I do change my code to do:

mfxU16 nSurfNumVPPOutEnc = EncRequest.NumFrameSuggested + VPPRequest[1].NumFrameSuggested;

And it works.

Thanks for your help.

Karine

0 Kudos
Reply