i've moved this one to PD-dev.
chris clepper writes:
AFAIK, YUV textures are only available using Direct3D under windows... I think Apple is the only OpenGL vendor to include general support for YUV textures. Can anyone confirm/deny this?
that may indeed be the case at this point in time.
hmmm... a pity. it wouldn't seem like much work on the part of the vendors to add this support to openGL.
Is it possible to do HW assisted YUV->RGB(A) conversion using texture transfer options and a colour matrix in OpenGL?
all the cards seem to have that feature listed in their specs, but i have no idea how to tap into that using a common api/lib other than opengl. i attempted to write a yuv->pix object but didn't have much success. not sure what sort of performance hit that will be doing the conversion in software. it could wipe out any speed gains of yuv processing.
which YUV format is being used? UYVY packed into 32bits? that could be done using a openGL 1.2 color matrix if the double Y resolution is sacrificed. might be possible to do something clever to achieve full resolution Y but can't quite see how to do it off the top of my head... i don't know how fast non-standard pixel transfer is anyway, for that matter...
if the effects are convenient/efficient in yuv and there's any significant amount of buffer copying going on in the processing chain then i'd guess that YUV should still come out ahead even with a last step sw or hw conversion.
this all begs for some code and experimentation. i'll get around to it eventually if nobody gets there first!
daniel