【发布时间】:2020-06-07 18:28:39
【问题描述】:
我想在Android上使用OpenGL ES做HDR10的色调映射,首先是获取帧数据。在Android上通过mediacodec解码视频后,它的数据在一个外部的oes纹理上,我想知道解码hdr10视频时纹理的内部格式是什么。
我能否从这个外部 oes 纹理中获取 10 位数据,如果可能,如何在 OpenGL ES 中处理 10 位数据(使用浮点纹理?)。
我曾尝试查询纹理的格式,但失败了,报告的值似乎不正确。纹理的宽度和高度也是如此。
glGetTexLevelParameteriv(GL_TEXTURE_EXTERNAL_OES, 0, GL_TEXTURE_INTERNAL_FORMAT, &format);
【问题讨论】:
-
您对此有任何更新吗?您是否设法使用 OpenGL ES 以任何方式处理 hdr10 视频?
-
这个有两种选择,1.用MediaCodec解码,用opengles处理数据。(可能数据下采样到8bit,但颜色还可以)。 2. 使用 MediaCodec 解码并直接使用 SurfaceView 进行渲染,就像@why suggessted 一样。
标签: android opengl-es android-mediacodec hdr