android_kernel_xiaomi_sm8450/drivers/media/platform
Eugen Hristev 90a493a349 media: atmel: atmel-isc: add support for DO_WHITE_BALANCE
This adds support for the 'button' control DO_WHITE_BALANCE
This feature will enable the ISC to compute the white balance coefficients
in a one time shot, at the user discretion.
This can be used if a color chart/grey chart is present in front of the camera.
The ISC will adjust the coefficients and have them fixed until next balance
or until sensor mode is changed.
This is particularly useful for white balance adjustment in different
lighting scenarios, and then taking photos to similar scenery.
The old auto white balance stays in place, where the ISC will adjust every
4 frames to the current scenery lighting, if the scenery is approximately
grey in average, otherwise grey world algorithm fails.
One time white balance adjustments needs streaming to be enabled, such that
capture is enabled and the histogram has data to work with.
Histogram without capture does not work in this hardware module.

To start the one time white balance procedure:
v4l2-ctl --set-ctrl=do_white_balance=1

This feature works only if the sensor is streaming RAW data, as the hardware
supports a histogram only for RAW bayer components.

If the auto white balance is enabled, do_white_balance does nothing.
If the streaming is disabled, or the sensor does not output RAW data, the
control is inactive.

User controls now include the do_white_balance ctrl:
User Controls

                     brightness 0x00980900 (int)    : min=-1024 max=1023 step=1 default=0 value=0 flags=slider
                       contrast 0x00980901 (int)    : min=-2048 max=2047 step=1 default=256 value=256 flags=slider
        white_balance_automatic 0x0098090c (bool)   : default=1 value=0
               do_white_balance 0x0098090d (button) : flags=write-only, execute-on-write
                          gamma 0x00980910 (int)    : min=0 max=2 step=1 default=2 value=2 flags=slider

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2019-05-21 07:17:09 -04:00
..
am437x media: replace strncpy() by strscpy() 2019-03-29 10:26:13 -04:00
atmel media: atmel: atmel-isc: add support for DO_WHITE_BALANCE 2019-05-21 07:17:09 -04:00
cadence media: v4l: fwnode: Initialise the V4L2 fwnode endpoints to zero 2018-10-04 16:21:02 -04:00
cec-gpio media: cec-gpio: support 5v testing 2018-07-25 07:12:36 -04:00
coda media: coda: fix unset field and fail on invalid field in buf_prepare 2019-05-08 13:58:20 -04:00
cros-ec-cec media: cros-ec-cec: decrement HDMI device refcount 2019-04-22 13:14:44 -04:00
davinci media: davinci/vpbe: array underflow in vpbe_enum_outputs() 2019-05-08 14:02:25 -04:00
exynos4-is media: replace strncpy() by strscpy() 2019-03-29 10:26:13 -04:00
exynos-gsc media: exynos-gsc: replace v4l2_crop by v4l2_selection 2018-11-20 13:46:06 -05:00
marvell-ccic media: Kconfig files: use the right help coding style 2019-03-20 06:47:51 -04:00
meson media: platform: meson: Add Amlogic Meson G12A AO CEC Controller driver 2019-04-22 13:16:05 -04:00
mtk-jpeg media: mtk-jpeg: Correct return type for mem2mem buffer helpers 2019-02-18 15:28:43 -05:00
mtk-mdp media: platform: fix several typos 2019-03-01 09:35:21 -05:00
mtk-vcodec media: mtk-vcodec: fix vp9 content playback error with show exist frame 2019-04-22 11:42:19 -04:00
mtk-vpu media: replace strncpy() by strscpy() 2019-03-29 10:26:13 -04:00
omap media: omap_vout: potential buffer overflow in vidioc_dqbuf() 2019-05-08 13:58:49 -04:00
omap3isp media: platform: fix several typos 2019-03-01 09:35:21 -05:00
qcom media: hfi_parser: don't trick gcc with a wrong expected size 2019-03-25 18:02:34 -04:00
rcar-vin media: rcar-csi2: Propagate the FLD signal for NTSC and PAL 2019-05-08 13:59:49 -04:00
rockchip/rga media: platform: fix several typos 2019-03-01 09:35:21 -05:00
s3c-camif media: platform: fix several typos 2019-03-01 09:35:21 -05:00
s5p-cec media: s5p_cec: use new cec_notifier_parse_hdmi_phandle helper 2019-04-22 13:12:07 -04:00
s5p-g2d media: replace strncpy() by strscpy() 2019-03-29 10:26:13 -04:00
s5p-jpeg media: platform: fix several typos 2019-03-01 09:35:21 -05:00
s5p-mfc Devicetree updates for v5.1: 2019-03-10 10:58:43 -07:00
seco-cec media: seco-cec: decrement HDMI device refcount 2019-04-22 13:14:24 -04:00
sti media: prefix header search paths with $(srctree)/ 2019-05-18 11:49:56 +09:00
stm32 media: stm32-dcmi: return appropriate error codes during probe 2019-04-30 13:48:14 -04:00
sunxi/sun6i-csi media: replace strncpy() by strscpy() 2019-03-29 10:26:13 -04:00
tegra-cec media: tegra-cec: fix cec_notifier_parse_hdmi_phandle return check 2019-05-08 14:02:45 -04:00
ti-vpe media: replace strncpy() by strscpy() 2019-03-29 10:26:13 -04:00
vicodec media: replace strncpy() by strscpy() 2019-03-29 10:26:13 -04:00
vimc media: vimc: propagate pixel format in the stream 2019-04-22 10:58:51 -04:00
vivid media: vivid: use vfree() instead of kfree() for dev->bitmap_cap 2019-04-22 11:43:50 -04:00
vsp1 drm pull request for 5.2 2019-05-08 21:35:19 -07:00
xilinx media: Kconfig files: use the right help coding style 2019-03-20 06:47:51 -04:00
aspeed-video.c media: platform: Aspeed: Make reserved memory optional 2019-04-30 13:50:47 -04:00
fsl-viu.c media: videobuf: use u64 for the timestamp internally 2019-02-07 12:11:19 -05:00
imx-pxp.c media: replace strncpy() by strscpy() 2019-03-29 10:26:13 -04:00
imx-pxp.h media: imx-pxp: add i.MX Pixel Pipeline driver 2018-09-11 13:32:17 -04:00
Kconfig media: platform: meson: Add Amlogic Meson G12A AO CEC Controller driver 2019-04-22 13:16:05 -04:00
m2m-deinterlace.c media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
Makefile media: soc_camera: Move to the staging tree 2019-02-18 12:09:19 -05:00
mx2_emmaprp.c media: replace strncpy() by strscpy() 2019-03-29 10:26:13 -04:00
pxa_camera.c media: pxa-camera: Match with device node, not the port node 2019-03-20 06:35:41 -04:00
rcar_drif.c media: rcar_drif: Remove devm_ioremap_resource() error printing 2019-03-19 13:44:38 -04:00
rcar_fdp1.c media: v4l: rcar_fdp1: Fix indentation oddities 2019-03-25 14:14:56 -04:00
rcar_jpu.c media: use strscpy() instead of strlcpy() 2018-09-11 13:32:17 -04:00
rcar-fcp.c Char/Misc driver patches for 4.19-rc1 2018-08-18 11:04:51 -07:00
renesas-ceu.c media: renesas-ceu: Use default mbus settings 2018-10-04 16:25:33 -04:00
sh_veu.c media: platform/sh_veu.c: remove redundant NULL pointer checks 2019-03-19 13:49:19 -04:00
sh_vou.c media: doc-rst: Fix broken references 2018-11-23 05:42:49 -05:00
via-camera.c media: replace strcpy() by strscpy() 2018-09-11 13:32:17 -04:00
via-camera.h media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
video-mux.c media: video-mux: fix null pointer dereferences 2019-03-29 07:42:37 -04:00
vim2m.c media: replace strncpy() by strscpy() 2019-03-29 10:26:13 -04:00