Download presentation
Presentation is loading. Please wait.
1
DaVinci™ Software Overview
2
Software Challenges to Building a Video Product
Customer Product Idea S GUI, Human Factors Interface, Value Add OS, Drivers, Middleware Building a video product is very challenging You need expertise in different domains and it is unlikely for one company to have best-in-class skills for all of them You need a long Time to Market using yesterday’s platforms It takes a significant time and effort to get the base platform with drivers up and running. In addition, it takes a lot of time to develop codecs and harden them with system test. As a result, you spend more time in getting the base platform ready and spend little time in innovating new features into your product All of this will change with the DaVinci effect! Codecs: Video, Imaging, Speech, & Audio
3
DaVinci™ Software Offerings
Optimized for Digital Video Innovation Operating Systems & Device Drivers Linux OS preported to device Input output drivers tightly integrated into OS Configurable Robust, tested with EPSI APIs Digital Media Codecs H.264 MPEG4 H.263 WMV9 VC1 MPEG2 JPEG AAC-HE AAC-LC WMA9 WMA8 MP3 G.711 G.728 G.723.1 G.729ab Published Multimedia Application Programming Interfaces (APIs) Industry-recognized APIs DaVinci APIs (VISA, EPSI, xDM) The processors are only the first piece of the offering From here I will be dwelving into the software offering, which is what really differentiates the DaVinci offering from anything that is available on the market today No competitor has an offering that is this complete and available to the broad market We have five types or categories of Software Products Operating Systems with tightly integrated device drivers APIs – easy to use APIs that are industry standard and TI provided extensions A Codec Engine that enables non-DSP developers to enjoy the benefits of the power of our signal processors without having to know the details Multimedia Codecs….a large set of codecs that are robust(tested) covering the domains of video, imaging, speech and audio Signal Processing libraries…for the DSP develepor that wants to create his own differentiated codec Let me now talk more about each of these products For DM6446 and DM6443, we offer a Linux OS that has been thoroughly tested on the platform The device drivers are optimized for the silicon and tightly coupled with the OS Configurable…you can select and enable only those drivers that are needed by you…therefore saving footprint on the flash memory Linux OS preported to device Input output drivers tightly integrated into OS - Configurable - Robust, tested with EPSI APIs Multiple DSP executables containing codecs abstracted as library calls with VISA APIs. Discrete Codecs with xDM APIs Codec engine to abstract codecs eXpressDSP config Kit to combine codecs into DSP executables Focused on two customer segments It’s not just a DSP and an ARM guy. It’s an ARM guy and a DSP/ARM guy Application layer focused customers….just want to embed signal processing functionality…..enjoy benefits of DSP without knowing DSP Signal Processing layer focussed customers….DSP savvy…etc. Codec abstraction Interprocessor communication DSP/BIOS™ Codec Engine Signal Processing Libraries Codec Kernels FIR, IIR
4
DM644x™ Software Overview
Application Layer Signal Processing Layer Gstreamer Customer Value-Added Differentiation Codec APIs FFMPEG Open Source Open Source Software Digital Media APIs OpenHelix MPlayer A DSP Image that consists of : Codecs Codec engine DSP/BIOS™ Interprocessor communications User Space Input/Output APIs Kernel Space Application layer, since it runs Linux, opens a window to open source community software so you can rapidly prototype your product There are three APIs Input-Output APIs – to input audio and video streams and output them to a display/speakers Digital Media APIs – that abstacts the signal processing capability Codec APIs – that allow one codec to be easily replaced with another compliant codec without any changes to the application layer Drivers tightly integrated into OS Input/output using Camera, LCD, HDD, Networking, etc.
5
Simplified Embedded Video
Application Layer Signal Processing Layer Customer Value-Added Differentiation Digital Media APIs Codecs Sub-system-ware (Pre-wired Codec Combo) H.264 AAC+ MPEG4 MP3+ DSP Executable Input/Output APIs Kernel Space MPEG4 MP3+ pre MPEG4 MP3+ Linux Drivers MPEG4 MP3+ MPEG4 MP3+ Here is how we are simplifying embedding video applications into your product To help you focus on creating a differentiated product at the application layer, we make a heterogeneous product have the look and feel of a single processor. The signal processing layer exports certain capabilities that are accessible to the application layer via the Digital Media APIs This capabilities are accessible as simple library calls much like what you would naturally do on a single processor system To allow different capabilities or features, we provide a library of preassembled codec combinations …codec combos If the combination you need doesn’t exist you can easily build your own combination with the config kit and insert it into the SPL(Signal processing layer) “How-to” Methodology for creating Custom Combos Config kit H.264 MP3 BIOS Node JPEG PSP Component- ware Customer, 3P Creates TI Provides
6
Application Layer (APL) Signal Processing Layer (SPL)
DM644x™ Software Stack Application Layer (APL) Signal Processing Layer (SPL) Codec Engine Engine VID IMG SPH AUD VISA API I-Node Image-Task A-Node Audio-Task V-Node Video-Task S-Node Spch-Task DSKT2 DMAN3 ACPY3 Node Mnmgt Codec Engine Remote Server Framework Components xDM API Audio Codec Speech Codec Imaging Codec Video Codec Customer Value-Added Differentiation AV Sync Mux/Demux TS / ASF Network RTP/RTSP I/O USB 2.0 Driver GP Timer Watchdg I2C UART Video Audio EMAC MMC/SD SPI File (ATA) Linux APIs w/EPSI Link BIOS DSP/BIOS Services PWRM LOG DSP/BIOS Link Srv MSGQ PROC xDM API Speech Codec User Space Kernel Space Now I’m going to go one layer lower into our software stack Application layer(APL): User space and kernel space Kernel space has the real-time drivers Access through EPSI (Easy Peripheral Software Interface) The APL at a lower level is bridged into the SPL through DSP/BIOS link Everything in this stack is provided by TI except for the Customer Value-Added Differentiation box Signal Processing Layer We have the 4 different types of multimedia codecs (VISA) thus the VISA API The four types are Video, Imaging, Speech and Audio Our arch also supports running a codec on the application layer, if you want to run some very compute intensive codecs like H.264 on the SPL you can run a lower level codec on the application layer leaving all the compute power of the SPL to the H.264 codec DSP/BIOS™ Link DSP/BIOS™ ARM Subsystem Transport DSP Subsystem
7
Application Processing Control Module / Application Layer
Leveraging DaVinci™ Software Basic IP camera Intelligent IP camera Signal Processing Application Processing Input/Output Control Module / Application Layer B/W: 2 Mbits/s B/W: 16 Mbytes/s D1: 30 FPS YUV420 Networking module Input/Output Image Coding JPEG Video Capture Video Coding MPEG4 SP H.263 BP H.264 BP Audio Capture Image quality Bit-rate control Image size control Pre/after-motion recoding Audio Coding AAC/WMA Video pre-processing De-interlacing Codec Engine VISA API Video Coding MPEG4 SP H.263 BP H.264 BP Video pre-processing De-interlacing Bit-rate control Video Capture TCP/UDP IP HTTP/RTP /RTSP HTTP/RTP /RTSP Image size control B/W:1Mbits/s B/W: 1.2 Mbytes/s QVGA: 15 FPS , Y Video/Audio Analytics Motion detection Event detection Object tracking Object recognition Analysis Control Intelligent Applications TCP/UDP Central office Image quality IP B/W: 21 Mbytes/s D1: 30 FPS YUV422 B/W: 16 Mbytes/s D1: 30 FPS YUV422 Pre/after-motion recoding Here is a block diagram of a basic video security camera application. We have a camera sitting at a remote location capturing video and audio, packetizing it and put it out onto the network TI provides all the software for this basic video security application If you wish to deploy an Intelligent VSC, then you would get all this software from TI which would free you to focus more the differentiation such as Video/Audio Analytics. TI is providing you with the drivers for the video/audio capture, with Linux you get the networking When speaking to customer part, mention that this is an open platform and customers can access 3rd parties Customer should feel, man TI has done a lot of work here, but I still have room to add my own stuff Image Coding JPEG B/W: 12 Mbits/s B/W: 32 K bits/s B/W : 96 K bytes/s, mono Audio Coding AAC/WMA Audio Capture TI/DaVinci components Data flow Customer components Bandwidth Control flow TI/MontaVista/ Open Source
8
DM644x™ Software Overview
Application Layer Signal Processing Layer Customer Value-Added Differentiation Codec APIs Digital Media APIs A DSP Image that consists of : Codecs Codec engine DSP/BIOS™ Interprocessor communications User Space Input/Output APIs Kernel Space Now that we’ve looked at the overall system, we want to take a deeper look at the signal processing layer. TI is providing the software components you need to build digital media codecs into a DSP executable image: codecs, a codec engine framework, the DSP/BIOS real-time kernel, interprocessor communications libraries, and other components. We are providing the user with varying levels of abstraction from the implementation details on the DSP. Some customers would prefer to focus on developing code on the ARM, so the software components from TI make it possible to integrate custom combinations of digital media codecs into a black box at the signal processing layer that presents an API to the application. Other customers have value to add at the signal processing layer, and you will see how TI’s open programmability enables value add on the DSP while still fostering reuse of TI and 3rd party software components as appropriate. Drivers tightly integrated into OS Input/output using Camera, LCD, HDD, Networking, etc.
9
Building a DSP Executable With a Config Kit
MPEG4 MP3+ pre OR xDM API H.264 BP enc Config Kit S .out (DSP Executable/ Image) Codec Engine Video Task Image Task Speech Task Audio Task DSP/BIOS™ DSP/BIOS™ Link As we mentioned in the last slide, it is possible to use a complete digital media executable on the DSP, for complete abstraction of the signal processing layer. It is also possible to build a custom combination of TI and 3rd party codecs. This slide shows the components required to do this. DSP/BIOS is the real-time kernel foundation, DSP/BIOS Link is the interprocessor communications required to pass codec control commands from the ARM, Codec Engine is the framework for running digitial media algorithms and codecs. xDMI-compliant codecs or codec combinations libraries with the xDMI interface can be linked into the executable and used with the codec engine. We will show how these components are combined into a high performance DSP executable.
10
Codecs for DaVinci™ Technology have flexible interfaces
eXpressDSP™ Digital Media ( xDM ) Interface Compatible superset extension to the eXpressDSP algorithm standard (xDAIS) When a different xDM Algorithm is used, no changes are needed at the application layer Enables varying levels of abstraction from DSP multimedia processing functionality No dependencies on DSP/BIOS, Link - xDM codecs can work in any framework Multiple options for delivery and flexibility a la carte Optimized Combinations Complete DSP executable Full system solution xDM API G.729ab xDM API JPEG enc/dec The lowest level component that needs to be integrated onto the DSP is a digital media codec. TI has developed a library of video, imaging, speech, and audio codecs with a special interface that enables customers to interchange codecs without changing application layer code. That interface is called xDMI, or the eXpressDSP digital media interface. As an example, every codec today has it’s own API, so switching an AAC decoder for a WMA decoder would require changes at the application layer in how the decoder was called. With xDMI-compliant codecs, it will be possible to change the decoders without changing the application layer API. xDMI is an extension of the existing eXpressDSP algorithm standard, or xDAIS, which has been widely adopted by TI 3rd parties and customers. We are building on the success of xDAIS by extending it to provide further benefits specific to digital media codecs and algorithms. Codecs with The xDMI interface have no dependencies on DSP/BIOS, Link, or codec engine and can be used in any framework. The interface allows multiple options fo delivery of digital media codecs – as stand alone encoders/decoders, optimized combination libraries, complete dsp executables, or full system solutions. When we talk about codecs we want to talk about interoperability and which ones are available We have wrapped these with an API – with xDAIS every codec had a separate API, what we did here is extend the xDAIS APIs to a class of codecs, so now we have one API that works with all of ours and our 3P multimedia codecs. Some examples of key codecs are shown here, and in a few slides we will show you the library of digital media codecs that TI is developing, along with benchmarks and our roadmap. xDM API WMA enc AAC dec xDM API H.264 BP enc WMV9 dec
11
Codecs VIDEO IMAGING SPEECH AUDIO 60+ codecs with 60+ unique APIs!
MPEG4 MP3 WMA8 JPEG2K JPEG G.723 GSM-AMR G.729ab WMV9 MPEG2 H.264 60+ codecs with 60+ unique APIs! Class-agnostic Class-specific xDM API IMAGING IALG IRM ICLASS IERROR IVENDOR VIDEO SPEECH AUDIO Video Imaging Speech Audio WMV9, VC1, MPEG4, H.264 MP3, WMA8, AAC+, etc. JPEG, JPEG2K G.729ab, G.726, GSM-AMR 60+ codecs with only 1 API for each class! Same class types as the VISA interface xDM is the low-level counterpart to the application layer VISA interface
12
Digital Media Codec Roadmap
1Q06 2Q06 3Q06 VIDEO H.264 MP Decode MPEG4 ASP Encode H.264 BP Decode WMV9 MP Encode MPEG4 ASP Decode H.264 BP Encode VC1 (WMV9 AP) Decode H.263 Decode H.263 Encode MPEG4 SP Decode MPEG4 SP Encode MPEG-2 Decode WMV9 MP Decode IMAGE JPEG Encode JPEG Decode SPEECH G.711 G.728 G.729ab G.723.1 AUDIO MP3 Decode WMA8 Encode AAC-HE Encode WMA9 Decode AAC-HE Decode AAC-LC Encode AAC-LC Decode Clearly TI is addressing the core of the market for digital video We are enabling the DaVinci platform with robust, tested, and optimized implementations of key codecs. Furthermore, we have 3rd parties who are developing additional codecs or variations on these ones, and as you’ll soon see there are some 3rd parties that are set up to support the TI codecs.. (Note: These are being built and optimized for the DaVinci platform (C64x+), but because of the methodology we are using we will be able to deliver them on DM64x and c64x devices, as well as on other c64x+ devices , but fully productized versions of these codecs on other TI architectures will come at a later time.
13
Old Codec Roadmap 1Q06 2Q06 3Q06 VIDEO IMAGE SPEECH AUDIO
H.264 MP Decode H.263 Decode (profile - 3) MPEG4 ASP Encode H.264 BP Decode H.263 Encode (profile - 3) MPEG4 ASP Decode H.264 BP Encode VC1 (WMV9 AP) Decode H.263 Decode (profile-0) MPEG2 Encode H.263 Encode (profile-0) MPEG4 SP Decode MPEG4 SP Encode MPEG-2 Decode WMV9 MP Decode WMV9 MP Encode IMAGE JPEG Encode JPEG Decode SPEECH G.711 G.728 G.729ab G.723.1 AUDIO MP3 Decode WMA8 Encode WMA9 Decode AAC+ Encode AAC+ Decode Clearly TI is addressing the core of the market for digital video We are enabling the DaVinci platform with robust, tested, and optimized implementations of key codecs. Furthermore, we have 3rd parties who are developing additional codecs or variations on these ones, and as you’ll soon see there are some 3rd parties that are set up to support the TI codecs.. (Note: These are being built and optimized for the DaVinci platform (C64x+), but because of the methodology we are using we will be able to deliver them on DM64x and c64x devices, as well as on other c64x+ devices , but fully productized versions of these codecs on other TI architectures will come at a later time.
14
Codec Engine is TI’s Powerful and Flexible Framework for Codec Execution
The Codec Engine provides a standard software platform for algorithm execution Robust Tested with numerous codec combinations Easy to use Enables one API for each class of codecs with VISA API Can use any xDM compliant codecs Enables codecs to be remotely executed ie on DSP Codecs can run on the ARM or DSP with same API presented to user Powerful Packages all the underlying component software to enable multi-algorithm combinations Allows multiple codecs/combos to be run Single or multiple codecs can be instantiated for each algorithm type Codec Engine includes VISA APIs to interface with xDM compliant codecs Supports xDM algorithm classes Video, Imaging, Speech, Audio VISA APIs Codec Engine Video Task Image Task Speech Task Audio Task DSP/BIOS™ DSP/BIOS™ Link xDM Codec Codecs have to run inside of a framework that creates instances, allocates memory, routes data, and runs codecs on the DSP. In the past customers would write their own framework based on examples. With Codec Engine, TI is providing a robust, tested framework with several key features: Key points: robust, easy to use, powerful. Finish with, “finally, the codec engine exports an API to the application layer called VISA. The VISA interface provides the ability to run and control each class of algorithm, and we’ll discuss it in more detail on the next slide.” (Note: The story is flexibility, this is specifically designed so you can partition to run on the APL, SPL or accelerators. Enables the codecs to be remotely executed on the DSP. The codecs can be run on the APL or the SPL with the same API. In a lot of cases people want to run the audio codecs on the APL and the video codecs on the SPL with access through he same API.)
15
VISA APIs Enable Encode, Decode, and Algorithm Control
Eight interfaces based on four classes of multimedia algorithms (video, image, speech, & audio) and functionality (encode & decode) VISA Codec Engine IVID_ENC IVID_DEC IAUD_ENC IAUD_DEC ISPH_ENC ISPH_DEC IIMG_ENC IIMG_DEC VISA is the API the codec engine, which is a framework for running encoders and decoders on the DSP. The VISA API provides two primary functions for encoders/decoders: process and control. The process API either encodes or decodes a frame, while the control function allows you to change algorithm parameters dynamically (bit rate, frame rate, to customize) or to query the status of the encoder or decoder. The process and control APIs are a direct reflection of the low-level process and control functions you would use if you were writing C code in a DSP framework, so we’re providing low-level control of codecs along with high level abstraction of the details. Again, the benefit of VISA, when used with xDMI codecs, is that changing the codec at the signal processing layer does not necessarily require you to change the API calls at the application layer. Figure 2: Generic interface defines by xMI Two functions for each interface: process() control()
16
Create a DSP Executable with Configuration Guide
Documentation and example build script Enables TI, customers, and 3rd parties to build custom combinations of algorithms No DSP coding required Builds libraries into a DSP executable with a makefile Parameters available to control memory placement Uses TI codec engine framework to route data to multimedia algorithms Creates a DSP AV executable VISA interface is exposed to the application layer xDM API AUDIO SPEECH IMAGING VIDEO Config Guide S Codec Engine Video Task Image Task Speech Task Audio Task DSP/BIOS™ DSP/BIOS™ Link xDM Codec The configuration guide is an example build script and documentation that shows users how to link the component libraries required to build a DSP executable based on TI’s codec engine framework. The guide enables you to build a DSP executable without doing any DSP coding, but by using a configuration script Key points: No dsp coding required system level optimization, tradeoffs, and testing must still be done The output is a complete DSP AV executable, or .out file, that can be loaded and run from the application layer using Linux or another OS.
17
Building a Custom DSP AV Executable
Application Layer ARM Subsystem xDM API AUDIO VIDEO H.264 BP enc AAC dec Customer Application Software Drivers Output/ Display Drivers Input/Capture VISA VISA APIs DSP/BIOS Link Host Component Codec Engine Host Component Config Guide S (User Space) Linux Kernel v (Kernel Space) Signal Processing Layer DSP Subsystem Inter-Processor Communication (Link) Video Task Image Task Speech Task Audio Task H.264 BP enc JPEG enc/dec AAC dec G.729ab Codec Engine Codec Engine Video Task Image Task Speech Task Audio Task DSP/BIOS™ DSP/BIOS™ Link xDM Codec Video Task H.264 BP enc Audio Task AAC dec This slide shows how the various components are built into a complete DSP executable. BIOS is the foundation, codec engine is the framework, interprocessor communications allows control via APIs on the ARM9 subsystem, and the VISA APIs are the interface to the completed executable. These components together enable customers and TI 3rd parties to create custom combinations of codecs. These combinations can allow you to treat the the DSP as a high performance black box that runs the digital media encoding, decoding, and processing target to your system and application. DSP/BIOS™
18
Old Slide – not consistent with Feb 15th version of TRS for DVEVM / DVDP
Defined combinations of codecs to support key market requirements Additional executables will be available over time, based on market demand 3rd parties will be enabled with the tools to create custom DSP AV executables With the DVEVM, TI will be delivering an evaluation version of 3 DSP executables with the combinations of digital media codecs listed here. We also have plans to release an additional set of DSP executables shown at the bottom half of the table. This isn’t meant to be a comprehensive list of the combinations required by the markets DaVinci will serve, but a starting point. We are looking for inputs from customers on combinations and additional codecs needed. 3rd parties will also be enabled to create custom executables, so we expect customers to have a rich library of complete executables to draw from as the DaVinci platform gathers momentum in the market. Codec/Codec Combination Deliverables The following codecs shall be included in both the DVEVM and DVDP The DVEVM and DVDP products shall provide a set of pre-configured combinations of codec algorithms to support out-of-the-box demo applications. Each codec combination provided with the products shall be pre-linked as a DSP executable .out file. This linked file shall include The specified codec libraries The DSP/BIOS library The DSP/BIOS Link DSP library XDAIS IALG libraries Framework components (i.e., DSKT2, DMAN3, ACPY3) In support of the Video Encode/Decode demo application, the following codec combinations shall be provided: H.264 Video Encode, H.264 Video Decode In support of the AV Encode demo application, the following codec combinations shall be provided: H.264 (Baseline Profile) Video Encode, G.711 Speech Encode MPEG-4 (Simple Profile) Video Encode, G.711 Speech Encode In support of the AV Decode demo application, the following codec combinations shall be provided: MPEG2 Video Decode, MPEG1 Audio Decode H.264 (Baseline Profile) Video Decode, AAC Audio Decode MPEG-4 (Simple Profile) Video Decode, G.711 Speech Decode The following codecs shall be additionally included in the DVDP only Not any more [DVDP] H.264 Decode (Main Profile) [DVDP] JPEG Decode/ Encode
19
DSP AV Executables from TI
Defined combinations of codecs to support key market requirements Additional executables will be available over time, based on market demand 3rd parties will be enabled with the tools to create custom DSP AV executables DSP EXECUTABLES Included with DVEVM H.264 BP encode/decode; H.264 BP encode,G.711 encode MPEG-4 SP encode, G.711 encode MPEG-2 decode,MPEG-1 layer 2 audio decode H.264 BP decode, AAC LC decode With the DVEVM, TI will be delivering an evaluation version of 3 DSP executables with the combinations of digital media codecs listed here. We also have plans to release an additional set of DSP executables shown at the bottom half of the table. This isn’t meant to be a comprehensive list of the combinations required by the markets DaVinci will serve, but a starting point. We are looking for inputs from customers on combinations and additional codecs needed. 3rd parties will also be enabled to create custom executables, so we expect customers to have a rich library of complete executables to draw from as the DaVinci platform gathers momentum in the market. Codec/Codec Combination Deliverables The following codecs shall be included in both the DVEVM and DVDP The DVEVM and DVDP products shall provide a set of pre-configured combinations of codec algorithms to support out-of-the-box demo applications. Each codec combination provided with the products shall be pre-linked as a DSP executable .out file. This linked file shall include The specified codec libraries The DSP/BIOS library The DSP/BIOS Link DSP library XDAIS IALG libraries Framework components (i.e., DSKT2, DMAN3, ACPY3) In support of the Video Encode/Decode demo application, the following codec combinations shall be provided: H.264 Video Encode, H.264 Video Decode In support of the AV Encode demo application, the following codec combinations shall be provided: H.264 (Baseline Profile) Video Encode, G.711 Speech Encode MPEG-4 (Simple Profile) Video Encode, G.711 Speech Encode In support of the AV Decode demo application, the following codec combinations shall be provided: MPEG2 Video Decode, MPEG1 Audio Decode H.264 (Baseline Profile) Video Decode, AAC Audio Decode MPEG-4 (Simple Profile) Video Decode, G.711 Speech Decode The following codecs shall be additionally included in the DVDP only Not any more [DVDP] H.264 Decode (Main Profile) [DVDP] JPEG Decode/ Encode MPEG-4 SP decode, G.711 decode Also available JPEG encode/decode …More DSP AV executable combinations to come…
20
Building a Custom DSP AV Executable
Application Layer ARM Subsystem OEM Value Add xDM API VIDEO H.264 BP enc Customer Application Software Drivers Output/ Display Drivers Input/Capture VISA VISA APIs DSP/BIOS Link Host Component Codec Engine Host Component xDM API AUDIO Config Guide S (User Space) xDM API AAC dec Linux Kernel v (Kernel Space) Custom DSP AV Executable: H.264 dec + AAC dec AAC, WMA9 enc+dec Signal Processing Layer DSP Subsystem Video Task Image Task Speech Task Audio Task H.264 BP enc JPEG enc/dec AAC dec G.729ab Codec Engine Inter-Processor Communication (Link) Codec Engine Video Task Image Task Speech Task Audio Task DSP/BIOS™ DSP/BIOS™ Link xDM Codec Video Task H.264 BP enc Audio Task AAC dec This slide shows how the various components are built into a complete DSP executable. BIOS is the foundation, codec engine is the framework, interprocessor communications allows control via APIs on the ARM9 subsystem, and the VISA APIs are the interface to the completed executable. These components together enable customers and TI 3rd parties to create custom combinations of codecs. These combinations can allow you to treat the the DSP as a high performance black box that runs the digital media encoding, decoding, and processing target to your system and application. DSP/BIOS™
21
Open Software Architecture on DSP and ARM
Customer Application Software Drivers Output/ Display Drivers Input/Capture Multiple options to tap into DSP performance Pre-built DSP executable Custom bundle of codecs Custom IP along with codecs Different levels of abstraction for different users APIs Linux Kernel DSP AV Executable (.out file) Pre-wired by TI by Authorized Software Provider Custom Built with TI Codec Engine Custom Built with Custom framework .out -- DSP executable VIVA Interface Inter-Processor Communication (Link) Framework Components Codec Engine We’re allowing you multiple options to tap into DSP performance, because different users often want to add value in different areas. We are providing multiple options to tap into DSP performance, for example with: - pre-build dsp executables from TI and 3rd parties - custom combinations of codecs - your custom IP along with TI, 3rd party, or your own codecs With these options for varying levels of abstraction on the DSP layer, we are truly delivering an open architecture on the DSP, and as we’ll see in more detail on the coming slides we are also delivering an open software architecture on the application layer. Video Encoder algorithm DSP AV Executable Pre-built by TI or 3rd parties Custom built w/Codec Engine Codecs w/custom framework xDAIS-DT Codec Combo: WMV9 + WMA9 DSP/BIOS
22
DM644x™ Software Overview
Application Layer Signal Processing Layer Customer Value-Added Differentiation Codec APIs Digital Media APIs A DSP Image that consists of : Codecs Codec engine DSP/BIOS™ Interprocessor communications User Space Input/Output APIs Kernel Space Now that we’ve looked at the overall system, we want to take a deeper look at the signal processing layer. TI is providing the software components you need to build digital media codecs into a DSP executable image: codecs, a codec engine framework, the DSP/BIOS real-time kernel, interprocessor communications libraries, and other components. We are providing the user with varying levels of abstraction from the implementation details on the DSP. Some customers would prefer to focus on developing code on the ARM, so the software components from TI make it possible to integrate custom combinations of digital media codecs into a black box at the signal processing layer that presents an API to the application. Other customers have value to add at the signal processing layer, and you will see how TI’s open programmability enables value add on the DSP while still fostering reuse of TI and 3rd party software components as appropriate. Drivers tightly integrated into OS Input/output using Camera, LCD, HDD, Networking, etc.
23
Optimized Linux BSP Linux base port for DM644x EVM (based upon MontaVista kernel) Drivers Serial - UART, I2C, SPI Storage - ATA, NAND, MMC Network - 10/100 Ethernet (EMAC/CPMAC) USB - Mass storage - Host and Gadget drivers Audio - OSS Audio driver Video - V4L2 for Capture and FBDev / DirectFB for Display UBoot (boot-loader) Our initial offering will be Linux , based on the MontaVista kernel. Some of the drivers included and supported are shown here. It also includes the boot-loader UBoot
24
OS Adaptation Layer enables IPC Link to multiple Operating systems
BIOS Link software designed to support multiple OS’s First implementation of DSP/BIOS Link will include OSAL for Linux PrOS BIOS/Link porting guide outlines steps required to port to other operating systems Host Application Operating System Linux WinCE DSP Application The IPC (BIOS/Link) is designed to support multiple OSs. While the first implementations will include the adaptation layer for Linux and PrOS, it includes a porting guide that outlines steps required to port to other OSs… such as WinCE. DSP/BIOS Link API DSP/BIOS WinCE OS Adaptation Layer OS Adaptation Layer LINK driver LINK driver drivers ARM Subsystem DSP Subsystem
25
EPSI Leverages Commonality Between Multiple OS’s
Commonality of drivers Linux BIOS WinCE PrOS Etc… Facilitates faster porting of OS drivers for DaVinci Customers, TI, or 3rd party partners can port driver package to additional OS’s based on market needs PrOS Video Audio etc… V4L2 FBDEV OSS etc… Linux I2C VLYNQ Cache DSP/BIOS™ Video Audio etc… WinCE Video Networking etc… EPSI Linux is our first offering. As we port to other OS’s, EPSI extensions on non-OS specific drivers will allow for a much easier porting experience. While functions like Audio, Video and Networking will require OS specific drivers, our “EPSI enabled drivers” will overlap with almost any OS that a developer wishes to port to.
26
DaVinci™ Development Tools
Software Codec evaluation and demos including: H.264, MPEG-4, MPEG-2, AAC+, G.711 Multimedia APIs & frameworks MontaVista Linux support package Hardware Based on the DM6446 Additional including hardware components: NTSC/PAL video camera 5.6-inch LCD screen Speakers and microphone IR remote Hard disk drive (2.5-inch 40G) Connectivity Connectivity capabilities: USB 2.0, 10/100 EMAC Multiple on-board memory types: CompactFlash, ATA, SD, DDR Video input via NTSC/PAL Video output via NTSC/PAL & YPbPr/RGB CD-quality audio input and output Daughter-card connections to peripheral interfaces Digital Video Evaluation Module (DV-EVM) Now let’s discuss development tools – how you gain access to the SW and HW Brings them all together so you can take advantage of all aspects of DaVinci Modular, inclusive approach for the customer benefit DVEVM Complete development board that allows you to evaluate the performance of the software and DM6446, and begin Linux development Hardware Includes everything you need to get started on your digital video application Based on the DaVinci flagship – the DM6446 Video camera, LCD, speakers, microphone and hard disk drive Software Codec demos to allow customers to evaluate performance Access to the DaVinci APIs and frameworks for software development Connectivity USB 2.0 10/100 EMAC Video input/output Daughtercard connections to make it possible to prototype boards and work with the DM6446 Development tools & Support MV gives you access to the entire system – writing to APIs – optimized for this device and LSP is available – ARM only approach Reference guidelines to help with development Get started today by ordering the board for only $1995 DVEVM TMDXEVM6446 Order entry open Development tools and support Linux development tools Reference guidelines for high-speed video board design, DDR2 layout, etc.
27
Get Started: Order Entry Open
DM6443 Processors: Digital video system-on-chips TMX320DM6443 – Video decode TMX320DM6446 – Video encode/decode DM6446 DV-EVM (TMDXEVM6446): Validated software and hardware development Software: Open, optimized & production tested Platform-optimized, multimedia codecs Platform support package Linux support package Industry-recognized APIs Multimedia frameworks For customers who want to get started today – Order Entry will OPEN on our announcement date of December 5th Go online to order today and begin accessing the technical documentation right away DV-EVM Digital Video Evaluation Module
28
Thank You!
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.