I'm working on encoding raw images into avi file on windows possibly using directshow filter. The type of codec used will be selected by user. I've already done a similar thing using video for windows (VFW) which was pretty as it provide simple api to compress the data and write it to a file. This time i want to do this using directshow framework to provide directshow support.
However while checking on MSDN I found there different types of filters for different codecs, so there is no single interface. http://msdn.microsoft.com/en-us/library/windows/desktop/dd375464(v=vs.85).aspx Do I need to switch between different filters each time I switch codec.
Also how DMO is different from Directshow as per MSDN they too can be used for encoding. http://msdn.microsoft.com/en-us/library/windows/desktop/ff819088(v=vs.85).aspx
So which should I use to support maximum number of codecs?
Please share you thoughts.
Different codecs are available with different interfaces because over the course of API developments where have been several APIs.
So the math is that in DirectShow you have most encoders available out of the box.
Other factors like codec specificity and applicability, encoding/container constraints, and the fact decent encoders are not typically freely available - this all seriously limits the use and value of approach when you design an app in a way that it can work with various video encoders of user choice, through standard well known interface/API.