Toybrick

mpp库解码uvc摄像头输出的jpg耗时问题

闲花落地

注册会员

积分
195
楼主
发表于 2020-10-31 18:00:44    查看: 42123|回复: 12 | [复制链接]    打印 | 只看该作者
解码一张从文件读取的jpg耗时在20多ms,解码一张从uvc获取的jpg耗时要100多毫秒,两者的分辨率都是1080P。使用apt-get安装的库和git上的源码编译出来的库都存在这个情况,有人遇到过这种情况吗?
回复

使用道具 举报

闲花落地

注册会员

积分
195
沙发
 楼主| 发表于 2020-11-2 09:18:16 | 只看该作者
今天又测试了一下,uvc输出的jpeg图片用格式工厂重新编码一下,再用3399Pro解码耗时就变成20多毫秒了
回复

使用道具 举报

jefferyzhang

版主

积分
13572
板凳
发表于 2020-11-2 11:49:27 | 只看该作者
我问了我们VPU部门的同事,他说不可能出现这情况。
你是同样的代码,解码两个不同格式但是同样大小的JPEG,出现一个100,一个20的情况么?
如果是的话,能否把这两个jpeg打包发上来下,我发给VPU部门同事分析下
回复

使用道具 举报

闲花落地

注册会员

积分
195
地板
 楼主| 发表于 2020-11-2 13:59:09 | 只看该作者
其中test.jpeg解码耗时是正常的,test1.jpeg解码耗时很久

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

闲花落地

注册会员

积分
195
5#
 楼主| 发表于 2020-11-2 14:02:31 | 只看该作者
jefferyzhang 发表于 2020-11-2 11:49
我问了我们VPU部门的同事,他说不可能出现这情况。
你是同样的代码,解码两个不同格式但是同样大小的JPEG, ...

其中test.jpeg解码耗时是正常的,test1.jpeg解码耗时很久

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

jefferyzhang

版主

积分
13572
6#
发表于 2020-11-2 14:40:18 | 只看该作者
闲花落地 发表于 2020-11-2 14:02
其中test.jpeg解码耗时是正常的,test1.jpeg解码耗时很久




我们这里测试是正常的。请问下:

1. 您是toybrick平台的硬件么?是的话请更新最新的版本试下。
2. 使用:echo 0x100 > /sys/module/rk_vcodec/parameters/mpp_dev_debug 看下硬件解码时间是否有差异


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

闲花落地

注册会员

积分
195
7#
 楼主| 发表于 2020-11-2 15:00:45 | 只看该作者
jefferyzhang 发表于 2020-11-2 14:40
我们这里测试是正常的。请问下:

1. 您是toybrick平台的硬件么?是的话请更新最新的版本试下。

1.平台是3399ProD,系统刷的debian10。最新的版本指的是mpp吗?这个我是从git上下载的。
2.我的系统下没有这个文件/sys/module/rk_vcodec/parameters/mpp_dev_debug
3.您上面传的图片里real耗时差距也很大啊,一个是60ms,一个是120ms。
回复

使用道具 举报

闲花落地

注册会员

积分
195
8#
 楼主| 发表于 2020-11-2 15:12:33 | 只看该作者
闲花落地 发表于 2020-11-2 15:00
1.平台是3399ProD,系统刷的debian10。最新的版本指的是mpp吗?这个我是从git上下载的。
2.我的系统下没有 ...

说错了,平台是TB-96AI
回复

使用道具 举报

jefferyzhang

版主

积分
13572
9#
发表于 2020-11-2 15:17:47 | 只看该作者
闲花落地 发表于 2020-11-2 15:00
1.平台是3399ProD,系统刷的debian10。最新的版本指的是mpp吗?这个我是从git上下载的。
2.我的系统下没有 ...

1. 不是toybrick的话你要自己编译mpp,toybrick平台直接apt update/upgrade即可更新
2. 不是toybrick板子可能不会有这个节点(或者叫debug?),你要联系你代理商或者联系FAE寻求支持
3. 我上传的图片硬件解码时间里一个是18ms,一个是24ms。 real指的是人机交互实际看到的时间,并不是实际运行时间。这里头还包含命令读取两张不一样大小size文件和释放fd的时间,跟硬件解码时间毫无关系,一般就是软件代码上的消耗(这部分消耗我已经提给VPU部门,等他们给出解释)。
回复

使用道具 举报

jefferyzhang

版主

积分
13572
10#
发表于 2020-11-2 15:40:06 | 只看该作者
本帖最后由 jefferyzhang 于 2020-11-2 15:50 编辑
闲花落地 发表于 2020-11-2 15:12
说错了,平台是TB-96AI

VPU部门回复对软件部分耗时的解释如下:

由于部分UVC摄像头(目前发现是罗技摄像头会有这情况)jpeg文件头带有不可识别的标记,所以在mpp内部做了头扫描,引起软件层面速度变慢。
如果您应用场景确认不会有这个头(主要是 ffd0 之前的 00造成),可以手动把MPP源码里 jpegd_split_frame 函数的这段注释掉即可提高速度。
(需要您自行下载mpp源码编译)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表