我正在对 H264 编解码器的 SVC 进行一些研究,据我所知,SVC 是以前 AVC 的扩展,它使用 SVC 的基础层,以便它可以在移动设备(最好是 android)上工作。
我的问题是,是否可以使用 SVC 在移动设备上增强此基础层?移动设备是否足够强大(内存、内存等)来执行此操作?
谢谢
我不确定我是否完全理解这个问题,但无论如何我都会尝试回答
SVC 流总是由一个 H264 兼容的基础层和 1 个或多个只能由 SVC 解码器解码的增强层(时间、空间或质量)组成。
大多数移动设备使用硬件加速器来解码 H.264 流,因此在解码基础层时几乎不会加载 CPU
要在 android 上解码增强层,您需要为 arm 使用 SVC 解码器,我不确定它是否存在。你可以尝试自己移植opensvc之类的开源项目
由于增强层的解码高度依赖于基础层,因此您将无法将 H264 硬件加速器用于基础层,因为硬件加速器无法为增强层解码过程提供元数据。
因此,就处理能力而言,您需要为基础层和增强层加载 CPU。它是否会运行取决于以下 1. svc 解码器代码的性能 2. 视频的分辨率和 fps 3. 内容的复杂性 4. 类型增强层的数量
希望这能回答你的问题
您的问题无法真正回答,这取决于...
FWIW 这是我的 0.02 美分:
现代移动电话(例如三星 Galaxy S2)具有 1.2 GHz 双核处理器和 1GB 内存。尽管其他手机的规格可能较低,但总体而言,手机正在不断改进。我看不出这些设备无法解码 SVC 流的原因。然而,这也取决于其他因素,例如视频的分辨率和复杂性、SVC 层的数量,当然还有非常重要的解码器实现的效率。
虽然 Android 确实有 H.264 解码器,但我怀疑它可能需要一段时间才能支持 SVC。