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.

DVSDK 2.0 Contents

From Texas Instruments Wiki
Jump to: navigation, search
This information is current as of DVSDK 2.00.00.22

DVSDK Overview[edit]

The DVSDK (Digital Video Software Development Kit) provides system software and demonstration applications for TI DSPs and SoCs used in multimedia applications. In addition to bundling OS ports, drivers, and frameworks that are also available as discrete products, the DVSDK includes the Digital Video TestBench (DVTB), example multimedia codec combinations, and image/audio/video encoding and decoding demonstrations.

DVSDKs for devices with an ARM (such as ARM-DSP devices including DM644x and DM6467 or ARM-only devices such as DM355) provide Monta Vista (commercially supported) Linux ports for the ARM and DSP/BIOS ports for DSPs, when present.

DVSDK 2.00 supports DM355, DM6446 and DM6467. It can be downloaded here.

Documentation[edit]

Release Notes[edit]

Release notes can be found in the top level of the DVSDK install directory. These provide information about dependencies, device support and known issues, as well as links to further documentation.

Driver Data[edit]

Driver data can be found in the PSP docs directory provided with the DVSDK install.

SPRS566.pdf - LSP 2.0 DaVinci Linux Drivers

SPRUG89.pdf - LSP 2.00 DaVinci Linux CCDC Driver

SPRUG90.pdf - LSP 2.00 DaVinci Linux AEW Driver

SPRUG91.pdf - LSP 2.00 DaVinci Linux AF Driver

SPRUG92.pdf - LSP 2.00 DaVinci Linux VPBE Frame Buffer Driver

SPRUG95.pdf - LSP 2.00 DaVinci Linux Video Sysfs

SPRUG96.pdf - LSP 2.00 DaVinci Linux V4L2 Display Driver

SPRUG98.pdf - LSP 2.00 DaVinci Linux Audio Driver

DM355[edit]

SPRUG93.pdf - LSP 2.00 DaVinci Linux IPIPE Driver

DM644x[edit]

SPRUG86.pdf - LSP 2.0 DaVinci Linux Resizer Driver

SPRUG87.pdf - LSP 2.00 DaVinci Linux Previewer Driver

SPRUG88.pdf - LSP 2.00 DaVinci Linux NOR Flash Driver

DM6467[edit]

SPRUG85.pdf - LSP 2.00 DaVinci Linux Consumer-IR Driver

SPRUG97.pdf - LSP 2.0 DaVinci Linux PCI Slave Driver

SPRUG99.pdf - LSP 2.0 DaVinci Linux VPIF Capture Video Driver

SPRUGA0.pdf - LSP 2.00 DaVinci Linux VPIF Display Video Driver

SPRUGA1.pdf - LSP 2.00 DaVinci Linux PCI Boot Driver

SPRUGA2.pdf - LSP 2.00 DaVinci Linux TSIF Driver

SPRUGA3.pdf - LSP 2.00 DaVinci Linux Video VDCE Driver

Codecs[edit]

There are release notes, data sheets, and user guides provided for each of the codecs that come with the DVSDK. The release notes outline the supported features of the codec and known issues. The data sheets also give information on the supported features, and provide performance measurements. The user guide is a more in-depth description of the installation, usage and features for each of the codecs.

DM355 Codecs[edit]

An index of documentation for the DM355 codecs can be found in the DVSDK install directory under dm355_codecs_#_##_###/codec_index_#_##_###.html.

DM6446 and DM6467 Codecs[edit]

The documentation for the DM6446 and DM6467 codecs can be found in the DVSDK install directory under <platform>_dvsdk_combos_#_##\packages\ti\sdo\codecs\<codec_name>\docs.

Software Components[edit]

Most of the software components listed under the Software Components section of this article include documentation. This can be found as a link in the Relase Notes provided with each component, or in each component's docs directory.

Software Components[edit]

The DVSDK contains DSP/BIOS Utilities, ceutils, cg_xml, Codec Engine, codecs, DMAI, DSP/BIOS Link, demos, DVTB, EDMA3 driver, Framework Components, Linux Utils, Linux Support Package, and XDAIS.

