摄像头保存JPEG图片没有使用硬件编码?
本帖最后由 Xinxin_2011 于 2015-3-13 16:19 编辑使用摄像头进行拍照时,通过LOG发现:
D/hw_jpeg_encode(145): version: 2014-08-25, fix IOMMU bugs for 312x
D/hw_jpeg_encode(145): version: 2014-09-01, fix 5M picture bugs for ISP IOMMU
E/hw_jpeg_encode(145): encodethumb, open /dev/rk29-ipp fail! we try to do softscale,over.
通过LOG得知问题出在hw_jpeg_encode函数,其实现在libjpeghwenc.so库函数中,通过IDA进行反汇编,查看hw_jpeg_encode函数代码,找到打印信息在encodeThumb函数中:v55 = open("/dev/rk29-ipp", 2, 0);
if ( v55 >= 0 )
{
...
}
v54 = &v62;
v53 = v7 * v6;
_android_log_print(6, "hw_jpeg_encode", "encodethumb, open /dev/rk29-ipp fail! we try to do softscale,over.");
可见,是因为打开/dev/rk29-ipp设备节点失败,然后尝试软件编码。通过adb查找/dev目录下的节点,果然没有rk29-ipp,但是系统初始化的脚本init.rk30board.rc中已经加载了相应的驱动模块:
on post-fs
insmod /system/lib/modules/ump.ko
insmod /drmboot.ko
insmod /system/lib/modules/mali.ko
insmod /system/lib/modules/mali_kbase.ko
insmod /system/lib/modules/rk30_mirroring.ko
insmod /system/lib/modules/rk29-ipp.ko 怀疑驱动本身存在问题,导致加载失败。
新心新你找到了解决方案吗?
页:
[1]