[FFmpeg-devel] Small modifcation to libavformat/dvbsubdec.c

Reimar Döffinger Reimar.Doeffinger at gmx.de
Tue Sep 17 07:26:21 CEST 2013

On 16.09.2013, at 23:58, Carl Eugen Hoyos <cehoyos at ag.or.at> wrote:

> JULIAN GARDNER <joolzg <at> btinternet.com> writes:
>> Currently in my own personal tree are
>> Complete
>> 1. DVB Teletext language parsing
>> 2. DVB Teletext SI generation for -c:s copy
> Please send patches, or even better, setup a git 
> clone and ask Michael to merge. I know that these 
> features are very welcome!
> I may (completely) misunderstand this thread but 
> I suspect patches that make decoders more strict 
> than absolutely required are generally not a 
> good idea, particularly if no sample is known 
> that profits from the change.

The patch doesn't make it more strict.
A patch making it more strict would do something like adding
if (!!(depth & 0x80) + !!(depth & 0x40) + !!(depth & 0x20) > 1)

What it does instead is that it interprets an invalid value like 0xc0 as 0x80.
The spec (at least the quoted part) does not say a thing about how corrupt data should be handled as far as I can tell, and 3 of us (at least 2 with extensive experience reading and implementing specifications) agree on that, so while experience is good and something to respect the reasoning for the change makes 0 sense to us so far.
The commit message really should explain why a value of 0xc0 should be treated like 0x80 and not e.g. 0x40 or 0x00, just as examples.

More information about the ffmpeg-devel mailing list