最近在 REAL210 android 上调试 CAMERA 驱动。发现原来的

开发板只支持 640*320 以及 320*240 ,但是用的是 OV3640 300W 的摄像头,应该可以拍照到 2048*1536 的分辨率的。

索性把这个 300W 打开吧。

1、看看这里是否支持 300W 的分辨率,原生 ANDROID 是支持到 500W 的。

packages/apps/Camera/res/values/strings.xml

     <string name="pref_camera_picturesize_entry_2592x1936">5M Pixels</string>     <string name="pref_camera_picturesize_entry_2048x1536">3M Pixels</string>     <string name="pref_camera_picturesize_entry_1600x1200">2M Pixels</string>     <string name="pref_camera_picturesize_entry_1024x768">1M Pixels</string>     <!--<string name="pref_camera_picturesize_entry_640x480" translatable="false">VGA</string>-->     <!--<string name="pref_camera_picturesize_entry_320x240" translatable="false">QVGA</string>-->      <string name="pref_camera_picturesize_entry_640x480">640 X 480</string>     <string name="pref_camera_picturesize_entry_320x240">320 X 240</string>


2、设置 CAMERA 的最大分辨率

device/samsung/proprietar/libcamera/SecCamera.h

const struct camera_info s5k4ba_info ={     640,   // max_preview_width     480,   // max_preview_height     2048,   // max_snapshot_width     1536,   // max_snapshot_height}


完成以上两步在 CAMERA 界面就可以见到 300W 的选择了。

当选择了 300W 拍照后 系统卡住不动了,通过跟踪发现是 device/samsung/proprietar/libs3cjpeg/JpegEncode.cpp---> encode_jpg(struct s5pc110_jpg_ctx *jpg_ctx, struct jpg_enc_proc_param *enc_param)这个函数里面申请的图片 SIZE 大于允许的范围了。

最后修改 device/samsung/proprietar/libs3cjpeg/jpeg.h

#define MAX_JPG_WIDTH                   2048#define MAX_JPG_HEIGHT                  1536

设置这个最大 SIZE 即可。

但是拍照的时候还是卡住了,通过跟踪发现和 内核的 JPEG 驱动有关,进入 JPEG 驱动后发现允许的最大 分辨率是 800*480,把这个 SIZE 设置成 2048*1536即可。

#ifdef CONFIG_VIDEO_JPEG_V2 static struct s3c_platform_jpeg jpeg_plat __initdata = { .max_main_width= 2048, .max_main_height= 1536, .max_thumb_width= 320, .max_thumb_height= 240, }; #endif


然后再把申请的内存空间放大

#define  S5PV210_VIDEO_SAMSUNG_MEMSIZE_JPEG (14336 * SZ_1K)


注意:device/samsung/proprietar/libs3cjpeg/jpeg.h里面的 JPG_TOTAL_BUF_SIZE < S5PV210_VIDEO_SAMSUNG_MEMSIZE_JPEG

通过以上的修改已经可以实现 300W 的拍照了,但是感觉拍出来的照片和 100W 的效果差不多,就是图片的 SIZE 变大了。

转载自:http://blog.csdn.net/Baiduluckyboy/article/details/7658230

更多相关文章

  1. Android(安卓)Glide图片加载框架介绍
  2. Android(安卓)Studio 引入JSONObject 以及其依赖包的那些坑 JAVA
  3. 【技术调研】WebP格式在Android平台上的应用
  4. Android(安卓)的 draw9patch背景
  5. android GridView学习笔记
  6. 【移动开发】Android无线调试 使用adbWireless软件
  7. 最简单的ViewFlipper实现图片跟随手势滑动
  8. Error:UNEXPECTED TOP-LEVEL ERROR:
  9. Android点击Button切换多个图片显示

随机推荐

  1. (转)Android_GPS
  2. Android—自动弹出软键盘
  3. Android向通讯录添加联系人的一般方法
  4. Android(安卓)对话框【Dialog】去除白色
  5. 【Android】Android实现截取当前屏幕图片
  6. Android中日志信息的打印方式
  7. Android(安卓)语音识别示例
  8. Android(安卓)开发中最常用的 GitHub 优
  9. Android(安卓)Bundle类
  10. Android在TextView中设置图片显示问题