[MPlayer-dev-eng] [RFC] rgb2rgb global function pointers

Ramiro Polla ramiro.polla at gmail.com
Fri Aug 27 17:06:34 CEST 2010


Hi,

I'd like to remove the global function pointers in libswscale/rgb2rgb.
I remember someone (probably Michael) saying in the past that it would
be good to still be able to access those functions directly somehow.

My suggestion is to change mplayer to use the swscale interface,
deprecate the global function pointers and then drop them. Having them
use the libswscale interface would have the benefit that we could drop
the emms call from each funtion and have it in sws_scale(), there's
also the benefit of not using global variables, being able to use
contexts. IIRC it was also michael that didn't want to just drop them
because mplayer used them, so I hope to remove this from mplayer so we
can move on in libswscale.

These are the places that are still using those functions directly:
./gui/wm/ws.c:314:     wsConvFunc=rgb32tobgr32;
./gui/wm/ws.c:322:     wsConvFunc=rgb32tobgr24;
./gui/wm/ws.c:326:     wsConvFunc=rgb32to16;
./gui/wm/ws.c:330:     wsConvFunc=rgb32tobgr16;
./gui/wm/ws.c:334:     wsConvFunc=rgb32to15;
./gui/wm/ws.c:338:     wsConvFunc=rgb32tobgr15;
./gui/win32/skinload.c:167:      rgb32tobgr32(bmp.Image, bmp.Image,
bmp.ImageSize);
./gui/win32/skinload.c:168:      if(skin->desktopbpp == 16)
rgb32tobgr15(bmp.Image, bf->data, bmp.ImageSize);
./gui/win32/skinload.c:169:      else if(skin->desktopbpp == 24)
rgb32tobgr24(bmp.Image, bf->data, bmp.ImageSize);
./libvo/mga_template.c:84:	interleaveBytes(image[1],image[2],dest,

Comments, opinions, thoughts...?

Ramiro Polla


More information about the MPlayer-dev-eng mailing list