NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
Codec Engine Overview
Getting Started[edit]
Introduction[edit]
This article serves provides a general overview of the products above and below the Codec Engine software stack.
Two viewpoints are taken, a bottom-up view and a top-down view. Depending on whether you're an algorithm developer or a system integrator, you can choose your path.
Note, to ensure others benefit from this topic, please feel free to add and update the pointers with details about what you found valuable in coming up to speed.
Bottom-up[edit]
We work from the bottom up, starting from the algorithm developer and ending with pointers to the DVSDK, a complete, complex system with "real world" multimedia applications.
- Start with the XDAIS and XDM products, which define a consistent set of algorithm interfaces, and enable the software stack above.
- If you're already familiar with XDAIS, you might start with the XDM Users Guide.
- Stepping up the stack, there is Framework Components (FC). FC provides libraries/APIs to grant resources (e.g. memory and DMA resources) to algorithms using the interfaces (IALG, IDMA3) defined in XDAIS. These FC docs are provided:
- DSKT2 User's Guide - this DSKT2 library can be used to create and manage algorithms.
- Using DMA with FC App Note
- Framework Components API Reference Guide
- Then, we step up into Codec Engine (CE)
- CE enables applications to easily invoke these algorithms (using FC under the covers). It exposes XDM-like interfaces (a.k.a. "VISA" interfaces) to the apps. Codec Engine users fall into one of four roles, as described in the Codec Engine Roles article. These roles are also used to structure the documentation. From bottom up, you might read:
- Algorithm Creator User's Guide
- Codec Engine Application Developer's Guide and Codec Engine API Reference Guide
- And finally, for those using heterogeneous devices, the Server Integrator's Guide.
- CE enables applications to easily invoke these algorithms (using FC under the covers). It exposes XDM-like interfaces (a.k.a. "VISA" interfaces) to the apps. Codec Engine users fall into one of four roles, as described in the Codec Engine Roles article. These roles are also used to structure the documentation. From bottom up, you might read:
- And finally, the big one, the DVSDK. This bundles all of the above and more, and provides examples of fully running applications - real codecs, real I/O, etc. The DVSDK Getting Started Guide is here.
Top-down[edit]
Looking from the top down, you start with the DVSDK, and ultimately progress into products for creating algorithms.
- The DVSDK integrates Codec Engine and many other subcomponents into a complete, complex system with "real world" multimedia applications. The DVSDK Getting Started Guide is here
- A core component of the DVSDK is the Codec Engine (CE):
- CE enables applications to easily create and work with algorithms using a common API. Codec Engine users fall into one of four roles, as described in the Codec Engine Roles article. These roles are also used to structure the documentation. From the top down, you might read:
- Codec Engine Application Developer's Guide and Codec Engine API Reference Guide
- Algorithm Creator User's Guide
- And finally, for those using heterogeneous devices, the Server Integrator's Guide.
- CE enables applications to easily create and work with algorithms using a common API. Codec Engine users fall into one of four roles, as described in the Codec Engine Roles article. These roles are also used to structure the documentation. From the top down, you might read:
- Looking further down the stack is Framework Components (FC)
- The Codec Engine and other frameworks utilize FC provided libraries/APIs to grant resources (e.g. memory and DMA resources) to algorithms using the interfaces (IALG, IDMA3) defined in XDAIS.
- DSKT2 User's Guide - this DSKT2 library can be used to create and manage algorithms.
- Using DMA with FC App Note
- Framework Components API Reference Guide
- And finally, FC fundamentally operates on algorithms which comply with the XDAIS and XDM standard. This XDAIS standard is agnostic of algorithm, but has been extended to include the XDM standard, which defines interfaces for multimedia algorithms.
- If you're already familiar with XDAIS, you might start with the XDM Users Guide.
Now what?[edit]
Okay, you get it, there's lots to read. But you're a developer and want to get your hands dirty, so where do you go when you're tired of reading and want to start playing? Download one of the products from the links above - each includes docs, examples and instructions for building and running on supported devices.
There's also an active community on TI's Embedded Software Forum, where the development team and other experts are there to answer your questions.