Re: YCbCr continued
site_archiver@lists.apple.com Delivered-To: pro-apps-dev@lists.apple.com - Paul On Aug 5, 2008, at 11:50 AM, Brad Wright wrote: Brad Wright On Aug 5, 2008, at 9:15 AM, Darrin Cardani <dcardani@apple.com> wrote: On Aug 4, 2008, at 3:23 PM, Brad Wright wrote: Hi Pro Apps Team: Zero Saturation point 112 Maximum Cb and Cr value of 255 112/255 = .43921569 approximately .439 Darrin -- Darrin Cardani dcardani@apple.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Pro-apps-dev mailing list (Pro-apps-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/pro-apps-dev/pschneider%40apple.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Pro-apps-dev mailing list (Pro-apps-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/pro-apps-dev/site_archiver%40lists.ap... The only way I could see this happens is if core image is somehow apply a color transform before my shader is activated and the reversing it back out before it gets displayed. That's typically what happens. CI has a processing colorspace and an output colorspace. Your inputs are converted to the processing space, the kernels are run, and then the result is converted to the output space. Make sure that all the spaces are tagged the same to avoid conversion. Also, you probably don't want to use the "DisplayRGB" colorspace, since that is calibrated to your monitor. GenericRGB is probably more what you want. I'll try that. I don't know how to work with ARB shaders, but I'll see what I can do. I think the color is set up correctly, as there is no shift in color when I write the ciimage which I took from the FxTexture that was passed in to the pluggin. I tried creating a ciimage from retrieved YUV data from the same frame, and I didn't notice any color shift. Is there any known problems with using CIImages that could cause a color shift? The only way I could see this happens is if core image is somehow apply a color transform before my shader is activated and the reversing it back out before it gets displayed. Here's what I did. I created a core image filter that generates a color that fills the entire screen. All this filter does is display what ever values you feed into it for the vec4 color that is returned (pre-multiplied of course). I then used the built in Final Cut Scopes to read the color values back. It appears that the color neutral point is when both U and V are at 0.42 - 0.44 depending on the value for Y. At least that's what the Final Cut Scopes are saying. I looked at both the RGB parade and the Vectorscope to verify that these values line up. I'm apply this filter directly over a video frame from an FxTexture mapped into a CIImage. I've been through the documentation and I can't figure out how Final Cut is mapping these values. The U and V values should stay color neutral while the Y value varies up or down. I'm not seeing that happening. It appears the Hue is being shifted around as the Y varies. I'm not sure how the U and V values arrive at between 0.42 and 0.44. The best I can figure is that Cb and Cr are mapped at between 0 - 224 without the offset that the documentation says there is. If I assume that the color neutral point is .42-0.44 in float point, then I can get this value by mapping: Does anyone know why this would happen? Brad, Is it possible that you're not setting up Core Image's color space correctly? What happens when you try the same thing in a straight OpenGL ARB Fragment program with no Core Image involved? Do you see the same problems? This email sent to pschneider@apple.com This email sent to site_archiver@lists.apple.com
participants (1)
-
Paul Schneider