Implementation and Performance Evaluation of a Media Decoder with Hardware Acceleration Support Targeting High Definition Streams in the SBTVD Ginga Middleware
Ginga, the middleware of Brazilian Digital TV, is composed of two disjoint subsystems, the GingaNCL, responsible to support NCL/LUA applications, and GingaJ, responsible to support Java applications. Aiming to develop a common core, which could support both the GingaNCL and GingaJ, it was created the Ginga Code Development Network (GingaCDN). From this effort, a common core called Ginga Common Core (GingaCC) was conceived. One of the GingaCC main tasks is the media streams decoding. In this paper, we present a software implementation of the GingaCC media decoder, called Media Processing. Our media decoder offers support for hardware acceleration using the resources available on graphic processing unit (GPU). This paper presents the component evaluation with and without hardware acceleration support, in order to investigate the performance of the implemented decoder and also to investigate the processor usage and the memory constraint to decode video, audio and subtitles.
ginga middleware media processing hardware decoding