Videoguy asks in a comment:
"Is there yet more specific information about MIL around?
I mean it looks like Avalon uses MIL to interact with the media elements. Is MIL using
Quartz (through DX?) on both XP and Longhorn or something else? Can you elaborate
on why MIL lives apparently on a native DLL?
If there's some presentation coming or that already answers these questions I'll gladly
take a pointer to such too."
Quartz is a Mac OS/X feature, so I think we can rule that out on Windows ;-)
As for the rest, there are two definitions of "MIL" for Avalon. MIL standads for the
"Media Integration Layer", and typically refers to either the set of technology that
our MIL team produces, or the set of technology that resides in MILCORE.DLL.
MILCORE.DLL is the unmanaged composition engine that Avalon uses for rendering. It
is a layer above Direct3D, giving us basic 2D, 3D, Animation, and Composition services
(probably a few others i'm forgetting to mention also). The composition engine is
unmanaged primarily for interop/performance reasons. The composition engine spends
most of it's time talking to Direct3D. In addition, there are multiple customers of
the composition engine, including some that can't take a managed code dependency right
now.
There is also another unmanaged DLL, WindowsCodecs.dll, which houses all the unmanaged
implementation of our imaging codecs - BMP, JPG, etc.
The rest of the core that the MIL team produces lives in PresentationCore.DLL. This
is the low level APIs of Avalon, dealing with the base Visual system (2D, 3D, etc.)
that is a combination of wrappers ontop of MILCORE.DLL, and a set of value add features
written in managed code. Also in the Core is the base implementation for UIElement
and ContentElement - the roots our our display element and typographic hierarchies.