[GEM-dev] pix_freeframe and m_instance

james tittle tigital at mac.com
Wed Feb 8 21:28:27 CET 2006


curious...

On Feb 8, 2006, at 1:59 PM, james tittle wrote:
> ...aha, a coupla well placed breakpoints later, and it seems that  
> there's an osx problem with the format assignments at the start of  
> processImage():  fr'instance, I loaded a movie with [colorspace  
> RGBA<, but the m_image.format that gets passed to "format" is  
> GL_YUV422_GEM!  Obviously this isn't right, so i'll have to track  
> down why...

...I think I've found a subtle bug in our imageStruct conversions in  
GemPixUtil.cpp :-(  Looking at imageStruct::setCsizeByFormat(),  
there's a horrible, confusing amount of #ifdef's to accommodate the  
fact that apple's native gem colorspace is YUV, but everybody else is  
RGBA...within these #ifdef's, there are "default:" cases for the  
switch(format){}, such that in the __APPLE__ platform, we never get  
to "case GL_RGBA:", because "case GL_YUV422_GEM:" is tested first,  
and on __APPLE__ is the "default", so it goes no further!  I've  
removed this, but it still doesn't work, because now there's no a  
problem where we test for GL_BGRA_EXT instead of GL_RGBA on  
__APPLE__, so it just goes to default YUV again!

...so, I'm not sure what to do:  sure, I could go ahead and also add  
GL_RGBA to the __APPLE__ test for GL_BGRA_EXT (also needing to do  
this for GL_RGB/GL_BGR...), but then I think we'll be in a situation  
where all processing inside of the freeframe plugins will be done on  
incorrect color channels :-\

...anyone see a way outta this?

jamie

ps:  I'm also wondering if all of this backwards GL_* stuff will have  
to be changed for the intel macs...!




More information about the GEM-dev mailing list