[FFmpeg-devel] [PATCHv5 4/4] lavc: add teletext decoder using libzvbi

Marton Balint cus at passwd.hu
Sun Sep 1 17:47:15 CEST 2013

On Sat, 24 Aug 2013, Carl Eugen Hoyos wrote:

> Marton Balint <cus <at> passwd.hu> writes:
>>> Or in other words: Is one FFmpeg subtitle
>>> stream provided for all pages plus one
>>> stream for each subtitle page?
>>> Or is this not a good idea?
>> At the moment, a single subtitle stream is provided for
>> all the teletext packets, and the decoder decides which
>> pages to decode from these teletext packets.
> Meaning you cannot decode / reencode two teletext subtitle
> pages at the same time, or do I misunderstand?

Not unless you copy the packets before decoding and pass them to two 
different decoders with different txt page options...

>> Creating separate streams in the demuxer for each entry
>> in the teletext descriptor may have it's advantages, but
>> I can't think of a way to split the teletext packets to
>> multiple streams without decoding the whole teletext in
>> the demuxer first.
> (Doesn't this sentence indicate that this should be solved
> before the patch gets applied?)

No, because even if we will create substreams in the future (and it does 
not matter at the moment if it will a valid DVB_TELETEXT substream with 
only the selected pages, or some custom RAW_TELETEXT_PAGE substream), we 
will also keep the untouched/unsplit dvb teletext stream with all the 
teletext packets available.

The only thing I can think of that can cause problems in the future is the 
default page 100 filter of the teletext decoder. The default should be to 
decode all pages, which is less user-friendly but more future-proof, I am 
totally willing to change that to all pages if others agree.

>> Also I don't know if the mpegts demuxer will like if we
>> just start adding streams with the same PID values...
> I believe this is done with TrueHD / AC-3 streams.

Yes, thanks. However, there is also a difference here, for the teletext 
substreams we will have to generate extra packets, and not just decide for 
a PES packet if it will go to this stream or that.

>> The only way I see is if we pass all teletext packets to
>> all these streams, and as a packet side data also pass a
>> default page filter to the decoder, but I don't know if
>> that is something we should do...
>> Anyway, since we definitely need a stream with all the
>> teletext packets, these extra subtitle streams can be
>> added later :P
> Of course!
> Thank you for the explanations, Carl Eugen

You're welcome, thanks for your questions.

Are there any other questions left that needs sorting out before the can 
get applied?


More information about the ffmpeg-devel mailing list