Tried adding new codecs to 7z format via 7z.dll, and it seemed to work easily enough,
so here it is.
This is a source example with ppmd_sh added:
There're build scripts for IntelC and gcc/mingw, although gcc case didn't work out
completely, for some reason - I had to fix a few things in the sources to even compile it,
and now it compiles, but basically only the 7z format and ppmd_sh in it actually work.
I suspect its somehow related to the way new codecs and archive formats are defined there
(via array initializers).
Anyway, _ppmdsh\ppmdsh_Codec.cpp contains all the code required to integrate
basically any codec into 7z.dll. There's the Code() function which implements the codec
using Read() and Write() and SetCoderProperties() function which accepts the codec parameters
from commandline parser.
I also have a version with both ppmd_sh and plzma, and x64 one: