[PATCH] Mark all the constant tables as constant
The current status of libvorbis (and especially of libvorbisenc) is not one of the best for shared libraries, as it contains a lot of static and non-static non-constant tables, which are never ever modified.
I'm attaching a patch that marks all the tables as constant, so that they can be moved to .rodata and thus reduce the memory occupation of libvorbis and libvorbisenc. In particular, libvorbisenc had over 1.5MB of non-constant tables, which are now all constant.
The patch applies fine over current SVN trunk, although it cause an huge amount of warnings at the moment because a lot of structures request a "foo*" rather than "const foo*" even when they don't modify the content. Also functions don't always request "const foo*", so there are quite a few warnings thrown in for that too.
I fixed quite a few of them, but I just couldn't fix all of them at once, the size of the patch is already massive, and I risked to have it fail on SVN if I started fixing all of them. Please don't reject the patch for that, as it would be nitpickery against a fix that's very much useful.
If you want, after you applied this patch I can prepare a new one to shut up the warnings.