[Ffmpeg-devel] Removing img_format dependency from swscale
Wed Aug 30 16:38:48 CEST 2006
On Tue, 2006-08-29 at 15:17 +0200, Luca Abeni wrote:
> 1) since libswscale is now using ffmpeg's PIX_FMT_* instead of mplayer's
> IMGFMT_*, swscale.c::sws_orderYUV() cannot use the pixel format to
> decide if the pointers must be swapped or not.
Ok, I actually had a look at mplayer's code, and... It seems to me that
sws_orderYUV() is never called!
I might be wrong, but here is what I found:
- Most of the swscale users (libmpcodecs/vf_screenshot.c,
libmpcodecs/vf_scale.c, libvo/vo_vesa.c, libvo/vo_aa.c, and
libvo/vo_x11.c) call sws_scale_ordered(), which assume that src and
dst are already ordered, and does not call sws_orderYUV()
- The remaining users (libmpcodecs/vf_sab.c, libmpcodecs/vf_smartblur.c,
and spudec.c) use the IMGFMT_Y8 (aka PIX_FMT_GRAY8) format, which does
not need to swap pointers.
So, it seems to me that I was thinking about a non-issue... :)
I attach a preliminary version of the patch, for testing. I just tried
./mplayer -vo x11 <testfile>
./mplayer -vo x11 -vf scale=<w>:<h> <testfile>
and it seems to work ok...
But I do not know how to test the patch in a more accurate way;
suggestions are welcome. Maybe someone interested can forward the patch
to the mplayer list, asking for more testing?
Copy this in your signature, if you think it is important:
N O W A R ! ! !
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 56117 bytes
Desc: not available
More information about the ffmpeg-devel