The power of API
In this situation, the ability to abstract through application interfaces (APIs) works. API allows developers to focus on the main task without taking much time for specific implementation issues. For example, from an application perspective, all the developer needs to consider is accessing the video stream. Through API, this can be done with a simple function call like GetVideo (). All the intricate details related to identifying the source and getting frames are "packaged" in the GetVideo () function. In this way, the application can access many different video sources (there are differences in how to do it) without having to change any program commands.
This is one of the key ideas of DaVinci technology. With the appropriate platform architecture, DaVinci's API library allows developers to access videos in a simple way such as calling functions and can exploit drivers (drivers) and codecs (encoders and decoders). ) available for application development.
DAVINCI DOUBLE DOUBLE
DM644x is a dual-core chip that combines the ARM926EJ-S application processor (RISC) with the Digital Signal Processor (DSP) C64x +. Both ARM and DSP cores are programmable (so devices using the DM644x chip can be easily updated).
ARM core has 297MHz clock, supports 16-bit instruction set and DSP expansion scripts. This kernel has a built-in Jazelle mechanism that speeds up Java and the EmbeddedICE-RT mechanism to enable real-time error trapping.
DSP is clocked at 594MHz. This core has 8 functional units, including 6 ALU 32/40-bit supports 4 8-bit calculations (or 1 32-bit calculation) per clock and 2 multipliers support 4 32-bit operations ( or 4 16x16-bit calculations per clock. Like the ARM kernel, the DSP kernel also supports 16-bit instructions and can address in bytes for 8, 16, 32 and 64-bit data.
In addition to two ARM and DSP, DaVinci chip also integrates video processing components, control CCD for digital cameras, external memory card communication, ATA hard disk communication, Ethernet network communication, audio port communication. .
Support of MontaVista
A key element of DaVinci technology simplifies video application implementation by using standard Linux APIs that are familiar to many developers. Currently DaVinci uses Linux 2.6.10 Professional Edition of MontaVista (www.mvista.com), the pioneer of embedded Linux operating system.
In terms of programming, common tasks such as open (close), close (close), read (read) and write (write) can be done with standard API function calls. This allows application programmers to access a variety of devices and video sources in the same way. In addition, for devices with storage (using a hard disk or memory card), data access can be done via file system communication.
Linux-based video drivers allow developers to access and control video features without having to be aware of digital video or digital signal processing. Configuring video equipment to meet specific applications, adjusting image size, the number of bits of each pixel, refresh rate or color palette . can be easily done through the API.
An illustrative example with a video application has a rather complex feature: time shifting. This feature allows viewers to "pause" the program (video) that is playing live (for example, answering the phone for example). The video from the source will be saved to the hard disk and when the user continues watching, the device will display the saved video while continuing to save the video so that the user does not lose any video (ie done and encode video to save to hard disk and decode video for display on screen). The code to follow DaVinci technology is very simple:
InitPeripherals ()
InitEthernet ();
InitATA ();
InitDisplay ();
InitH264Encoder ();
InitH264Decoder ();
Action 1 : press the Pause button (pause)
OpenCodec ()
OpenH264Channel;
// Compress and save video to hard disk
StartEncode (Ethernet.Address, H264.EncodeChannel, ATA.Address);
.
Action 2 : press Resume button (recovery)
StartDecode (ATA.Address, H264.DecodeChannel, Display.Address);
.
DAVINCI CARDS
Motherboard for DaVinci application development
As part of the "package" strategy, recently (June 2006) TI released a set of video application development tools based on DaVinci technology, including the eXpressDSP Configuration Kit, TMS320DM644x SoC Analyzer and MontaVista Linux.
The eXpressDSP Configuration Kit is used to combine software modules together into a common system. This tool is capable of integrating video encoders / decoders (codecs), images, audio and other codecs according to TI's eXpressDSP Digital Media (xDM) standard.
DM644x SoC Analyzer has the ability to visually analyze and display the operating status of the system, data flow bottlenecks and more.
The analysis performs on both the DSP and ARM cores of the TMS320DM644x processor, providing a comprehensive view of the system.
Finally, the MontaVista Linux operating system is optimized for video applications and DM644x processors, which include MontaVista's Devium BSP Linux package and DevRocket development environment.
This development toolkit requires a platform for testing and TI has a DVEVM (Digital Video Evaluation Module) module for this purpose.
Results of DaVinci
PMP Archos 404 and Softier Wave-400 box-top box - the first devices under DaVinci technology.
When launching DaVinci (September 9, 2005), Texas Instruments (TI) promises to bring the highest hardware and software integration and best support for video application development. DaVinci is a flexible solution that can be used for a variety of devices such as video phones, digital cameras, portable entertainment devices, DVD receivers and set-top boxes, IPTV.
DaVinci technology promises to create a new generation of smart and more versatile video devices. For example, digital cameras have the ability to automatically adjust the color and light of photos. Instead of multiple devices, a set-top box can allow users to play or record videos while talking videos with friends.
Users do not have to wait long, there are already some products under DaVinci technology. These include PMP Archos 404, 504 and 604 series of devices or Sonata STB series (set-top box for IPTV) and Sonata DVR (Digital Video Recorder) of Visioneering.
The video market is opening up opportunities for DaVinci and this technology is expected to "draw" and bring unique audiovisual "works", worthy of the name of the great painter whose name is - Leonardo da Vinci.
Documents :
- The DaVinci Effect, White paper TIs
- LinuxDevices.com
LINUX PROMOTED
MotoMing uses the MontaVista Linux OS
Do you know the MotoMing "smart" mobile phone (recently introduced in TGVT A 9/2006) is popular in the market using the operating system?Not Symbian OS or Windows Mobile but MontaVista Linux - the embedded Linux operating system version.
MotoMing is neither the first mobile phone to use the Linux OS and MontaVista nor the only embedded Linux OS. Before MotoMing there were many other mobile phones and many other devices using embedded Linux OS (including MontaVista and other Linux versions), These include well-known names such as mobile phones that support Nokia 7700 web browsing, Archos PMA400 mobile entertainment devices (PMP) or TiVo's video (DVR) receivers, . And the future will be increasingly set. suffer from embedded Linux.
According to LinuxDevices.com's recent survey of embedded Linux market, nearly two-thirds of participants plan to support or develop embedded Linux services.With 49% of users, Linux is currently the most popular embedded operating system.Based on survey data, Linux may account for 60% of the OS market embedded in the next 3-4 years.
Trend of using embedded Linux
Phuong Uyen