我现在用V4L2编译了一个JNI库给我们的android工程师来调用来获取和显示摄像头数据,现在可以获取到画面,但画面卡到惨不忍睹,通过log看到1秒只能输出两、三帧,而时间主要消耗在yuyv422toABGRY()这个转换。而且CPU占用率高达50%左右。问了别人,说这种图像处理应该让GPU来处理。我想问应该怎么调用GPU来处理这个计算,还是说我的处理方法不对,有更好的方法呢。求大神们指教!!!
现在画面确实卡顿十分严重,yuyv422toABGRY()这个编码过程太费时间和资源了。这个问题有什么好方法解决呢!!!求教。
Hello ydf123,
I don't know which processor you are using. see below, please!
--i.MX6Q/D/DL/S
IPU & GPU are both supported by these 4 processors.
--i.mx7d/s
there are no IPU and GPU in these 2 processors.
--About android
Android requires that images must be handled by GPU.
--------------------------Chinese---------------
android对图像的处理,必须要通过GPU来处理的,所以您说的没有用到GPU的情况是不存在的。不清楚您在使用哪款处理器。如果是I.MX7D/S,那么它们内部是没有GPU和IPU的,而且,android for i.MX7d也不支持camera。
Have a nice day!
NXP TIC weidong sun
你好,
首先谢谢你的回复,我用的是imx6q,不知道imx6q内部有没有GPU和IPU呢。还有我有点不明白你的意思,你是说android在调用C编译的jNI时就已经在用GPU在处理了么。