I am writing a DirectShow application in Visual C++ (Visual Studio 2010) and would like to support hardware accelerated encode and decode using Intel's Media SDK. I've only just begun to look into this but it seems that I will be able to create a DirectShow encoder or decoder filter to encapsulate the QuickSync hardware acceleration. However the Intel Media SDK does not include a MUX.
What I need is a DirectShow filter to multiplex video and audio streams to a MPEG-2 program stream file. I know that I can purchase third-party mux filter, but I'm also interested in the possibility of using the IPP package to do this. Ideally I would like a DirectShow mux filter that can just be dropped into my project with minimal effort.
Can IPP be used to create such a DirectShow filter? If yes, then is there a lot of work involved in creating the filter or is most of the DirectShow mux functionality provided with the IPP package?
It would be helpful to get some idea of how much work would be involved in using IPP for this purpose before I invest a lot of time learning about it.
IPP samples contains Mux/Demux implementations. You can utilize them in your code, you'll need to develop a direct show transform filter, by implementing the filter interface, in/out pin interfaces along with the media-type negotiation operations; your filter should be calling the De/Mux functionality internally.