Firefly开源社区

摄像头保存JPEG图片没有使用硬件编码?

37

积分

0

威望

0

贡献

技术小白

积分
37
发表于 2015-3-12 09:37:07     
本帖最后由 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
复制代码
  怀疑驱动本身存在问题,导致加载失败。




回复

使用道具 举报

18

积分

0

威望

0

贡献

技术小白

积分
18
发表于 2017-9-26 03:43:51     
新心新你找到了解决方案吗?
回复

使用道具 举报

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

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表