[FFmpeg-devel] Small modifcation to libavformat/dvbsubdec.c
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
>> 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