TriMedia Processors
Real-time H.264/AVC Encoder for TriMedia
VSofts Real-time H.264 Encoder for TriMedia is an H.264/AVC encoder SDK optimized for the 32-bit TriMedia processors. The encoder supports the Baseline Profile for progressive format frames.
Includes
- VSofts Real-time H.264 Baseline Profile Encoder SDK for the TriMedia TM5250 core, implemented as a TSSA-compliant module.
- Demo encoder application designed for the MDS LCP-1700 board.
- Sample host application for Windows to control the embedded encoder through the PCI interface.
Features
- H.264 Baseline Profile for progressive frame input in YUV 4:2:0 format
- Arbitrary frame rate
- Supports P- and B-frames
- CAVLC entropy coding
- Motion estimation sub-divisions: 16x16, 16x8, 8x16, 8x8
- 1 pel, ½ Pel and ¼ Pel accuracy in motion estimation search
- Motion search range of +-40
- Support for out-of-bounds motion vectors
- All modes of Intra 16x16 prediction
- In-loop deblocking filter
- CBR rate control
- Complexity Analysis
- Latency depends on number of B-frames; when this feature is not used, latency is 1 frame
Memory Utilization
The encoder is optimized for performance rather than memory consumption. However, it still offers an outstanding memory footprint.
- Encoder requires: ~9 MB (may be reduced to 2-4MB)
- For 2 reference frames: 1 MB
- For each P-frame: 500 KB (may be reduced to 200 KB)
Performance
On the LCP-1700 board with the PNX1700 CPU running at 450 MHz (memory running at 200 MHz), the well-known “Foreman sequence” with a resolution of CIF 352x288 (PAL) is encoded with CPU usage ~60%.