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.
FeaturesxDAIS 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
- 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.