0

OMX_IndexParamVideoAvc我对OMX视频解码器的重要性有疑问。具体来说,我的查询是:是否应该OMX Video Decoder支持索引OMX_IndexParamVideoAvc作为功能get的一部分set

背景:

根据我的理解,从一个角度来看,这个索引更有用video encoder,因为它被用来OMXIL Client查询现有支持的底层组件,并根据客户的需要进一步配置编码器。

从规范的角度来看,我观察到规范确实表明了对视频解码器的 index OMX_IndexParamVideoAvcon的支持,如规范的第 359 页所示。在本节中,只有和被填充。VPB+0profilelevel

可能我觉得这个索引可以用来OMX_GetParameter检索最大值。组件支持的配置文件和级别。但是,也可以从中检索相同的内容OMX_IndexParamVideoProfileLevelQuerySupported

因此,我的主要疑问是:

  1. 应该OMX video decoder支持指数OMX_IndexParamVideoAvc吗?

  2. 如果支持此索引,那么当OMXIL客户端查询相同时,默认值应该是什么,比如LOADED状态?

  3. 只有在组件处于EXECUTING状态并且第一个缓冲区OMX_BUFFERFLAG_CODECONFIG已被解码后,才能在逻辑上填充此索引的点。在达到此状态之前,解码器是否应仅填充最大值。profilelevel字段并将其他字段设置为零?

  4. 是否存在从 查询此索引的实际场景OMX video decoder快速搜索显示对该索引的android主要支持来自encoders. 即使在AOSP源代码中,实现对这个索引的支持Exynos也是 forprofilelevel. 因此,我并不特别相信该指数的预期用途OMX video decoders

常见实现:

当我试图搜索常见的实现时,我发现了一些有趣的数据。TI 和 Broadcomm 编码器支持此索引(在某些情况下部分支持),如OMX_VENC和所示omx.broadcomm.video_encode。然而,对解码器的类似搜索表明在解码器OMX_VDEComx.broadcommn.video_decode没有明显支持该索引。这种理解的唯一例外是在三星的 aries 实现中,如此处的解码器代码所示。

任何指针/评论/建议都会非常有帮助。在此先感谢。

4

1 回答 1

1

我认为你是对的,它应该用于 enc 组件设置。

OMX_IndexParamVideoProfileLevelQuerySupported像这里一样使用,包括OMX_IndexParamVideoProfileLevelCurrent案例和目的OMX_IndexParamVideoAvc是获取/设置其余的OMX_VIDEO_PARAM_AVCTYPE

我认为通过提供最大支持值OMX_IndexParamVideoAvc可能会产生误导。

于 2013-12-28T06:52:45.023 回答