Linux Digital Video Software Development Kit (DVSDK) for DM365, DM368 Digital Media Processors
The Linux™ Digital Video Software Development Kits (DVSDKs) enable DaVinci™ system integrators to quickly develop Linux-based multimedia applications that can be easily ported across different devices in the DaVinci platform. Each DVSDK combines a pre-tested set of operating system, application framework, and codec libraries with example programs that demonstrate decode and encode of audio and video data streamed in real-time to and from peripheral devices. For DaVinci devices that feature DSP cores, the DVSDKs provide a complete framework for developers to easily leverage DSP-accelerated codecs without having to program the DSP. DVSDKs are free and do not require any run-time royalties.
This is the Generally Available (GA) release of the Linux DVSDK version 4. Supported processors are TMS320DM365/368, OMAP-L138, and TMS320DM3730/25.
The DM36x Linux DVSDK is a free non-commercial Linux that comes complete with everything a user needs to get started quickly and can be shipped in production systems. The Quick Start Guide should allow you to connect the hardware in a matter of minutes, and start playing with GUI based demos that demonstrate the hardware capabilities. All software (including source code) and development tools can be installed In less than an hour. Excellent documentation is included for all software components. For example, the Driver Data Sheet provides capabilities of performance information on the Linux device drivers supporting the on-chip peripherals; multimedia codec data-sheets list MIPS and memory requirements for a particular codec.
The Linux SDK includes the following components:
- Platform Support Package
- Linux kernel 188.8.131.52
- Boot loaders (u-boot, UBL) and their flashing utilities
- Multimedia Package
- Multimedia Framework Product (MFP)
- Codec Engine Framework
- Framework Components
- Linux Utils (CMEM)
- XCAIS (eXpress DSP Algorithm Interoperability Standard)
- DaVinci Multimedia Application Interface (DMAI)
- H/W accelerated codecs
- Encoders: H.264, MPEG-4, JPEG, AAC, G711, MPEG-2
- Decoders: H.264, MPEG-4, JPEG, AAC, G711, MPEG-2, VC1
- H/W accelerated GStreamer TI plugin
- Multimedia Framework Product (MFP)
- Graphics Package
- Qt/Webkit application framework
To find previous versions of TI DVSDKs, go to: TI Target Content Infrastructure
What is in DVSDK v4?
- Bootloading (u-boot) - Software to boot Linux from a variety of peripherals.
- The Codec Engine Multimedia Stack - The Codec Engine algorithm execution framework provides a consistent set of multimedia codec APIs, known as xDM, regardless of whether the codec is being executed on the ARM, DSP, or dedicated accelerator. Developers can then build higher-level multimedia framework functions, such as AV Sync or stream parsing, on top of Codec Engine. For developers whose expertise is in Linux application development, Codec Engine enables developers to remotely instantiate and execute codecs and algorithms on the DSP without needing to write any DSP code.
- DaVinci Multimedia Interface (DMAI) - DMAI allows development of highly portable multimedia applications that can move easily from one device or operating system to another.
- Multimedia Codecs - The DVSDK provides codec libraries and associated AV clips that enable developers to immediately develop and evaluate real-world applications. These codecs may be in dedicated hardware (DM355S), DSP-accelerated or a combination of both. Most are available for download now, along with the DVSDK. They are production quality codecs, with production software licensing agreements.
- Demonstration ("Demo") Programs - The Demo programs show decoding and encoding operations to illustrate how frameworks, codecs, video and audio subsystem drivers are integrated to implement complete applications.
For DaVinci and Integra™ devices that have DSP cores, the DVSDK further offers a set of DSP components that allow developers to quickly leverage DSP acceleration, including:
- DSP/BIOS Real-time Kernel Operating System - DSP/BIOS kernel is a preemptive, multitasking, real-time kernel that simplifies creation of multithreaded DSP application.
- DSP/BIOS Link - DSP/BIOS Link is ARM-DSP communication software that enables the ARM to bootload the DSP and for the two processors to pass messages and data buffers via shared memory.
- xDAIS Developer’s Kit - xDAIS and xDM are algorithm integration standards that make it easier to implement applications that must use multiple different codecs. Algorithms adhering to the xDAIS standard access shared resources such as internal memory and DMA through the framework, enabling the framework to prevent one codec overwriting the resources used by another. xDM provides standard APIs for different classes of codecs that enable an application to invoke, for example, MPEG-4 or H.264 decoders from different vendors without having to change any code.
- Framework Components - Framework Components are modules that simplify implementation of frameworks that wish to use xDAIS-compliant algorithms.
- EDMA3 Driver - This driver provides APIs to utilize DaVinci’s powerful DMA capabilities. The EDMA3 driver includes resource management support to enable developers to safely share DMA resources between different parts of the application.
- Development Tools - Although Codec Engine enables applications to use DSP-accelerated codecs without doing any DSP programming, developers who need to implement custom DSP applications will need to purchase TI's Code Composer StudioTM IDE and an emulator. These will allow development and debugging of applications on the DSP.