Toybrick

标题: 调用ffmpeg的rkmpp硬解码CPU占用高的问题 [打印本页]

作者: 自由的学习    时间: 2023-9-5 09:50
标题: 调用ffmpeg的rkmpp硬解码CPU占用高的问题
本帖最后由 自由的学习 于 2023-9-5 10:44 编辑

为了一套代码适配多个平台的板子,这边采用ffmpeg的硬件编解码,使用avcodec_receive_frame(codec_ctx, frame)取出的frame数据为空 ,此时CPU占用率是和调用mpp原生api解码差不多的,为了取得frame,我这边做了re = av_hwframe_transfer_data(f, frame, 0);处理,这样CPU的占用率就立马彪上来了,不知道有没有朋友遇过相同问题,该如何规避,还有不知可以通过什么方法监测相关硬件的使用率。ffmpeg的版本用的是6.0




作者: jefferyzhang    时间: 2023-9-5 10:39
任何第三方库都不可能做到0拷贝兼容嵌入式,如果你写代码都是用第三方库,cpu就不可能低。
他随便一个生产消费者模式就给你图片来一次拷贝,动不动格式用cpu转一下,rotate一下,cpu一下子就飞天了。
但凡你用第三方库都不可能做成产品,这里都还不说ffmpeg侵权的问题
作者: 自由的学习    时间: 2023-9-5 11:03
jefferyzhang 发表于 2023-9-5 10:39
任何第三方库都不可能做到0拷贝兼容嵌入式,如果你写代码都是用第三方库,cpu就不可能低。
他随便一个生产 ...

好的 那请问我这边可以通过什么方式实时监测硬件编解码器的使用率
作者: jefferyzhang    时间: 2023-9-5 11:30
自由的学习 发表于 2023-9-5 11:03
好的 那请问我这边可以通过什么方式实时监测硬件编解码器的使用率

硬件编码器是一个DSP,分时复用,只有0%占用和100%占用两种情况,不存在占用率一说。
当你能理解这个时候,你就知道可以用统计编码时间来看是否还有空闲时间片。




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3