本文主要是介绍高通平台调整图像角度问题-mirror-flip,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
介绍下接触的两个高通平台8917和8916旋转角度问题。
8916:
Mirror flip寄存器: 根据spec中的datasheet调。这个更改jpg出图的方向,同时也影响RAW的方向,更改的同Bayer出图顺序也改变。对应更改
static struct sensor_pix_fmt_info_t sp2609_pix_fmt0_fourcc[] = {
{ V4L2_PIX_FMT_SRGGB10 },
};
sensor_mount_angle:
static struct msm_sensor_init_params sensor_init_params = {
.modes_supported = 0, /* mask of modes supported: 2D, 3D */
.position = 0, /* sensor position: front, back */
.sensor_mount_angle = 90, /* sensor mount angle */
};
2D模式:平面图像模式。
3D模式:拍照出使裸眼观看就具有立体感的图像的模式,需要使用双摄像头。
sensor安装角度的值是宏定义,在sensor_lib.h中,定义如下:
#define SENSOR_MOUNTANGLE_360 360 //360度
/* Sensor mount angle. */
#define SENSOR_MOUNTANGLE_0 0 //0度
#define SENSOR_MOUNTANGLE_90 90 //90度
#define SENSOR_MOUNTANGLE_180 180 //180度
#define SENSOR_MOUNTANGLE_270 270 //270度
这个参数主要是旋转角度,对整个预览拍照图像的一个旋转,如顺向90°这旋转是mirror flip做不到的。对RAW的方向并不影响。同时重力感应出图会相应的旋转。
当 .sensor_mount_angle = 360时候,此时生效的不是用户层驱动lib.c中的角度,而是kernel层dtsi文件对应camera id编号的默认值。
qcom,mount-angle = <90>;
8917:
Lib.c中并没有sensor_mount_angle设置参数。以kernel层dtsi文件中对应camera id的qcom,mount-angle为准。
其次就是更改mirror和flip寄存器。原理同8916。
这篇关于高通平台调整图像角度问题-mirror-flip的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!