使用MediaCodec在Android上处理HDR10视频

问题描述 投票:0回答:1

我想在使用OpenGL ES的Android上对HDR10进行色调映射,首先要获取帧数据。在Android上,由mediacodec解码后的视频,其数据位于外部的oes纹理上,我想知道在解码hdr10视频时纹理的内部格式是什么。

我可以从此外部oes纹理中获取10位数据,如果可能,如何在OpenGL ES中处理10位数据(使用浮点纹理?)。>

我已经尝试查询纹理的格式,但是失败了,报告的值似乎不正确。以及纹理的宽度和高度。

glGetTexLevelParameteriv(GL_TEXTURE_EXTERNAL_OES, 0, GL_TEXTURE_INTERNAL_FORMAT, &format);

我想在使用OpenGL ES的Android上对HDR10进行色调映射,首先要获取帧数据。在Android上,由mediacodec解码后的视频,其数据位于外部的oes纹理上,我想...

android opengl-es mediacodec hdr
1个回答
0
投票

通常,对于YUV,您需要使用外部采样器,其中包括将颜色转换为RGB的过程。对于YUV曲面,Android内存布局没有标准,尤其是对于10位(其中存在多个相互竞争的“标准”),因此在此处进行的任何处理原始YUV数据的操作都将是不可移植的,并且设备具体。

© www.soinside.com 2019 - 2024. All rights reserved.