Topic: New CPU choice

From other posts I see that a new CPU is under consideration. Are there any updates on this? I've been looking at the MX31L for it MPEG4 capabilities. It would be cool to stream video to a chumby for display and the MX31L appears capable of doing that. The Freescale site mentions that libraries exist for doing simultaneous MPEG4 encode/decode on the MX31L. How are libraries like that licensed? Do any of the other CPUs being consider have MPEG4 capabilities?

Re: New CPU choice

The MX21 has an MPEG4 decode unit (h.263) [secret: it also has a encode, pre- and post-processing unit as part of its eMMA wink]. The Chumbian's chose not to go ahead with implementing the software necessary to drive the unit because they're not sure if they're actually going to go with this chip or not (yet). It should be possible to stream video to a Chumby running one of these processors if you implemented the software to drive this hardware module. The ugly details of how to drive the unit are located in Chapter 32 of the i.MX21 Reference Manual (located in PDF form here: http://www.freescale.com/files/32bit/do … MX21RM.pdf ; on this machine it's around page 835). It's also unclear to me if a Linux driver for this unit has already been created (the BSP might have one, in which case it would be much easier to use, interfacing with an existing kernel module rather than making your own kernel module and then building your application to interface with it).

Hope that helps.

Re: New CPU choice

This indicates that freescale licensed MPEG support from Hantro. Does that imply that a license for MPEG encode/decode software comes with the chip? Where do you get the codecs?

http://www.freescale.com/files/32bit/do … NTROWP.pdf

Re: New CPU choice

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.

Re: New CPU choice

awalton wrote:

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.

Chumby is Linux so V4L would be the middleware. How much code is needed (and how hard to write) to get from the hardware to a V4L driver? Is the full MPEG4 codec there or is it a hardware assist skeleton that still needs high performance assembly language (and detailed knowledge of MPEG) to glue the helper pieces together.

An application for this would be viewing a recorded show from a MythTV server over a UPNP AV stream.