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.

Quick Sync Video H.264 Encoder MFT resource leak

Steinhour__Wayne
Beginner
246 Views

I am trying to use the Quick Sync Video H.264 Encoder MFT on Windows 10 to do hardware-accelerated encoding.  I find that if I set the IMFDXGIDeviceManager on the transform, I get indication of resource leaks (live objects) when I exit my application.  I suspect that I may not be shutting the encoder down properly.  When I shut down, I do this:

1. Send the MFT_MESSAGE_COMMAND_DRAIN command (via ProcessMessage).

2. Respond to the METransformDrainComplete event notification by sending the MFT_MESSAGE_COMMAND_FLUSH message.

3. Set the input type and output type for the transform to NULL.

4. Call Release on the IMFTransform interface that I use to control the encoder transform.

Is there more that I should be doing to shut down the encoder and cause it to free all of the resources it is hanging on to?

 

0 Kudos
3 Replies
Mark_L_Intel1
Moderator
246 Views

Hi Wayne,

QSV supports MFT, so to close the encoder, it should follow the standard MFT rule.

I have submitted a request to dev team but could you double check your code to see if it satisfies the MFT protocol? Basically you should use the same rule to run software encoding without leak.

Mark 

Steinhour__Wayne
Beginner
246 Views

Mark,

I'm not sure what you mean by "standard MFT rule" or "MFT protocol".  Could you point me toward some documentation or example code?

Wayne

Mark_L_Intel1
Moderator
246 Views

Hi Wayne,

If you use the other codec, you will still have to close encoder and release resources. So I meant you could check if MFT has the standard way to release resources like encoder.

I will send you update when I got response from dev team.

Mark 

Reply