You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MediaCodec解码到OES纹理后,读取的颜色为线性RGB还是sRGB?

问题解答

你的片段着色器中从samplerExternalOES采样得到的tmpColor是sRGB格式的RGB值,原因如下:

  • 服务器编码的H.264帧本身是sRGB格式,MediaCodec解码后输出的YUV数据对应的原始色彩空间就是sRGB。
  • samplerExternalOES的核心作用是将YUV格式的外部纹理(MediaCodec的解码输出)转换为RGB,这个转换会遵循视频色彩标准,输出带伽马校正的sRGB值,而非线性RGB。
  • 除非你显式通过EGL扩展(如EGL_EXT_sRGB)配置纹理使用线性色彩空间,否则Android平台上的OES外部纹理默认采样输出就是sRGB格式的色彩值。

内容的提问来源于stack exchange,提问作者Noob Max Pro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 19:12:03