[Ffmpeg-devel] VP6F decode bug

Aurelien Jacobs aurel
Mon Oct 23 01:20:50 CEST 2006


On Mon, 23 Oct 2006 00:52:21 +0200
Michael Niedermayer <michaelni at gmx.at> wrote:

> Hi
> 
> On Mon, Oct 23, 2006 at 12:24:45AM +0200, Aurelien Jacobs wrote:
> > On Sun, 22 Oct 2006 23:31:17 +0200
> > Michael Niedermayer <michaelni at gmx.at> wrote:
> > 
> > > 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
> > 
> > Right. That's another possiblity. I'm not sure that it's really better.
> > Anyway, the attached patch implements it. So tell me if you prefer this
> > one.
> 
> iam equally fine with all the solutions you proposed, choose what you
> prefer most

Ok. So I applied the extradata one.
This bug is now fixed.

Aurel




More information about the ffmpeg-devel mailing list