一、先講一下一下幾個tag作用
1、SENSOR_INFO_PHYSICAL_SIZE:全像素組的物理尺寸
2、SENSOR_INFO_PIXEL_ARRAY_SIZE:全像素陣列包括黑色校準像素和其他非活動區域
3、SENSOR_INFO_ACTIVE_ARRAY_SIZE:圖像傳感器的區域對應於活躍像素經過任何幾何失真校正後的應用,基於SENSOR_INFO_PIXEL_ARRAY_SIZE
4、SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE:圖像傳感器區域,相當於在幾何失真校準前的活躍像素
二、爲限制廠家進行差值,爲何限制差值,哎,我買了瓶酒,怎麼兌水了
因此增加了tag2 和3
對於 2 3 4 tag的有何要求;
SENSOR_INFO_ACTIVE_ARRAY_SIZE <= SENSOR_INFO_PIXEL_ARRAY_SIZE
SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE <= SENSOR_INFO_PIXEL_ARRAY_SIZE
具體cts代碼:StaticMetadata.java
/* Get and check pre-correction active array size.*/
public Rect getPreCorrectedActiveArraySizeChecked() {
Key<Rect> key = CameraCharacteristics.SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE;
Rect activeArray = getValueFromKeyNonNull(key);
if (activeArray == null) {
return new Rect(0, 0, 0, 0);
}
Size pixelArraySize = getPixelArraySizeChecked();
checkTrueForKey(key, "values left/top are invalid", activeArray.left >= 0 && activeArray.top >= 0);
checkTrueForKey(key, "values width/height are invalid",
activeArray.width() <= pixelArraySize.getWidth() &&
activeArray.height() <= pixelArraySize.getHeight());
return activeArray;
}
/**Get and check active array size./
public Rect getActiveArraySizeChecked() {
Key<Rect> key = CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE;
Rect activeArray = getValueFromKeyNonNull(key);
if (activeArray == null) {
return new Rect(0, 0, 0, 0);
}
Size pixelArraySize = getPixelArraySizeChecked();
checkTrueForKey(key, "values left/top are invalid", activeArray.left >= 0 && activeArray.top >= 0);
checkTrueForKey(key, "values width/height are invalid",
activeArray.width() <= pixelArraySize.getWidth() &&
activeArray.height() <= pixelArraySize.getHeight());
return activeArray;
}
3\cts 相關case
testHwSupportedLevel