As far as I know, there is no plan to develop C# interface to Media SDK yet.
But this is a good time to discuss so we might have some feedback to the develop team.
Thanks Mark for the reply.
It is a common believe that WPF/C# is better tool for GUI development. The people who are good at GUI design are artists, and don't want to know anything more about video decoding and rendering.
Now we want to design good GUI with all the WPF features and display video from custom video bitstream source.
So the requirements are as follows:
1. No need to expose the entire Intel Media SDK pipeline at every step. Only need to expose the mechanism to feed encoded bit stream. The decoded video gets rendered on WPF user control directly utilising the GPU memory. The user should not be exposed to handling the Window handles.
2. Is there any better GUI development option other than WPF/C# in windows?
3. I do not know the efficiency of hardware decoding through Windows Media Foundation pipeline.
Thanks for the good feedback,
I have submitted the issue and I am not sure if C# is in the scope yet. But if not, would MFT works for you? I think we have some enabling around MFT.
MFT would do for now. Can you point me to that example?
Does it have same efficiency? Same asynchronous operation? I believe this MFT integration is via DXVA2.
Yes, I will.
I believe MFT should go to the media runtime and skip MFX library, it should have the same efficiency.
Specifically, I will check if we have an example for decoding + rendering by MFT while Intel HW acceleration must be enabled.
I checked and we don't have particular examples except MFT examples. Since this is basically Microsoft's domain, you should be able to find a lot of example there.
I don't have a lot of background on WPF so I am not sure how WPF works with MFT. The other document you might check is high level API for Multimedia in C# like MediaPlayer. AFAIK it also uses MFT inside.
Hope this helps.
Sorry for the long delay of the request to C# support.
This request was tracked internally so I discussed with dev team. Here is what we decided: