eXpressDSP Algorithm Standard – xDAIS Developer’s Kit and xDM
TMDXDAISXDM, Status: ACTIVE
Texas Instruments
DescriptionDescriptionFree software required for specialized functionsSupport SoftwareTechnical Documents: app notes, user guides, models, block diagrams, and product bulletinsTechnical Documents
FeaturesFeaturesInformation on available updatesAvailable UpdatesOrderingOrder Options
What's Included: A list of the items you receive when you order this toolWhat's IncludedA list of any known compatability issues for this toolCompatibility IssuesRelated devices and tools/softwareRelated Products


  TMDXDAISXDM
NameeXpressDSP Algorithm Standard – xDAIS Developer’s Kit and xDM 
StatusACTIVE  
Price (US$) 
OS  N/A 

Product Information
Back to TopDescription

xDAIS and xDM

The eXpressDSP™ Algorithm Interoperability Standard (xDAIS) and the eXpressDSP Digital Media (xDM) standard fully leverage the ability of DSPs to perform a wide range of multimedia functions on a single device. eXpressDSP compliance is achieved by adhering to these standards. To deliver today’s multifunction DSP-based applications, systems providers must often acquire algorithms from multiple sources and then integrate them together into a working whole. A key factor that determines "time to revenue" is how quickly these different algorithms can be made to work together.

The xDAIS and xDM standards provide a set of coding conventions and application programming interfaces (APIs) that enables algorithms to be integrated much more quickly. xDAIS eliminates problems caused by algorithms implementing hard-coded access to system resources that must be shared with other algorithms. xDM specifies a standard API for the application to call a particular algorithm class (see below for explanation of algorithm class), enabling an integrator to quickly change to algorithm from a different source if different functionality or performance is required. The APIs defined in the xDM standard are also referred to as the VISA (video, imaging, speech and audio) APIs.

By establishing standards for algorithms used on TI DSPs, TI benefits both algorithm providers and systems integrators. Because algorithms from third parties can be easily integrated by OEMs using TI DSPs and software frameworks, the market for third-party algorithms increases. Likewise, algorithm standardization increases the quantity and quality of algorithms available for use by OEMs. To assist developers in producing compliant algorithms, TI provides tools and frameworks for creating and testing standardized algorithms.

xDAIS and xDM Advantages
  • Well-established standard first introduced in 1999 proven in numerous applications
  • Significant reduction in integration time as algorithms do trash each others resources
  • Easy comparison of algorithms from multiple different sources in the same application
  • Access to broad range of compliant algorithms available from multiple TI DSP Third Parties eliminates need to custom develop complex algorithms
  • Algorithms work out-of-the-box with eXpressDSP Multimedia Framework Products, such as Codec Engine

How to Create and Verify an eXpressDSP-compliant algorithm - See below.



Back to TopFeatures

xDAIS and xDM Technical Overview eXpressDSP Digital Media (xDM) standard - The xDM standard defines APIs through which an application invokes a particular class of codec, such as video decode or audio encode. xDM APIs are defined for the following codecs classes:
  • Video decode
  • Video encode
  • Image decode
  • Image encode
  • Speech/Voice decode
  • Speech/Voice encode
  • Audio decode
  • Audio encode
By standardizing these APIs, xDM enables an application framework to support multiple codecs of the same type without extensive modification. For example, a portable media player might need to play a mix of AAC, MP3, and WMA-encoded tracks. Using xDM, the framework developer can create a single audio decode task that can invoke which ever decoder is needed for the track selected by the user, rather than having to have multiple task each designed to handle the custom requirements of each audio codec. In addition, it is straightforward for developers to change from one MP3 decoder to another, for example, when evaluating which codec is the best for their system. eXpressDSP™ Algorithm Interoperability Standard (xDAIS) - The xDAIS standard is designed to enable multiple algorithms to coexist in an application by preventing 'hard-coded' use of critical system resources, such as memory and DMA, in the algorithm. In contrast, the algorithm must implement two interfaces (IALG and IDMA; see definitions below) that are then queried by the application framework to determine the memory and DMA needs of the codec:
  • IALG provides an interface the application framework queries for use of memory resources. IALG enables sharing of scratch memory between algorithms that will not preempt each other. This allows more efficient use of memory since total scratch memory requirements may be reduced.
  • IDMA3 provides an interface the application framework queries for use of EDMA3 resources on TMS320C64x+™ DSP core-based devices. Algorithms can request dedicated EDMA3 resources that they always own or dynamically share a pool of DMA channels with other algorithms. Please note that IDMA3 should not be confused with the IDMA HW on the C64x+ DSP core-based devices. IDMA3 does not use or program the IDMA HW. C64x+DSP core-based devices include:
    • TMS320C6455-850
    • TMS320C6455-750
    • TMS320C6455-1000
    • TMS320C6454-850
    • TMS320C6454-720
    • TMS320C6454-1000
    • TMS320DM6441
    • TMS320DM6443
    • TMS320DM6446

