1.gpio口,在第一次除錯的時候,gpio配置不正常的話,會導致進不了相機(/dev/目錄下無相應節點video0,video1)。之後交換gpio口,不影響進入相機,影響前後置成像方向;
2.除錯camera方向,主要是指board方向,ro.sf.hwrotation=0,後置設定成0度,前置設定成180度;
3.除錯camera驅動,查詢控制mirror和upside的暫存器。以sp2518為例,p0:0x31
[7] fix frame length
[6] upside down
[5] mirror
[4] pclk inversion
[3] binning_sel
[2] 1/4 sub-sample: 800x600
[0] 720p_sel
注意其中的p0,.指的是儲存在第0頁上,由以下暫存器控制:p0:0xfd
[2:0] page select
000: page 0
001: pgae 1
因此,在驅動**上更新暫存器0x31控制映象和upside時,離它最近的0xfd暫存器值bit0必須是0,改動才有效,一般在sensor_init_data裡面改動,如果在此函式裡有多處0x31,一般是以最後乙個0x31為準,改前面的沒有作用,因為後面的0x31又被覆寫了。至於說0x31的值不確定的話,可以乙個乙個的嘗試,畢竟只有四組值,嘗試也不是很困難。
4.第一次開啟相機預設開啟的是前置還是後置,這個決定於前後置camera在board中的註冊順序,先註冊的camera將被設定成預設開啟的camera。
5.camera相機拍照和錄影均正常,但是全景模式上下倒180度,而且使用ctsverifier.apk測試camera的方向,發現前置攝像頭第乙個方向是乙個倒立的成像。這兩個問題同屬於一類問題,就是camera驅動方向跟映象設定的不對。我遇到的實際問題是這樣處理的,系統方向是0度,那麼我在核心中將camera方向也設定成了0度,然後找到控制驅動映象的暫存器,按照說明進行逐個除錯,最後一切顯示正常。
Camera設定預覽尺寸的總結
總結下個人經驗,由於預覽尺寸設定不當會導致camera預覽變形,經過一番折騰,發現要先獲得camera支援的尺寸在跟螢幕分辯率進行比較,把最接近尺寸設定為預覽尺寸就可以了。首先獲得螢幕寬高 public void getscreensize 以下 簡寫,在su cechanged介面中 overri...
Android系統Camera預覽剛開啟時由暗變明
一 回憶下v4l2驅動操作流程 1.查詢驅動功能 struct v4l2 capability cap ioctl fd,vidioc querycap,cap printf tk driver name s ncard name s nbus info s n cap.driver,cap.car...
Camera2教程之2 實現預覽
public class usecamera2 2activity extends catch cameraacces ception e override public void onsu cetexturesizechanged nonnull su cetexture su ce,int wi...