Low-cost high-definition screen media system based on OMAP3730 [DSP hard decoding]

This paper presents the design and implementation of a low-cost, high-definition screen media system based on the OMAP3730 platform. The system leverages the powerful computing capabilities of the programmable C64+ DSP core to achieve hardware-based high-definition video decoding for common formats, while using software for less frequently used formats. Additionally, the system utilizes the DSP to enable screen rotation, allowing for adaptive playback on both horizontal and vertical screens.

With the rapid development of mobile internet and multimedia technologies, digital video has become an essential part of daily life. However, achieving high-quality video applications in low-cost and low-power environments remains a challenge. While ARM processors offer extensive peripheral support, their computational power is limited. On the other hand, Harvard architecture-based systems provide strong processing power but lack peripheral support. The OMAP3730, a dual-core heterogeneous chip from Texas Instruments, combines a 1GHz Cortex-A8 ARM core with an 800MHz programmable C64+ DSP core, making it ideal for this application.

The system is designed to fully utilize the C64+ DSP’s capabilities, enabling efficient video decoding and playback. It also integrates screen rotation functionality, ensuring that content can be displayed correctly regardless of the device orientation. A detailed system flow diagram is provided in Figure 1, illustrating the overall architecture.

1. Video Type Detection and Decoding

To determine the type of video file, the system uses GstDiscover, a tool from the GStreamer library that analyzes input URIs and returns detailed information about the media. This includes video encoding, resolution, audio format, and more. By analyzing these details, the system can decide whether to use hardware acceleration or fall back to software decoding. A typical output of GstDiscover is shown in Figure 2, which includes information such as the video codec (video/x-vp8), resolution (854x480), and frame rate (25fps).

In practice, the system uses Qt's QProcess class to execute GstDiscover via the command line and capture its output. Regular expressions are then applied to extract key information like "video:" and "audio:" from the output. This allows the system to make informed decisions about decoding methods.

GStreamer is a modular multimedia framework that enables flexible pipeline creation by connecting various elements. These elements handle tasks such as file reading, decoding, and output. The framework supports plug-in-based components, making it easy to extend and customize. TI's GStreamer plugin uses DMAI to access the underlying DSP, enabling efficient hardware acceleration.

Elements are the building blocks of GStreamer pipelines. Each element performs a specific task, such as decoding, rendering, or data filtering. Elements can be connected through interfaces (pads) to form complex pipelines. Containers are special elements that group multiple elements together, acting as a single unit. Pipelines provide a higher-level abstraction, including features like bus mechanisms for communication with the application layer.

A simple Ogg player pipeline is illustrated in Figure 3, where each box represents an element. The source element reads the file, the ogg resolver splits the stream, and the decoders process the video and audio separately. Finally, the decoded data is sent to the display and sound card for playback.

This article refers to the address: http://TIcle/273271.htm

2. Hard Decoding Using DSP

Hard decoding using the DSP replaces resource-intensive elements in the GStreamer pipeline with those that can be accelerated by the DSP. A pipeline using DSP-based hard decoding is shown in Figure 4. Here, the video decoder is replaced with TIViddec, the audio decoder with TIAuddec, and the display element with TIDmaiVideoSink. This significantly improves performance and reduces CPU usage.

OMAP3730 supports a wide range of codecs, including H.264, MPEG-4, H.263, VC-1, JPEG, G.711, G.723, MP3, WMA, and more. For supported formats, the system uses GStreamer for hardware decoding. For unsupported formats, Mplayer is used due to its better compatibility and stability.

3. Screen Rotation Using DSP

Horizontal and vertical screens each have their advantages. Horizontal screens align with traditional viewing habits, while vertical screens save space. On embedded systems, Linux typically starts in horizontal mode. There are two approaches to supporting vertical screens: system-level and application-level. The system method can cause instability during HD playback, so the application method is preferred.

The application-based screen rotation is divided into two parts: the interface and the video display. The QT-based interface uses the environment variable `export QWS_DISPLAY=transformed:::rot90:0` to rotate the screen. For video playback, GStreamer and Mplayer are handled differently. GStreamer uses a custom transition element, while Mplayer requires a screen inversion plugin in the vo directory.

TI provides the C6Accel library, which encapsulates commonly used DSP functions into a unified API. It includes signal processing, image processing, and math libraries. Matrix transposition, which is essential for screen rotation, can be implemented on the floating-point DSP core using the function `C6accel_DSPF_sp_mat_trans`. However, since OMAP3730 uses a fixed-point DSP, this operation must be done in software.

4. Conclusion

The OMAP3730 platform effectively combines the strengths of ARM and DSP cores, offering a balanced solution for low-cost, high-performance digital video applications. By leveraging the C64+ DSP for hardware decoding and screen rotation, the system achieves optimal performance and flexibility. This design has broad potential for use in embedded systems, particularly in scenarios requiring real-time video playback and adaptive display management.

Pos System

Pos System, Cash Register Terminal,Free Pos Software,Point Of Sale Terminal

Guangzhou Winson Information Technology Co., Ltd. , https://www.barcodescanner-2d.com