[libcamera-devel] [RFC PATCH 1/5] libcamera: controls: Add sensor test pattern mode
Jacopo Mondi
jacopo at jmondi.org
Fri Apr 9 10:40:56 CEST 2021
Hi Hiro,
On Fri, Apr 09, 2021 at 01:32:04PM +0900, Hirokazu Honda wrote:
> The control is used to report available sensor test pattern modes
> and also specify the mode to sensor.
>
> Signed-off-by: Hirokazu Honda <hiroh at chromium.org>
> ---
> src/libcamera/control_ids.yaml | 59 ++++++++++++++++++++++++++++++++++
> 1 file changed, 59 insertions(+)
>
> diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml
> index b4771f9d..be2f710a 100644
> --- a/src/libcamera/control_ids.yaml
> +++ b/src/libcamera/control_ids.yaml
> @@ -608,4 +608,63 @@ controls:
> detection, additional format conversions etc) count as an additional
> pipeline stage.
>
> + - SensorTestPatternMode:
> + type: int32_t
> + draft: true
> + description: |
> + Control to select the sensor test pattern mode. Currently identical to
> + ANDROID_SENSOR_TEST_PATTERN_MODE.
> +
> + Mode of operation for the test pattern mode.
You can drop this line, but it's ok
> + enum:
> + - name: SensorTestPatternModeOff
> + value: 0
> + description: |
> + No test pattern mode is used. The camera device returns from the
> + image sensor.
> + - name: SensorTestPatternModeSolidColor
> + value: 1
> + description: |
> + Each pixel in [R, G_even, G_odd, B] is replaced by its respective
> + color channel.
> + - name: SensorTestPatternModeColorBars
> + value: 2
> + description: |
> + All pixel data is replaced with an 8-bar color pattern. The vertical
> + bars (left-to-right) are as follows; white, yellow, cyan, green,
> + magenta, red, blue and black. Each bar should take up 1/8 of the
> + sensor pixel array width. When this is not possible, the bar size
> + should be rounded down to the nearest integer and the pattern can
> + repeat on the right side. Each bar's height must always take up the
> + full sensor pixel array height.
> + - name: SensorTestPatternModeColorBarsFadeToGray
> + value: 3
> + description: |
> + The test pattern is similar to SensorTestPatternModeColorBars,
> + except that each bar should start at its specified color at the top
> + and fade to gray at the bottom. Furthermore each bar is further
> + subdevided into a left and right half. The left half should have a
> + smooth gradient, and the right half should have a quantized
> + gradient. In particular, the right half's should consist of blocks
> + of the same color for 1/16th active sensor pixel array width. The
> + least significant bits in the quantized gradient should be copied
> + from the most significant bits of the smooth gradient. The height of
> + each bar should always be a multiple of 128. When this is not the
> + case, the pattern should repeat at the bottom of the image.
> + - name: SensorTestPatternModePn9
> + value: 4
> + description: |
> + All pixel data is replaced by a pseudo-random sequence generated
> + from a PN9 512-bit sequence (typically implemented in hardware with
> + a linear feedback shift register). The generator should be reset at
> + the beginning of each frame, and thus each subsequent raw frame with
> + this test pattern should be exactly the same as the last.
> + - name: SensorTestPatternModeCustom1
> + value: 5
> + description: |
> + The first custom test pattern. All custom patterns that are
> + available only on this camera device are at least this numeric
> + value. All of the custom test patterns will be static (that is the
> + raw image must not vary from frame to frame).
> +
Thanks for the details descriptions. They're not strictly necessary as
we explicitly refer to ANDROID_SENSOR_TEST_PATTERN_MODE in the control
definition, but doesn't hurt to have them here.
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
Thanks
j
> ...
> --
> 2.31.1.295.g9ea45b61b8-goog
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
More information about the libcamera-devel
mailing list