Embedded software for MPEG2/4 transcoder
- Project Overview
Commissioned by one of the European telecommunications companies, we finalized the firmware design for multi-channel transcoding of MPEG2-TS (transport streams) into H264 format. As a result, it provided parallel transcoding based on the DSPC-8681 hardware transcoder. Also, we developed and implemented a deinterlacing filter based on the YADIF algorithm (Yet Another DeInterlacing Filter).
Promwad’s experts completed the following tasks under the project:
— Hardware platform analysis and debugging
— Tasks parallelization employed on multiple DSP cores for multichannel processing implementation
— Development of the deinterlacing YADIF filter and its performance optimization
— Correction of errors in the DVB Multicast software server
- How It's Made
One of the European telecommunications companies.
Our customer required an integration of his multicast DVB server with hardware transcoder PCI-e boards to allow streaming of DVB-S/S2 and DVB-C signal over IP networks.
A target hardware was the DSCP-8681 PCI-e board by Advantech. This card should transcode multiple streams from MPEG2-TS into H264 and meet the following requirements:
- Transcode multiple streams at the same time
- Have configurable video stream filtering
The Promwad team caught up ongoing embedded software development effort with its customer’s team, implemented filtering functionality and did bug fixing.
1. Hardware development
The DSPC-8681 board is a perfect fit for applications in many industries such as digital media, communications, video-surveillance, medical imaging, bioinformatics, radar, sonar and instrumentation, high performance computing as well as test and measurement. It has the following key features:
- Four TI TMS320C6678 DSPs
- PCI Express Card with PCIe Gen 2 x8 interface to the edge connector
- Eight TMS320C66x DSP Core Subsystems (C66x CorePacs) @ 1.0 GHz per DSP
- 1 GB DDR-1333 on board memory per DSP
Availability of such number of independent cores makes possible either to transcode multiple video streams at the same time or solve complex tasks that require parallel computations.
2. Software development
The Promwad team provided numerous bug fixes to existing multicast DVB server based on ffmpeg software libraries and implemented part of functionality related to video filtering and deinterlacing.
The work scope was the following:
- Implement a simple deinterlacing filter on Linux PC with the DSPC-8681 PCI-e card.
- Create a YADIF-algorithm-based filter and port it to the TMS320C6678 DSP.
- Perform algorithm optimization for DSP and parallel processing on 4 DSP cores
As result of Promwad’s work, the customer delivered the DVB server software and appliances to his clients on time and with required functionality.