After implement 360 video as howto_decode_to_texture.md described, we found that the display color is not correct after renderer thread. could any one help to point out which caused it?
(Summary of solution worked out in the comments)
When using GL_TEXTURE_EXTERNAL_OES as the texture type, it often implies that the GL driver will perform a YUV -> RGB conversion behind the scenes. Thus, in this case, you would want Cobalt to treat the resulting texture as an RGBA texture, and therefore you should use kSbDecodeTargetFormat1PlaneRGBA for the image.
The kSbDecodeTargetFormat2PlaneYUVNV12 format should be used when the output of your decoder is two separate textures (a texture for Y and a texture for UV), and in this case, Cobalt will use a fragment shader to perform the YUV -> RGB conversion.