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).


Project outcome

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

Customer

One of the European telecommunications companies.

Objective

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.

Solution

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:

  1. Implement a simple deinterlacing filter on Linux PC with the DSPC-8681 PCI-e card.
  2. Create a YADIF-algorithm-based filter and port it to the TMS320C6678 DSP.
  3. 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.