How much of code deletion comes from switching to a two-step mapping between DirectShow and Media Foundation formats, versus changing the format we pass over the wire?
I don't know? Most of it?
Are the DirectShow <-> Media Foundation conversions perfectly lossless in both directions, for all compressed and uncompressed types? Are they correct (i.e. even if they're lossless, how much do we have to fix up the types afterward)? If not, what differences and pitfalls are there exactly?
Media foundation can express more information than DirectShow formats, which is also why MFVIDEOFORMAT is used internally.
There's some fixups to be done with MPEG formats, because they are converted to some specific MF attributes (instead of MF_MT_USER_DATA), but it's not a big deal to fixup.
Other than that there's AM_MEDIA_TYPE fields that sometimes differ from what the component expose, but we had some fixups already depending on the frontends, so it doesn't change much.
(Also, why rename wg_format to wg_media_type?)
It just makes the transition easier.