[Ffmpeg-devel] libswscale and vertically flipped images

Michael Niedermayer michaelni
Tue Jan 9 21:18:36 CET 2007


On Tue, Jan 09, 2007 at 05:33:26PM +0100, Luca Abeni wrote:
> Hi all,
> as people who tried --enable-swscaler might have noticed, doing an YUV
> <--> RGB conversion with ffmpeg can result in a vertically flipped image
> (if an AVI file is involved, for example).
> I finally had some time for looking at the problem, and I discovered
> that this happens because sws_scale() does not honour negative line
> sizes.
> sws_scale_ordered(), however, behaves correctly even with negative line
> sizes.
> After some more investigation, I discovered that:
> - sws_scale_ordered() was introduced in r9698. At that time, libswscale
> could not cope with negative line sizes
> - support for negative line sizes was introduced in r15249: "support for
> both orderings of the slices (top->down / bottom->up)". But it was
> introduced only in sws_scale_ordered().
> My understanding is that the only difference between sws_scale() and
> sws_scale_ordered() should be that the second one does not reorder the U
> and V planes 


> (but since mplayer always provides ordered planes to
> libswscale, it should be useless to have both sws_scale() and
> sws_scale_ordered()).

yes, seems so ...

> So, I would be tempted to say that introducing
> support for negative line sizes in sws_scale_ordered() only was an
> error... And that such code should be copied in sws_scale() too.


and one of them, as they are identical then could be marked deprecated

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

If you really think that XML is the answer, then you definitly missunderstood
the question -- Attila Kinali
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20070109/1ebcb4d9/attachment.pgp>

More information about the ffmpeg-devel mailing list