[Ffmpeg-devel] VP6F decode bug

Michael Niedermayer michaelni
Sun Oct 22 23:31:17 CEST 2006


Hi

On Sun, Oct 22, 2006 at 10:57:13PM +0200, Aurelien Jacobs wrote:
> On Sun, 22 Oct 2006 22:29:45 +0200
> Michael Niedermayer <michaelni at gmx.at> wrote:
> 
> > Hi
> > 
> > On Sun, Oct 22, 2006 at 08:55:33PM +0200, Aurelien Jacobs wrote:
> > > On Thu, 19 Oct 2006 12:16:31 +0700
> > > Roine Gustafsson <roine at users.sourceforge.net> wrote:
> > > 
> > > > I've found an flv file which exhibits a decode bug: the bottom and  
> > > > right edge macroblocks are smeared.
> > > > Plays correctly in a flash player.
> > > > File uploaded to mplayerhq as "good_one.flv".
> > > 
> > > Ok. The decoding was correct but the visible area was larger than
> > > it should be. The attached patch fix this bug.
> > > I just would like to know if such a usage of extradata is ok before
> > > commiting it.
> > > 
> > > Note that reading the additionnal byte in vp6.c instead of flv.c is
> > > not possible because swf.c also use the VP6F codec but don't have
> > > the additionnal byte.
> > 
> > why dont you set AVCodecContext.width / height in flvdec.c?
> 
> That's what I thought first. But it seems width and height is not known
> in the flv container. Only the adjutement to apply to these width / height
> is know.
> So to do this I would have to read the width / height from the VP6 header
> into flvdec.c but this would break container / codec separation rule.
> So should I do this, or apply my original (extradata) patch ?

what mess :(

maybe treat that byte as part of the frame and make swf add a zero byte
for VP6
if i understand it correctly then this would remove the VP6 special case
from flvdec.c and add one to swf so while not beautifull we at least 
wouldnt add more hacks


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is




More information about the ffmpeg-devel mailing list