1、API使用:
import android.hardware.Camera.Parameters;
private Parameters mParameters;
camera = Camera.open(0);
camera.setDisplayOrientation(0);
mParameters = camera.getParameters();
mParameters.setExposureCompensation(-6);//设置亮度
mParameters.setContrast(-7);//设置对比度
//mParameters.setBrightness(6);//
mParameters.setSaturation(-5);//设置饱和度
Log.d("aaaaaaa", "thepar is " + mParameters.getContrast());
camera.setParameters(mParameters);//更新参数
2、需要关心的调用过程文件:
A、Camera.java (frameworks\base\core\java\android\hardware):API
B、QCameraParameters.cpp (hardware\qcom\camera\qcamera2\hal):HAL
C、Module_sensor.c (vendor\qcom\proprietary\mm-camera\mm-camera2\media-controller\modules\sensors\module) :高通私有代码
D、Msm_sensor.c (kernel\drivers\media\platform\msm\camera_v2\sensor):Kernel驱动实现
3、重要细节:
API与HAL以关键字“KEY_QC_CONTRAST”(以此为例,其它类推)对应。HAL与高通私有代码以关键字“CAM_INTF_PARM_CONTRAST”对应。高通私有代码与kernel以关键字“CFG_SET_CONTRAST”对应。
------高通层与层之间的代码貌似均以SO库文件提供,无法查看具体的设计思路。