FFMPEG具有硬件编解码器支持

mct*_*tma 15 android ffmpeg codec

ffmpeg在Android 2.2上构建了一个简单的媒体播放器.硬件是基于arm cortex-a8的1GHz处理器,512 MB RAM.我的性能很低,大约15 FPS的800x600 mp4视频.关于如何提高性能,我有几个问题

  • 如何使用目标设备上提供的硬件编解码器.如何配置ffmpeg以使用可用的硬件解码器?GPU或图形驱动程序是否必须公开一些标准API,如OpenMax IL?

  • 在构建ffmpeg时应该启用哪些选项,以便可以针对目标硬件进行优化?就像是: --cpu=cortex=a8 --extra-cflags="-mfpu=neon" ...

我已经环顾网了,但我找不到我要找的答案.我希望有人可以就此提出建议.

提前致谢!

gio*_*ele 3

libav/ffmpeg 中必须有适合您的硬件的特定代码。现在我可以看到对某些硬件解码器和具有公开 VPAPI 或 VDPAU(主要是 NVidia)API 的驱动程序的硬件的支持。

库存 libavcodec 驱动程序似乎不以本机方式支持您的硬件。如果您可以获得 libavcodec 的源补丁或公开受支持的解码加速 API 之一的驱动程序,则可以获得加速解码。

换句话说,您应该询问您的硬件提供商。