Adding @defgroup and @ingroup doxygen tags into all headers
in the common folder that contain doxygen blocks.
This improves the structure, readability, and findability
of information in the resulting output.
This commit targets purely structure and does not deal with
the content of the currently existing doxygen documentation.
This removes the large static tables from the binary (which saves 500K
to 1Mb of binary size) and replaced them with a class which generates
the required tables as needed in RAM. This has been tested with QDM2
and shows no obvious performance degredation and Memprof shows no
significant rise in RAM usage.
The math utility classes in Common are now used by more than just Bink
Video i.e. Huffman is used by SVQ1, RDFT by QDM2 etc. so need to remove
conditional inclusion of objects in the Common Library.
This was done as these functions are very large wrt. binary size.
This is mainly due to the sine, cosine and log tables which should be
reconsidered as to whether these are needed or can be replaced by
standard sin()/cos() calls.