Which between the 2 approaches is better and why?
1. 3 YUV textures and shader code
2. YUV image of GL_OES_EGL_image_external
thanks for the help guys,
Now what I understand is that the reading the textures from memory is optimal if we have YUV textures using the latter approach.
What about the YUV->RGB conversion part? How is that mathematics done?
Color conversion is automatically applied as OpenGL ES only really understands RGB. As per my first post note that there is no such thing as off-the-shelf "YUV" (or more accurately Y'CbCr) - every vendor camera and video block does it slightly differently (BT.601, BT.607, wide gamut, narrow gamut, to name but a few of the options) - so the channel chromatic conversion weights are determined as part of the platform specific integration.
ok, so the chromatic conversion is done through some hardwrae logic while reading from the memory itself, by applying the appropriate coefficients based on the YUV format?
Hi pulsar,
We won't talk about how the internals of our products work publicly - as a developer you don't need to know if we do our job right . All we can confirm is the programmer-visible behavior, which is that the shader code will get RGB color values, and you can specify per-platform conversion weights.
HTH, Pete