Hantro provided the physical IP core (Verilog/VHDL files), as well as the software codecs (ANSI-C) for Freescale's MPEG4 system. The MX21's implementation is a hardware codec, it's a lot faster and more efficient than running the code in software; all you have to do is provide the software that gets your data into the codec for decoding, and from the codec to the framebuffer. Freescale also wrote some pre- and post-processing hardware functions to make your video look better, but it's optional, and you can write directly to the encode/decode units.
Hantro provides the software codec for chips like the MX1 which do not include the hardware MPEG module.
The middleware to playback video (via the hardware OR software codecs) is available from Hantro, but you're probably going to pay through the nose for it. You can also license the software or the hardware implementation of their MPEG4 codec from them directly.
The only advantage of going with the MX31 in this department is that you get MPEG4 h.264 out of the box, in hardware, with the added expense of the chip and respining the platform. The chip's got a lot of cooler functionalities, but the MX21 is a very well rounded SoC for a media device.