Multimedia Framework Products (MFP) - Codec Engine, Framework Components and XDAIS




Multimedia Framework Products (MFP)

A major advantage of programmable signal processors over fixed-function devices is their ability to accelerate multiple multimedia functions and provide flexible environments to enable user customization. However, sharing scarce embedded hardware resources between different algorithms (including codecs), as well as between multiple instances of the same algorithm, can be challenging. Systems can be further complicated when algorithms are independently provided by different vendors.


The Multimedia Framework Products (MFP) is a collection of related software components, including TI's XDAIS algorithm standard, Framework Components, Linux Utils, WinCE Utils, and Codec Engine. TI's XDAIS algorithm standard provides the rules and guidelines necessary to solve these integration problems. The additional products in the MPF suite build on this standard to provide scalable services that insulate higher-level applications and frameworks from these complexities.


The MFP components are available independently, as different customer use cases enter the SW stack at different locations, and may or may not require the complete MFP solution. The upper layer products (e.g. Codec Engine and Framework Components) include distributions that contain the underlying components as a convenience. Extensive documentation is provided in the various MFP product Wikis referenced here; in particualr, see Codec Engine FAQ.


If you are looking for the complete MFP Suite, you should download the CE release that includes the 'cetools' directory. Check the CE Release Notes for the exact versions of subcomponents that are included in the cetools/ directory.


Multimedia Framework Products MFP

MFP is completely open source.  It is distributed under the BSD license (with the exception of kernel mode Linux drivers in the Linux Utils product, which are licensed under GPLv2), and is freely available from TI.

    TI's well-proven eXpressDSP Algorithm Interoperability Standard, known as XDAIS, provides the rules and guidelines necessary to enable integration and execution of algorithms (including codecs).  It provides C/C++ compatible headers for defined interfaces which can algorithms implement and application invoke. These interfaces enable algorithms to safely share resources, including memory, DMA, and other hardware accelerators.  Examples and tooling are also provided.
    Wiki: XDAIS

  • HLOS: Linux Utils and WinCE Utils
    High Level Operating Systems (HLOS) such as Linux and WinCE don’t allow direct access to hardware resources often needed for efficient implementation of algorithms and codecs. Linux Utils and WinCE Utils provide user mode access to these resources. Since accelerators and DSPs generally lack a MMU, one critical feature provided is the ability to allocate physically contiguous memory (CMEM) for data used by algorithms and codecs.
    Wiki: Linux Utils 
    Wiki: WinCE Utils

  • Framework Components
    XDAIS provides interfaces for algorithm management and resource sharing. Framework Components (FC) provides low-level libraries that utilize these XDAIS interfaces for creating, using, and deleting algorithms (DSKT2), as well as managing resources for them (RMAN and DMAN3). This enables users to quickly create a customized, XDAIS-compliant framework.
    Wiki: Framework Components|

  • Codec Engine
    Codec Engine builds on the products in the MFP suite, and provides a complete out-of-the-box framework that enables users to use XDAIS algorithms and codecs with minimal coding.
    A unique feature is that the algorithms it manages can be ‘local’ (on the same processor as the application) or ‘remote’ (on a different processor than the application), further insulating the application from the hardware on which it’s executing. It supports WinCE and Linux, and has been ported to multiple other Operating Systems.

    CE supports concurrent execution of multiple channels and codecs. It does not provide A/V synchronization or manage application I/O, but rather accepts and delivers elementary audio and video streams. Codec Engine is designed to be used in conjunction with higher layer frameworks or middleware that provide a/v synchronization, video port and disk I/O, or network streaming while calling Codec Engine's APIs for actual encoding, decoding, and processing. This approach enables system providers to easily differentiate their applications while still leveraging Codec Engine.
    Wiki: Codec Engine

What's Included


Technical documents are provided in each product, as well as via the related TI Embedded Processor Wiki sites.

Download View video with transcript Video


Application software & framework


Supported products & hardware
Application software & framework


Supported products & hardware
Application software & framework


Supported products & hardware
Application software & framework


Supported products & hardware
Application software & framework

MFP-XDAIS TI eXpressDSP Algorithm Interoperability Standard Developers Kit

Supported products & hardware
Application software & framework

TMDMFP Multimedia Framework Products (MFP) - Codec Engine, Framework Components and XDAIS

Supported products & hardware

Supported products & hardware

Digital signal processors (DSPs)
TMS320DM335 Digital Media System-on-Chip (DMSoC) TMS320DM355 Digital Media System-on-Chip (DMSoC) TMS320DM357 Digital Media System-on-Chip (DMSoC) TMS320DM6431 Digital Media Processor TMS320DM6431Q Digital media processor, up to 2400 MIPS, 300 MHz clock rate TMS320DM6433 Digital Media Processor TMS320DM6435 Digital Media Processor TMS320DM6435Q Digital media processor, up to 4800 MIPS, 600 MHz clock rate, 1 McASP, 1 McBSP TMS320DM6437 Digital Media Processor TMS320DM6437Q Digital media processor, up to 4800 MIPS, 600 MHz clock rate, 1 McASP, 2 McBSP TMS320DM6441 DaVinci Digital Media System-on-Chip TMS320DM6443 DaVinci Digital Media System-on-Chip TMS320DM6446 DaVinci Digital Media System-on-Chip TMS320DM6467 Digital Media System-on-Chip TMS320DM647 Digital Media Processor TMS320DM648 Digital Media Processor

Technical documentation

No results found. Please clear your search and try again.
View all 4
Type Title Date
Application note Using DMA with Framework Components for C64x+ (Rev. A) 29 Oct 2007
User guide Codec Engine Server Integrator's User's Guide (Rev. B) 30 Sep 2007
User guide Codec Engine Algorithm Creator User's Guide (Rev. C) 30 Sep 2007
Application note Using Adapters to Run Existing xDAIS Algorithms with Codec Engine (Rev. B) 20 Feb 2007

Related design resources

Software development

TMDXDAISXDM eXpressDSP Algorithm Standard – xDAIS Developer’s Kit and xDM

Support & training

TI E2E™ forums with technical support from TI engineers

View all forum topics

Content is provided "as is" by TI and community contributors and does not constitute TI specifications. See terms of use.

If you have questions about quality, packaging or ordering TI products, see TI support.