More on VLC closed captioning

Hey there!

It’s been a while since I posted anything on the Kernel Labs blog, but we’ve been diligently working away at various projects. A few things probably worth noting:

A while back I did a bunch of VLC improvements, which finally went into the upstream VLC a couple of months ago. I actually made a quick video at the time which showed the difference, but never got around to posting it. Well, here it is:

Some of the improvements are subtle – fixes to specific characters not properly rendered, the presence of support for colored and italic text (only noticable if actually showing such), etc. The most obvious changes though are addition of the high contrast black background that EIA-608 users have come to expect from NTSC closed captions, as well as the fact that we now support proper placement of captions, whereas before everything would be rendered centered in the bottom of the screen.

All of those changes are upstream today. Putting them into use though exposed another set of problems related to rendering EIA-608 captions when playing back HD streams (e.g. 15Mbps MPEG2). This has prompted a whole project where we’re doing a bunch of profiling, finding the bottlenecks, and optimizing the code. The intended target is a relatively low-end platform that uses software decoding and decoding (i.e. no VDPAU) so we’re really having to dig deep to get that use case working well.

We’re not just talking about the EIA-608 caption rendering though – we’ve had to profile the whole stack, which has resulted in improvements to the VLC code for Freetype rendering, alpha blending performance, and a bunch of other areas.

As soon as I have some time to put together some performance numbers, we’ll have another post!

Leave a Reply