Cobalt 360视频显示不正确

时间:2017-07-10 12:27:51

标签: cobalt

在实现360视频如howto_decode_to_texture.md描述后,我们发现渲染器线程后显示颜色不正确。任何人都可以帮助指出导致它的原因吗?

input picture

Display picture Create Context

1 个答案:

答案 0 :(得分:1)

(解决方案摘要在评论中得出)

当使用GL_TEXTURE_EXTERNAL_OES作为纹理类型时,通常意味着GL驱动程序将执行YUV - >幕后的RGB转换。因此,在这种情况下,您希望Cobalt将生成的纹理视为RGBA纹理,因此您应该为图像使用kSbDecodeTargetFormat1PlaneRGBA。

当解码器的输出是两个单独的纹理(Y的纹理和UV的纹理)时,应使用kSbDecodeTargetFormat2PlaneYUVNV12格式,在这种情况下,Cobalt将使用片段着色器来执行YUV - > RGB转换。