TMDXDAISXDM

eXpressDSP 算法标准 – xDAIS 开发者套件和 xDM

TMDXDAISXDM

下载

概述

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.

特性
xDAIS and xDM Technical OvervieweXpressDSP 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.
下载 观看带字幕的视频 视频

下载

软件编解码器

TMDXDAISXDM eXpressDSP 算法标准 – xDAIS 开发者套件和 xDM

支持的产品和硬件

支持的产品和硬件

数字信号处理器 (DSP)
TMS320C6454 C64x+ 定点 DSP - 高达 1GHz、64 位 EMIFA、32/16 位 DDR2、1Gbps 以太网 TMS320C6455 C64x+ 定点 DSP - 高达 1.2GHz、64 位 EMIFA、32/16 位 DDR2、1Gbps 以太网 TMS320DM6431 数字媒体处理器 TMS320DM6431Q 数字媒体处理器,性能高达 2400MIPS、300MHz 时钟速率 TMS320DM6433 数字媒体处理器 TMS320DM6435 数字媒体处理器 TMS320DM6435Q 数字媒体处理器,性能高达 4800MIPS、600MHz 时钟速率、1 个 McASP、1 个 McBSP TMS320DM6437 数字媒体处理器 TMS320DM6437Q 数字媒体处理器,性能高达 4800MIPS、600MHz 时钟速率、1 个 McASP、2 个 McBSP TMS320DM6441 达芬奇数字媒体片上系统 TMS320DM6443 达芬奇数字媒体片上系统 TMS320DM6446 达芬奇数字媒体片上系统

技术文档

未找到结果。请清除搜索,并重试。
查看全部 10
类型 标题 下载最新的英语版本 日期
应用手册 Using DMA with Framework Components for C64x+ (Rev. A) 2007年 10月 29日
用户指南 Codec Engine Algorithm Creator User's Guide (Rev. C) 2007年 9月 30日
用户指南 Codec Engine Server Integrator's User's Guide (Rev. B) 2007年 9月 30日
用户指南 TMS320 DSP Algorithm Standard API Reference (Rev. E) 2007年 2月 20日
用户指南 TMS320 DSP Algorithm Standard Rules and Guidelines (Rev. G) 2007年 2月 20日
用户指南 XDAIS-DM (Digital Media) User Guide (Rev. B) 2007年 1月 31日
应用手册 Using External References in eXpressDSP-Compliant Algorithms (Rev. A) 2003年 8月 31日
应用手册 Technical Overview of eXpressDSP-Compliant Algorithms for DSP Software Producers (Rev. C) 2002年 8月 30日
应用手册 Using the TMS320 DSP Algorithm Standard in a Dynamic DSP System (Rev. B) 2000年 11月 30日
应用手册 Using the TMS320 DSP Algorithm Standard in a Static DSP System (Rev. B) 2000年 11月 30日

相关设计资源

软件开发

应用软件和框架
TMDMFP 多媒体框架产品 (MFP) - 编解码器引擎,框架组件和 xDAIS

支持与培训

可获得 TI E2E™ 论坛的工程师技术支持

查看全部论坛主题 查看英文版全部论坛主题

所有内容均由 TI 和社区贡献者按“原样”提供,并不构成 TI 规范。请参阅使用条款

如果您对质量、包装或订购 TI 产品有疑问,请参阅 TI 支持

视频