Hi, I'd like to use the H264 encoder/decoder codecs in a commercial app. Have a few questions which I was unable to find a definitive answer to in the docs...
1. Am I free todistribute directshow codecs from the Media SDK? 2. What is required for the codecs to use hardware when doing H264 encoding / decoding and video playback. Or, put another way, what graphics hardware or CPU hardware would typically be required to use hardware accellerated H264 encoding/decoding and what hardware would be required to get hardware accellerated playback? My playback graph looks like Async Reader -> Intel Mp4 splitter -> Intel H264 decoder -> EVR. 3. Is the playback hardware accelleration purely to do with the Microsoft EVR and the graphics drivers or does that involve Intel also?
anyadvice or pointers to the appropriate documentation would be helpful, thanks.
1. You are free to use the Media SDK sample code or modified code as a binary part of your product. There are however some caveats. If you are using sample code and dispatcher library from Media SDK 2.0 package there are no issues. But if you are basing development on Media SDK 3.0 beta (samples and lib) then you cannot release a binary externally as a product. This restriction will of course be lifted as soon as Media SDK 3.0 leaves beta and gets released as a production version. You can find more info in the Media SDK EULA, part of the Media SDK package.
2. Hardware encode is only supported on current generation of Intel platforms (2nd generation Intel Core processors, also code named Sandy Bridge). Hardware decode is supported starting fromIntel GMA 4500 HD, Intel HD Graphics and oncurrent generation of Intel platforms (2nd generation Intel Core processors, also code named Sandy Bridge). If hardware acceleration is not available, you can fall back on software implementation on all platforms.
3. The DirectShow filters samples have only been validated with EVR. There are no guarantees that they will work with any other renderer without modification to the sample. EVR is a component of Microsoft, we cannot tell you what operations are hardware accelerated by EVR.