Xinxin_2011 发表于 2015-3-12 09:37:07

摄像头保存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   怀疑驱动本身存在问题,导致加载失败。




Pup-Xav 发表于 2017-9-26 03:43:51

新心新你找到了解决方案吗?
页: [1]
查看完整版本: 摄像头保存JPEG图片没有使用硬件编码?