Hi,
I have some questions about libswscale.
1. There are pal8to* format converters in the code, but nothing calls
them that I can find. is that correct?
1.1 If yes to 1, Is it acceptable for them to be activated?
1.2 If yes to 1, If I was to activate pal8to* conversion in libswscale,
Should I put the code into rgb2rgbWrapper, OR should I create a
pal8torgbWrapper. (The 2nd option seems cleaner).
2. I also want to add rgb??topal8 conversion. Would this be acceptable?
2.1 If yes to 2, would it be acceptable to just have rgb24topal8
conversion, and to implement the other rgb??topal8 conversions by going
from rgb?? to rgb24 and then rgb24topal8?
2.2 If yes to 2, should I put the rgb??topal8 code in rgb2rgb.* or
should I make rgb2pal.* and put the code in there? (The 2nd option seems
cleaner).
3. If yes to 1 & 2, would it be acceptable to have a pal8torgbWrapper,
that handled both pal8torgb and rgbtopal8 conversions? Or should there
be pal8torgbWrapper and rgbtopal8Wrapper?
4. Decent RGB to PAL8 conversion requires parameters to the converter
such as (method of conversion, quality vs speed, max colours to use,
etc). Would it be acceptable for these options to be passed in as part
of SwsContext? AND as SwsContext is opaque outside libswswcale, would it
be acceptable to have a function to set these parameters inside
SwsContext? Something like:
int sws_setPaletteGenerationControl(struct SwsContext *c, int mode,
int quality, etc) ??
Thanks,
Steven J