@@ -496,101 +496,6 @@ controls:
\todo Rename this property to Size once we will have property
categories (i.e. Properties::PixelArray::Size)
- - PixelArrayOpticalBlackRectangles:
- type: Rectangle
- size: [n]
- description: |
- The pixel array region(s) which contain optical black pixels
- considered valid for calibration purposes.
-
- This property describes the position and size of optical black pixel
- regions in the raw data buffer as stored in memory, which might differ
- from their actual physical location in the pixel array matrix.
-
- It is important to note, in fact, that camera sensors might
- automatically reorder or skip portions of their pixels array matrix when
- transmitting data to the receiver. For instance, a sensor may merge the
- top and bottom optical black rectangles into a single rectangle,
- transmitted at the beginning of the frame.
-
- The pixel array contains several areas with different purposes,
- interleaved by lines and columns which are said not to be valid for
- capturing purposes. Invalid lines and columns are defined as invalid as
- they could be positioned too close to the chip margins or to the optical
- black shielding placed on top of optical black pixels.
-
- PixelArraySize.width
- /----------------------------------------------/
- x1 x2
- +--o---------------------------------------o---+ /
- |IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII| |
- |IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII| |
- y1 oIIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOII| |
- |IIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOII| |
- |IIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOII| |
- y2 oIIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOII| |
- |IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII| |
- |IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII| |
- y3 |IIOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOII| |
- |IIOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOII| | PixelArraySize.height
- |IIOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOII| |
- ... ... ... ... ...
- ... ... ... ... ...
- y4 |IIOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOII| |
- |IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII| |
- |IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII| |
- +----------------------------------------------+ /
-
- The readable pixel array matrix is composed by
- 2 invalid lines (I)
- 4 lines of valid optical black pixels (O)
- 2 invalid lines (I)
- n lines of valid pixel data (P)
- 2 invalid lines (I)
-
- And the position of the optical black pixel rectangles is defined by
-
- PixelArrayOpticalBlackRectangles = {
- { x1, y1, x2 - x1 + 1, y2 - y1 + 1 },
- { x1, y3, 2, y4 - y3 + 1 },
- { x2, y3, 2, y4 - y3 + 1 },
- };
-
- If the camera, when capturing the full pixel array matrix, automatically
- skips the invalid lines and columns, producing the following data
- buffer, when captured to memory
-
- PixelArraySize.width
- /----------------------------------------------/
- x1
- +--------------------------------------------o-+ /
- |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO| |
- |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO| |
- |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO| |
- |OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO| |
- y1 oOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOO| |
- |OOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOO| |
- |OOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOO| | PixelArraySize.height
- ... ... ... ... ... |
- ... ... ... ... ... |
- |OOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOO| |
- |OOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOO| |
- +----------------------------------------------+ /
-
- then the invalid lines and columns should not be reported as part of the
- PixelArraySize property in first place.
-
- In this case, the position of the black pixel rectangles will be
-
- PixelArrayOpticalBlackRectangles = {
- { 0, 0, y1 + 1, PixelArraySize[0] },
- { 0, y1, 2, PixelArraySize[1] - y1 + 1 },
- { x1, y1, 2, PixelArraySize[1] - y1 + 1 },
- };
-
- \todo Rename this property to Size once we will have property
- categories (i.e. Properties::PixelArray::OpticalBlackRectangles)
-
- PixelArrayActiveAreas:
type: Rectangle
size: [n]
The PixelArrayOpticalBlackRectangles is neither used nor populated anywhere in libcamera. The definition of it is difficult (due to the handing of invalid pixels and sensors specifying different OB areas for different binning modes) and will therefore break on the first real world use-case. Drop it for now. This can be revisited when need arises. Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com> --- Changes in v4: - Added this patch --- src/libcamera/property_ids_core.yaml | 95 ---------------------------- 1 file changed, 95 deletions(-)