The framework can then ensure that the resources granted are not already in use by another algorithm. As a result, it is easier to reuse algorithms that are eXpressDSP compliant, especially when utilizing algorithms from multiple sources.

In addition to the resource sharing interfaces, xDAIS also specifies 46 "common sense" coding guidelines that algorithms must implement, such as being reentrant or avoiding C programming techniques that are prone to introducing errors.

For full details of xDAIS and xDM APIs and coding conventions, please download the xDAIS Developer’s Kit.

xDAIS Developer’s Kit - Download

The xDAIS developer’s kit is an eXpressDSP software component for algorithm developers who want to implement the interfaces of the xDAIS and xDM standards. The xDAIS Developer’s Kit provides the header files, specifications, and documentation needed to implement xDAIS-compliant algorithms.

xDAIS Developer’s Kit v5.21 includes the following:

  • XDAIS and xDM Core Content: This includes standard headers (ialg.h, etc), sample algorithms and algorithm API headers and libraries
  • DSP Platform Support: The C64x+ DSP core-based devices are fully supported.
  • Previous versions: For versions of the xDAIS Developer’s Kit that support the TMS320C2000™ and TMS320C5000™ DSP platform, as well as other devices in the TMS320C6000™ DSP platform
  • Technical Documentation: The latest xDAIS and xDM standard documentation, application notes and getting started guides
    • TMS320 DSP Algorithm Standard API Reference - spru360e
    • TMS320 DSP Algorithm Standard Rules and Guidelines - spru352g
    • Technical Overview of eXpressDSP-Compliant Algorithms for DSP Software Products - spra579c
    • Using the TMS320 DSP Algorithm Standard in a Dynamic DSP System - spra580b
    • Writing a C Callable Assembly Function Using the TMS320C2000 - spra590
    • Using the TMS320 DSP Algorithm Standard in a Static DSP System - spra577
    • Using DMA with Framework Components for C64x+ - spraag1
    • Using External References in eXpressDSP-Compliant Algorithms - spra929
    • xDM User’s Guide - spruec8b
    • Codec Engine Algorithm Creator User’s Guide - sprued6b
    • Codec Engine Server Integrator’s Guide - sprued5a

How to Create and Verify an eXpressDSP-Compliant Algorithm

How to create and verify an algorithm that complies with xDAIS and xDM

Third-party algorithm providers and system integrators who wish to have their algorithms comply with the eXpressDSP standards need to perform to main steps:
  • Ensure their algorithm complies with the rules and API definitions specified in the xDAIS Developer’s Kit
  • Test their algorithms function in the Codec Engine framework. Codec Engine requires eXpressDSP-compliant algorithms
These steps are described in more detail below, along with links to appropriate documentation.


Before You Begin: Download the Codec Engine, Framework Components and the xDAIS Developer’s Kit to get started, as these contain all relevant specifications, documentation, and examples.

How to modify your algorithm to comply with xDM and xDAIS

Algorithm developers will need to perform three main steps to create an algorithm that is compliant with xDAIS and xDM:

  • Review the coding guidelines and ensure that the algorithm code meets these. The coding guidelines are described in spru360.pdf and spru352.pdf
  • Eliminate all direct access by the algorithm to physical resources such as memory, DMA, or I/O peripherals. Memory and DMA resources must be requested through the framework using the IALG and IDMA3 interfaces. The IALG and IDMA3 interfaces are documented in spru360.pdf and spru352.pdf. For additional information on use of IAGL, please refer to spra579.pdf, spra580.pdf, spra590,pdf, and spra577.pdf. For additional information on IDMA3, please refer to spraag1.pdf. Any other peripheral access must be moved out to the framework with the algorithm simply operating on data buffers. If there are some additional hardware resources, such as timers or accelerators, that an algorithm must refer, please refer to spra929.pdf for guidance on this.
  • Make the algorithm support the xDM APIs for invocation. The xDM APIs are documented in spruec8.pdf
How to test your algorithm in Codec Engine for xDM and xDAIS compliance
    In addition to completing the steps listed for xDAIS and xDM compliance list above, developers must do the following steps:
  • Wrap the algorithm in an XDC package so it conforms to the ICODEC package interface and directory naming conventions. The process for doing this is described in sprued6.pdf.
  • You should then select the appropriate example from the examples directory. For an audio decoder, you would select the audio decode example. To simplify the test process, you should execute the codec locally on the DSP. To do this, chose the local.cfg file and replace the name of the copy codec used in the example with your own codec. You can use the in.dat file to provide input data for testing.
  • If you wish your codec to be used on ARM-DSP devices such as the DM6446, you must also test your codec in a remote execution configuration by creating a DSP server. The guidelines for creating a DSP server are found in sprued5.pdf.

Refine Your Selection

- Getting Started


Support

- KnowledgeBase

- Contact Technical Support

- Training

- Discussion Groups

- Bug List



Customer Tags - What's This?


Most Popular Tags for TMDXDAISXDM:

- xdais (3)

- digital media software (2)

- xdm (2)

- xin (2)

- View All Tags


Create a Tag


Clear.gif

