Codec Engine 1.02
This Codec Engine Release is targetted to the DaVinci platform,
enabling users to instantiate and utilize both local and remote codecs.
In addition to the heterogenous DM644x devices, it supports single
processor environments as well; specifically Joule
devices, ARM9 devices running Linux and x86 devices running Linux.
This release note is divided into the following sections:
General Info,
Whats_New,
Device Support,
Known Issues,
Validation Info,
Documentation.
The Codec Engine is a software platform for algorithm execution that
satisfies the following, high-level goals:
- Robust - drives pre-integrated components with fully
characterized performance.
- Easy to use - app developers specify what needs to
be run, but not how or where.
- Extensible and Configurable - new algorithms can be added
by anyone, using standard tools and techniques.
- Portable - API's are target, platform, and in many cases
even codec independant.
The Codec Engine consists of the following packages:
- ti.sdo.ce - The Codec Engine runtime.
- ti.sdo.ce.video - The Codec Engine video component.
Both encode and decode are supported, and an example is provided.
- ti.sdo.ce.image - The Codec Engine image component.
Both encode and decode are supported, and an example is provided.
- ti.sdo.ce.speech - The Codec Engine speech/voice component.
Both encode and decode are supported, and an example is provided.
- ti.sdo.ce.audio - The Codec Engine audio component.
Both encode and decode are supported, and an example is provided.
- ti.sdo.ce.osal - The Codec Engine OS Abstraction
Layer. This package insulates CE from the OS it's running on, and
provides a few Modules for customers to use (e.g. Memory).
- ti.sdo.ce.utils.trace - The Codec Engine utility
package for trace. This includes the TraceUtils module. This makes
tracing features easier to use by an application. It will be
supported in this release, but may be replaced in a future release
with an incompatible implementation.
The following significant changes have been made since 1.00.
1.02
- General
- Introduced ti.sdo.ce.utils.trace.TraceUtils
module.
- Libraries are now provided in release builds. Previously,
they were debug-only.
- Introduced Engine_setTrace() API.
- Added support for C++
- VISA Classes
- Added extended xDM support to the remaining 3 classes
(AUDENC, VIDENC, and SPHENC).
- Documentation
- Addition of System Programming Interface (SPI) Reference
Guide.
- Codec Engine Server Integrator's Guide (SPRUED5)
- Codec Engine Algorithm Creator User's Guide (SPRUED6)
- Minor updates to the Codec Engine Application Developer's
Guide (SPRUE67A)
1.01
- General
- Many trace strings were modified/added.
- C64P libraries built with 6.0.3 compiler.
- VISA Classes
- Audio Encoding support has been added
- Better compliance checking of "size" field. This field
must be set correctly in the various VISA APIs, as it is
now used to determine how much data to provide to the
codecs.
- Related to previous bullet, added extended xDM support to
VIDDEC, VIDENC, AUDDEC, IMGDEC, and SPHDEC classes. There are
limits to the size of the extended structures, and they must not
contain pointers in the extended structures.
- outArgs fixed to be provided in the case of a failed
process() call (enabling inspection of extendedError).
- Removed cache alignment validation of input buffers. When the
application can ensure cache coherence, these buffers need not be
aligned.
- Documentation
- Minor updates to the Codec Engine Application Developer's
Guide (SPRUE67A)
The following configurations are supported:
- DaVinci hardware EVM, dual-processor configuration, running
- ARM9 Linux, gcclib
- C64+ DSP/BIOS
- Single processor configuration, specifically:
- C64+ DSP/BIOS
- ARM9 Linux, gcclib
- ARM9 Linux, uclibc
- x86 Linux, gcclib
Documentation
- Details about CE's requirements on DSP Link are not yet provided.
These will be provided, to enable end users to reconfigure DSP Link to
meet their needs, yet still enable them to use CE.
This release was built and validated against using the following
components:
- Dual-processor configuration validated on the DaVinci EVM
- DSP/BIOS Link 1.30.08.02, configured for the
DaVinci EVM
- DSP/BIOS 5.30
- C6x Code Generation Tools version 6.0.3
- The "Demonstration Version of MontaVista Linux v4.0" (Baseline
2)
- Single-processor configuration validated on:
- x86 Linux, gcclib:
- Red Hat Enterprise Linux 3 (SMP)
- C64+ DSP/BIOS
- DSP/BIOS 5.30
- C6x Code Generation Tools version 6.0.3
- ARM9 Linux, gcclib
- The "Demonstration Version of MontaVista Linux v4.0"
(Baseline 2)
- ARM9 Linux, uclibc
- The "Demonstration Version of MontaVista Linux v4.0"
(Baseline 2)
The following documentation is available in this release:
- Codec Engine Application Developer's Guide
- Codec Engine Server Integrator's Guide
- Codec Engine Algorithm Creator User's Guide
- Codec Engine Application Programming Interface (API) Reference
Guide (HTML | CHM)
- Codec Engine System Programming Interface (SPI) Reference
Guide (HTML | CHM)
- Configuration Reference Guide.
Codec Engine examples and instructions are located in the
"examples" subdirectory.
- Example Build Instructions
Last updated: July 11, 2006