Firefly开源社区

标题: 摄像头保存JPEG图片没有使用硬件编码? [打印本页]

作者: Xinxin_2011    时间: 2015-3-12 09:37
标题: 摄像头保存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函数中:
  1. v55 = open("/dev/rk29-ipp", 2, 0);
  2. if ( v55 >= 0 )
  3. {
  4.    ...
  5. }
  6. v54 = &v62;
  7. v53 = v7 * v6;
  8. _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中已经加载了相应的驱动模块:
  1. on post-fs
  2.     insmod /system/lib/modules/ump.ko
  3.     insmod /drmboot.ko
  4.     insmod /system/lib/modules/mali.ko
  5.     insmod /system/lib/modules/mali_kbase.ko
  6.     insmod /system/lib/modules/rk30_mirroring.ko
  7.     insmod /system/lib/modules/rk29-ipp.ko
复制代码
  怀疑驱动本身存在问题,导致加载失败。





作者: Pup-Xav    时间: 2017-9-26 03:43
新心新你找到了解决方案吗?




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1