- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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?
コピーされたリンク
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
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
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
cpu: i5 8400 / i9 9900
gpu: Intel® UHD Graphics 630
code: https://gist.github.com/KeloCube/0e56ba7f2c5729223483147eb35d9cc7
issue:
resource leaks when stopped.
It's normal on amd and nvidia gpu。
