Camera實現差值及cts效能優化

2021-07-07 06:17:23 字數 2016 閱讀 6540

camera如何實現插值

camera cts效能優化

camera是移動裝置非常重要的feature, google對於camera的cts測試中有一些比較嚴格的效能測試,以保證camera程式的使用者使用友好度。

camera cts測試中效能相關的有很多很多,基本上所有基本功能都有包含效能超時的驗證,一般來說是指必須在指定時間返回的測試項。如果camera driver以及相應的配置或者測試環境,使得sensor fps較低,就會出現一堆效能測試的fail.

測試時一定要使用user版本測試

請保證前攝或者後攝沒有被遮擋,且攝像頭均在明亮環境:

後攝:不要將平板直接放在桌子上進行測試,後攝被遮擋,一般後攝的fps因為外部光源較弱就會被降低,最好放在支架上,後攝可以對著明亮的電腦螢幕或者燈光;

前攝: 不要在平板上前攝蓋著東西,或者因為全測時間很長,在夜晚關閉燈光放在黑暗環境下去測試,這樣前攝的fps也很可能被降低,攝最好也對著燈光。

明亮環境: 可以開啟camera,在main log中搜尋aaa_state_camera_preview: lv, 此值一般要在60以上

保證camera sensor fps:

最好preview,capture都可以達到30fps, 建議preview的幀率至少在24fps以上,capture的幀率在15fps以上;

log檢視fps:

如果不確定camera sensor fps是多少,可以實際通過log來獲得:

開啟camera進入預覽狀態, 在log中搜尋handlereturnbuffer,此為display端得到的fps資訊,一般和sensor真實的fps比較接近,形如:

d mtkcam/displayclient: [handlereturnbuffers] + (99) 34ms < duration(99), show frame:0 1 [ion:325 0xe65c4000/3110400 89925290000]

其中duration(99)就是代表此幀是99ms返回, 這是比較慢的了。

一般,比較理想的環境下,此值一般為33, 除了在因為scenario切換導致的顯示時間較大。

實踐中,可以發現,camera sensor對著不同亮度的環境,sensor fps很可能跟著變動,一般越是明亮的環境,sensor fps會越大。

可以根據這種操作,來放置測試平台的位置,使得在比較好的亮度環境。

driver部分:

1 理論fps值:此方面需要和sensor fae或者datasheet確定設定暫存器的**,確定sensor輸出的理論fps值。

2 提高driver效能:

1)減少延時: camera sensor driver減少上電延時和driver init/preview/capture/setting/feature control等的延時:

盡可能在符合camera sensor spec的基礎上減少延時;

2)camera sensor driver i2c speed提高:

預設的i2c speed應該是100k, 如果camera sensor可支援,可以嘗試提高到400k來測試,這樣camera driver中讀寫i2c的速度會提高到之前的4倍;

3)camera driver在不影響畫面顯示的情況下盡可能減少delay frame:

如下的數值盡可能減少:

.cap_delay_frame = 3,

.pre_delay_frame = 3,

.video_delay_frame = 3,

不要小看這幾個delay的數值,因為實際測試項的執**況可能呼叫很多次preview,capture, 有可能少了1就會pass.

實際中,可以先都改為0來測試cts是否可以pass, 如果可以pass, 再檢視camera preview/capture/video開始顯示畫面時是否有黑屏/綠屏/雜線的問題,如果有,可以酌情

增加delay, 同時確保cts也可以pass.

3 如果sensor fps實在太低,cts測試可能無論怎麼優化都不會pass.

冪等性的作用及實現

冪等這個詞原自數學,某一元運算為冪等時,其作用在任一元素兩次後會和其作用一次的結果相同。在程式設計中,乙個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。第一次請求的時候對資源產生了 但是以後的多次請求都不會再對資源產生 這裡的 是不會對結果產生破壞或者產生不可預料的結果。比如,某...

HDFS實現其高可靠性的策略及機制

分布式檔案系統 hdfs 的高可靠性主要是由多種策略及機制共同作用實現的。主要有 可以指定資料檔案的副本數量,預設是3 保證所有的資料塊都有副本,不至於在乙個datanode宕機後,資料的丟失。集群一般放在不同機架上,機架間頻寬要比機架內頻寬要小 hdfs具有 機架感知 能力,它能自動實現在本機架上...

HDFS實現其高可靠性的策略及機制

分布式檔案系統 hdfs 的高可靠性主要是由多種策略及機制共同作用實現的。主要有 可以指定資料檔案的副本數量,預設是3 保證所有的資料塊都有副本,不至於在乙個datanode宕機後,資料的丟失。集群一般放在不同機架上,機架間頻寬要比機架內頻寬要小 hdfs具有 機架感知 能力,它能自動實現在本機架上...