Technical Documents
Back to TopUser Guides
Codec Engine Algorithm Creator User's Guide (Rev. C)  (sprued6c.htm, 8 KB)
30 Sep 2007  Abstract
Codec Engine Server Integrator's User's Guide (Rev. B)  (sprued5b.htm, 8 KB)
30 Sep 2007  Abstract
TMS320 DSP Algorithm Standard API Reference (Rev. E)  (spru360e.htm, 8 KB)
20 Feb 2007  Abstract
TMS320 DSP Algorithm Standard Rules and Guidelines (Rev. G)  (spru352g.htm, 9 KB)
20 Feb 2007  Abstract
XDAIS-DM (Digital Media) User Guide (Rev. B)  (spruec8b.htm, 8 KB)
31 Jan 2007  Abstract
Back to TopApplication Notes
Using DMA with Framework Components for C64x+ (Rev. A)  (spraag1a.htm, 8 KB)
29 Oct 2007  Abstract
Using External References in eXpressDSP-Compliant Algorithms (Rev. A)  (spra929a.htm, 8 KB)
31 Aug 2003  Abstract
Technical Overview of eXpressDSP-Compliant Algorithms for DSP Software Producers (Rev. C)  (spra579c.htm, 9 KB)
30 Aug 2002  Abstract
Using the TMS320 DSP Algorithm Standard in a Dynamic DSP System (Rev. B)  (spra580b.htm, 8 KB)
30 Nov 2000  Abstract
Using the TMS320 DSP Algorithm Standard in a Static DSP System (Rev. B)  (spra577b.htm, 9 KB)
30 Nov 2000  Abstract
Writing a C Callable Assembly Function Using the TMS320C2000  (spra590.htm, 8 KB)
16 Aug 1999  Abstract

Related Products
Back to TopRelated Software
Name Part# Company Software Type
AAC HE and LC Audio Decoder TMDAACD Texas Instruments Algorithms / Codecs 
AAC HE and LC Audio Encoder TMDAACE Texas Instruments Algorithms / Codecs 
AC-3 Audio Decoder TMDAC3D Texas Instruments Algorithms / Codecs 
H.264 Video Decoder TMDH264D Texas Instruments Algorithms / Codecs 
H.264 Video Encoder TMDH264E Texas Instruments Algorithms / Codecs 
JPEG Imaging Decoder TMDJPEGD Texas Instruments Algorithms / Codecs 
JPEG Imaging Encoder TMDJPEGE Texas Instruments Algorithms / Codecs 
MP3 Audio Decoder TMDMP3D Texas Instruments Algorithms / Codecs 
MP3 Audio Encoder TMDMP3E Texas Instruments Algorithms / Codecs 
MPEG-2 Video Decoder TMDMPEG2D Texas Instruments Algorithms / Codecs 
MPEG-2 Video Encoder TMDMPEG2E Texas Instruments Algorithms / Codecs 
MPEG-4 Video Decoder TMDMPEG4D Texas Instruments Algorithms / Codecs 
MPEG-4 Video Encoder TMDMPEG4E Texas Instruments Algorithms / Codecs 
WMA8 Audio Encoder TMDWMA8E Texas Instruments Algorithms / Codecs 
WMA9 Audio Decoder TMDWMA9D Texas Instruments Algorithms / Codecs 
WMV9 VC1 Video Decoder TMDWMVD Texas Instruments Algorithms / Codecs 
WMV9 VC1 Video Encoder TMDWMVE Texas Instruments Algorithms / Codecs 
Network Developer's Kit (NDK) TCP/IP Stack TMDSNDK Texas Instruments Drivers / IO / Control Software 
Multimedia Framework Products (MFP) - Codec Engine and xDAIS Framework Components TMDMFP Texas Instruments Framework Software 
Windows CE SDK - BSP, OSAL, examples, without OS binary image TMDWIN-CE Texas Instruments Operating Systems (OS/RTOS) 
Back to TopRelated Tools
Name Part# Company Tool Type
DM6437 Digital Video Development Platform TMDXVDP6437 Texas Instruments Development Platforms 
Digital Video Software Development Kit, based on DaVinci™ Technology TMDSSDK6446 Texas Instruments Development Platforms 
Back to TopRelated Devices
Part# Name Product Family
TMS320C6454 Fixed-Point Digital Signal Processor C6000™ High Performance DSPs 
TMS320C6455 Fixed-Point Digital Signal Processor C6000™ High Performance DSPs 
TMS320DM6431 Digital Media Processor DaVinci™ Digital Media Processors 
TMS320DM6433 Digital Media Processor DaVinci™ Digital Media Processors 
TMS320DM6435 Digital Media Processor DaVinci™ Digital Media Processors 
TMS320DM6437 Digital Media Processor DaVinci™ Digital Media Processors 
TMS320DM6441 DaVinci Digital Media System-on-Chip DaVinci™ Digital Media Processors 
TMS320DM6443 DaVinci Digital Media System-on-Chip DaVinci™ Digital Media Processors 
TMS320DM6446 DaVinci Digital Media System-on-Chip DaVinci™ Digital Media Processors