Recent years, with the fast development of multimedia and network technology, there are more and more embedded network video applications. In those applications, special H.264 codec chips or DSP's are often used to encode and decode video signals. However, TI's Da Vinci platform which integrates ARM and DSP dual cores has splendid performance and low power cost. This paper basically research video capture, encode/decode, and video streaming issues on Da Vinci platform.In the beginning of the paper, we elaborate Da Vinci's ARM+DSP dual-core architecture, analyze the principle of inter-processor communications, and discuss Codec Engine mechanism with VISA API calling procedure.Da Vinci platform run on Linux embedded OS environment. OS booting, however, require bootloader to initialize hardware device, setup memory mapping and so on. So porting Bootloader is a necessary step of developing Da Vinci system. We set the job from startup procedure of U-Boot, and then discuss how to port U-Boot on Da Vinci board in detail.In respect of video capturing, we utilize Video4Linux2, the video device driver interface of Linux 2.6 kernal. We use the mmap() system call of V4L2 to map the buffer memory of capture device to process address space, so that we realize video capture control and enhance I/O performance.In respect of video encoding/decoding, we use Codec Engine mechanism to implement H.264 algorithm on DSP-side.As for video streaming, we use RTP/RTCP protocol in order to guarantee the stability of transmitting. We port open-sourced JRTPLIB library, and split the encoded video frames into packages to enhance the transmitting stability.In respect of video display, we design the display program based on Framebuffer mechanism.Besides video, we do preparatory research on audio capture and playback on Davinci platform. |