DSP/BIOS Utilities[edit]

The DSP/BIOS Utilities Product provides a set of tools that is complimentary to the DSP/BIOS real time operating system.

ceutils[edit]

ceutils is a collection of utilities that aid Codec Engine usability.

cg_xml[edit]

This is a package of Perl scripts used to process the XML files that come from the TI code generation tools. Use it to do things like build a spreadsheet that details the size of all the sections, or figure out how much of the memory map is taken up by specific libraries.

Codec Engine[edit]

Codec Engine enables users to instantiate and utilize both local and remote codecs. In addition to heterogeneous devices (e.g. DM644x, DM6467, OMAP2530, OMAP3530, etc.), it supports single processor environments as well; specifically C64+ devices (e.g. DM643x, and DM648), ARM devices running Linux (e.g. DM355, DM365, OMAP3503) and x86 devices running Linux.

Fore more information, see the Codec Engine Overview.

Codecs[edit]

Various VISA (video, imaging, speech and audio) encoders and decoders are provided for each of the support devices (DM355, DM6446 and DM6467).

DMAI[edit]

This package is targeted to the DaVinci and OMAP platforms, implementing a thin utility layer on top of the operating system (Linux or DSP/BIOS) and the Codec Engine (CE) to assist in quickly writing portable DaVinci and OMAP applications.

For more information, see the DMAI wiki.

DSP/BIOS Link[edit]

DSP/BIOS LINK is foundation software for the inter-processor communication across the GPP-DSP boundary. It provides a generic API that abstracts the characteristics of the physical link connecting GPP and DSP from the applications. It eliminates the need for customers to develop such link from scratch and allows them to focus more on application development.

As the name suggests, DSP/BIOS operating system is expected to be running on the DSP.

Demos[edit]

A decode and encode demo with a user interface is provided. This runs out of the box.

DVTB[edit]

The Digital Video Test Bench (DVTB) is a generic test bench that can be used to test codec servers, drivers or any system level use case. It allows to configure the codecs and to select a variety of inputs (camera, line-in, file) and outputs (display, line-out, file). Scripting capabilities make it very flexible for exploring system level use cases and general testing. DVTB can also be extended to support application specific use cases by adding new handlers.

For more information, see the Digital Video Test Bench (DVTB) wiki.

EDMA3 Driver[edit]

The EDMA3 Driver is a functional library providing APIs for programming, scheduling and synchronizing with EDMA transfers and many more.

EDMA3 LLD is a single product package containing the following stand-alone software components:

  • EDMA3 Resource Manager - TI mandated library for all EDMA3 peripheral users to acquire and configure EDMA3 hardware resources (DMA/QDMA channels, PaRAM Sets, TCCs etc.) and DMA Interrupt Service Routines.
  • EDMA3 Driver - Functional library providing APIs for programming, scheduling and synchronizing with EDMA transfers and many more.

EDMA3 Resource Manager can be used independently whereas the EDMA3 Driver requires the Resource Manager services internally.

For more information, see the EDMA3 wiki.

Framework Components[edit]

Framework Components is comprised of XDAIS algorithm resource managers and functional interfaces.

The FC Reference Guide provides details on the APIs.

TI's marketing team also has a description of the Framework Components product.

Linux Utils[edit]

The Linux Utils utility package provides the ability for user-mode applications to access the CMEM, EDMA, SDMA, and VICP utility libraries.

LSP[edit]

The Linux Support Package (LSP) serves to provide a fundamental software platform for development, deployment and execution. This abstracts the functionality provided by the hardware. The product forms the basis for all application development on the platform.

For more information, see the Release Notes located in the DVSDK directory at dvsdk_<version>/PSP_<version>/lsp_psp_<version>_release_notes.html.

XDAIS[edit]

The XDAIS (eXpress DSP Algorithm Interoperability Standard) Developer's Kit provides the header files and specifications needed to implement XDAIS-compliant algorithms.

