[FFmpeg-devel] BUG in use of extradata and extradata_size with dvb subtitles and teletext

Andriy Lysnevych andriy.lysnevych at gmail.com
Tue Jan 28 12:04:45 CET 2014


I agree with all Marton's comments and will release fixed patches
shortly. I want to discuss only this point:

> In case of combined streams wouldn't it make sense to set the composition_id and ancillary_id to the ids of the first entry?

In documentation I found the following description:

The composition page carries the segments unique to a single subtitle
stream. It includes the page composition, region composition, CLUT
definition, and object data segments (cf. Figure 5). The ancillary
page is an optional page, which can be used to carry CLUT definition
and object data segments that could be shared by more than one
subtitle streams. For example, it could be used to carry logos or
character glyphs, or to carry objects that are common to two or more
subtitle streams.

I don't know how DVB subtitles decoder behaves in case of multiple
subtitling sub-streams in single DVB subtitle stream. But there are
two ways:

a) If we will set composition and ancillary IDs to values from first
subtitle descriptor then because of this condition:

if (page_id == ctx->composition_id || page_id == ctx->ancillary_id ||
            ctx->composition_id == -1 || ctx->ancillary_id == -1) {

Only first DVB subtitle sub-stream will be processed by decoder, all
other will be ignored.

b) If we set them to -1 then all sub-streams will be processed, but
result is not predictable for me because I have no such stream to test
with the decoder.

What option is preferable? Is there any support of decoding/displaying
subtitles from streams with multiple subtitling sub-streams (DVB
subtitles or DVB teletext subtitles) in FFmpeg?

Andriy Lysnevych

More information about the ffmpeg-devel mailing list