At 6:09 PM +0100 12/16/02, IOhannes zmoelnig wrote:
>YUV:
>again i would like to stress:
>please do not make [yuv_*] objects, but make [pix_*] objects with
>functions for YUV. The processImage() will then bail out, when
>images other than YUV want to be processed.
here is my reasoning for making the [yuv_] set objects:
- a separate set of objects would be easier to leave out of compiles
for platforms that don't support it. i was way over optimistic in my
estimation of how well platforms support the yuv color-space. as it
stands right now you cannot texture yuv using openGL in windows or
linux, and support for this might never even happen on those
platforms! i guess we should consider the yuv_stuff mac only for the
moment.
- there is not a one to one correlation between yuv and rgb
color-spaces. in fact they are vastly different, and not compatible
in any way. this means that there are certain pix_objects that make
no sense for yuv, like anything dealing with the alpha channel. also
controls and messages would have to be different for each
color-space, for example changing color values in rgb would have 3
controls for red green and blue, but in yuv there are only two chroma
channels u and v and the luma changes brightness. that looks like a
mess to explain. also conversion between rgb to yuv just to get the
same functionality can be slow and lossy if done too much.
- Gem already had the pix_ naming convention which made it clear that
pix = image processing and that stringing pix_objects together would
result in a functional chain. my initial attempts to extend pix to
yuv seemed to destroy that, so i decided that yuv_objects would make
their own chains to avoid confusion. i also want the name of the
object to describe what the object does in fairly exact terms. i
get really tired of trying to figure out what the hell an object
named after a post-modern theorist or someone's cat is supposed to
do. therefore yuv_luma_key does luma keying in the yuv
color-space,etc.
i really did think about this quite a bit. honestly.
cgc
>please, mac-people, test, whether the new [pix_yuv] (converter (RGBA) to
>YUV) works correctly.
>the inverse (YUV2RGBA) is in [pix_rgba]
>
>btw: i just checked-in some new changes (GemPixObj, GemPixDualObj) which
> might crash some compilations (it works at least under linux)
>forgive me, but i consider Gem as alpha-software right now
i'll check it out, but i'm behind on the cvs updates since i don't
have access to the cvs yet.
>mfg.asd.f
>IOhannes
--