The XDAIS standard is designed to enable multiple algorithms to coexist in an application. It achieves this 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) that are then queried by the application framework to determine the memory and DMA needs of the codec. 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 XDAIS-compliant, especially when utilizing algorithms from multiple sources.

Recent releases of XDAIS have extended the existing standards to encompass 'plug-and-play' capabilities for several common multimedia codecs.

A list of more documentation can be found at the XDAIS Documentation wiki.

Known Issues[edit]

This information is current as of DVSDK 2.00.00.22.  For known issues to another version, 
check the release notes found in the DVSDK install directory at 
dvsdk_<version>/<platform>_<version>_release_notes.html.

DM355[edit]

  • Deinterlacing support: Since MPEG4 SP does not include support for handling interlaced content, the encoded quality of interlaced video will be degraded. A limited "smoothing" function is available in this build. This is not a complete de-interlacer, but it does improve visual quality on high-motion video.
  • The MPEG4 decoder has limited compatibility, so it cannot decode all MPEG4 bitstreams. For this release, the decoder will only decode bitstreams encoded by the DM355 MPEG4 encoder. Consult the MPEG4 decoder documentation for a detailed description of the decoder's limitations.
  • The JPEG decoder also has limitations on what JPEG streams can be decoded. Consult the JPEG decoder documentation for a detailed description of the decoder's limitations.
  • The encode demo application has a maximum recorded file size limit of 2GB.
  • When running the encodedecode demo from the command line, better quality video will result by passing in -d (SDSCM00024417).
  • The NAND flash file system uses YAFFS2 without checkpointing, consequently its boot-up time is proportional to the number files it contains. The DM355 DVEVM has a minimal file system on the flash to ensure fast boot time. Note that large file sizes may impact boot-up time as well, and the root cause for this issue is still under investigation. Hence, you may encounter this issue if you save a large video file using the encode demo.
  • the links to the GSGs in the LSP release notes will not work.
  • In some scenarios with VBR the FPS can drop to 23 frames per second
  • Under Codec Engine examples, video_copy/dualcpu_separateconfig_dll/enduser_app and video_copy/dualcpu_separateconfig/enduser_app will fail to build.
  • To restore UBL and U-Boot binaries on your EVM, please follow the "LSP 2.00 DaVinci Linux EVM Installation User's Guide" at PSP_##_##_##_###/docs. The instructions for upgrading U-Boot from U-Boot (both NAND and NOR boot modes) do not work. So you can restore U-Boot binaries only using CCS.

DM6446[edit]

  • If the board's Ethernet controller is not connected to a DHCP server, there will be several minutes of additional delay in booting the board.
  • In some scenarios with VBR the FPS can drop to 23 frames per second
  • Under Codec Engine examples, video_copy/dualcpu_separateconfig_dll/enduser_app and video_copy/dualcpu_separateconfig/enduser_app will fail to build.
  • To restore UBL and U-Boot binaries on your EVM, please follow the "LSP 2.00 DaVinci Linux EVM Installation User's Guide" at PSP_##_##_##_###/docs. The instructions for upgrading U-Boot from U-Boot (both NAND and NOR boot modes) do not work. So you can restore U-Boot binaries only using CCS.
  • DM6446 encodedecode demo using D1 resolution may not meet 30fps

DM6467[edit]

  • Customers who are using EVM boards prior to Rev F may see video artifacts such as horizontal line distortion. The interference may be picked up and amplified by the encoders. The resulting video will have horizontal distortions during playback.
  • When running the demo applications using variable bit rate (which varies depending on the video content), the bit rate may be so low that visual artifacts may appear. The user may elect to select a constant bit rate (e.g., "-b 4000000", 4 MBits/sec) for improved video quality.
E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article DVSDK 2.0 Contents here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article DVSDK 2.0 Contents here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article DVSDK 2.0 Contents here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article DVSDK 2.0 Contents here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article DVSDK 2.0 Contents here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article DVSDK 2.0 Contents here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article DVSDK 2.0 Contents here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article DVSDK 2.0 Contents here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article DVSDK 2.0 Contents here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity