Tag Archives: Digital Radio

MPEG-4 BIFS and MPEG-2 TS Seminar @ WorldDMB

I gave the following presentations during the Seminar on MPEG-4 BIFS and MPEG-2 TS for the WorldDMB Technical Committee. The first one explains the basics of MPEG-4 BIFS and the second one shows the latest developments for Digital Radio Services, the new BIFS tools and profiles and the modification for the proposed carriage of those services over MPEG-2 TS. As usual, if you have any comment please contact me. Continue reading MPEG-4 BIFS and MPEG-2 TS Seminar @ WorldDMB

Digital Radio Player and Memory Footprint

As some of you know, the GPAC player is compliant Digital Radio player, according to the T-DMB standard (i.e. according to MPEG-2 TS, MPEG-4 SL, MPEG-4 AAC and MPEG-4 BIFS). Given the fact that GPAC is big and implements many standards, the question on its footprint was raised when considering embedded platforms. In the GPAC code, there is a possibility to compile the code, removing a lot of unnecessary features. On Windows, you have to tweak the include/gpac/configuration.h file. On linux, you have to deal with the configure script. Here is an example:

Using SVN revision 2136.

With this you can compile, just the MP4Client application and the few plugins needed (MPEG-2 TS, BIFS, ODF, AAC, Video ouput, audio output, rasterizer and font engine) and you will be able to play T-DMB files (no MP4, no BT or XMT).

The result of a Windows XP 32 bits compilation is the following:

MP4Client application: 76 KB
GPAC Core library: 1240 KB
AAC decoder plugin: 244 KB
BIFS decoder plugin: 7.5 KB
ODF decoder plugin: 8.5 KB
MPEG-2 TS plugin: 16.5 KB
DirectX Audio/Video plugin: 64 KB
FreeType font engine plugin: 360 KB
Rasterizer plugin: 32.5 KB
JPEG & PNG decoder plugin: 72 KB

This make a total T-DMB player for 2.07 MB (759 KB as a 7z archive !!). There is no other dependency (except the C runtime, Direct X runtime). This is good but could be improved (e.g. the BIFS decoder could be simplified to support only the nodes in the T-DMB profile, all unnecessary functions in the core library are not excluded from the compilation …).

On Ubuntu 10.10, 32 bits, compiled with -Os and stripped, the results are:

MP4Client application: 63 KB
GPAC Core library: 1726 KB
AAC decoder plugin: 9.5 KB
BIFS decoder plugin: 5.5 KB
ODF decoder plugin: 5.5 KB
MPEG-2 TS plugin: 26 KB
OSS Audio plugin: 9.5 KB
X11 Video plugin: 22 KB
FreeType font engine plugin: 34 KB
Rasterizer plugin: 52 KB
JPEG & PNG decoder plugin: 13.5 KB

This make a TAR package of 1.9 MB and a TGZ of 743 KB. Very light, I think, even if in this case some dependencies are hidden on my system (libm, libz, libjpeg, libpng12, libpthread, libdl, and libc).