linux/drivers
Sylwester Nawrocki dafb9c70ab [media] s5p-fimc: Add support for alpha component configuration
On Exynos SoCs the FIMC IP allows to configure globally the alpha
component of all pixels for V4L2_PIX_FMT_RGB32, V4L2_PIX_FMT_RGB555
and V4L2_PIX_FMT_RGB444 image formats. This patch adds a v4l2 control
in order to let the applications control the alpha component value.

The alpha value range depends on the pixel format, for RGB32 it's
0..255 (8-bits), for RGB555 - 0..1 (1-bit) and for RGB444 - 0..15
(4-bits). The v4l2 control range is always 0..255 and the alpha
component data width is determined by currently set format on the
V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE buffer queue. The applications
need to match the alpha channel value range and the pixel format
since the driver will clamp the alpha component. Depending on
fourcc the valid alpha bits are:

 - V4L2_PIX_FMT_RGB555  [0]
 - V4L2_PIX_FMT_RGB444  [3:0]
 - V4L2_PIX_FMT_RGB32   [7:0]

When switching to a pixel format with smaller alpha component width
the currently set alpha value will be clamped to maximum value valid
for current format. When switching to a format with wider alpha the
alpha value remains unchanged.

The variant description data structure is extended with a new entry
so an additional control is created only where really supported by
the hardware.

V4L2_PIX_FMT_RGB555 and V4L2_PIX_FMT_RGB444 formats are only valid
for V4L2_BUF_TYPE_VIDEO_CAPTURE buffer queue.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-12-30 14:06:14 -02:00
..
accessibility
acpi
amba
ata pata_of_platform: Add missing CONFIG_OF_IRQ dependency. 2011-12-22 15:00:32 -05:00
atm
auxdisplay
base PM / Driver core: leave runtime PM enabled during system shutdown 2011-12-07 22:26:56 +01:00
bcma
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2011-12-16 10:05:14 -08:00
bluetooth Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem 2011-12-09 14:07:12 -05:00
cdrom
char ipmi_watchdog: restore settings when BMC reset 2011-12-20 10:25:04 -08:00
clk
clocksource
connector
cpufreq
cpuidle
crypto Merge git://github.com/herbertx/crypto 2011-11-25 21:55:07 -08:00
dca
devfreq
dio
dma
edac drivers/edac/mpc85xx_edac.c: fix memory controller compatible for edac 2011-11-24 01:59:38 -06:00
eisa
firewire
firmware Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft 2011-12-15 14:16:47 -08:00
gpio gpio: Fix DA9052 GPIO build errors. 2011-12-15 11:25:43 -07:00
gpu vmwgfx: Clip cliprects against screen boundaries in present and dirty 2011-12-19 14:06:05 +00:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2011-12-02 08:25:46 -08:00
hv
hwmon hwmon: (jz4740) Staticise jz4740_hwmon_driver 2011-12-12 08:31:21 -08:00
hwspinlock
i2c i2c-eg20t: correct the driver init order of pch_i2c_probe() 2011-12-18 11:46:42 +00:00
ide
idle
ieee802154
infiniband Merge branches 'cma', 'mlx4' and 'qib' into for-next 2011-12-19 09:19:49 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-12-19 15:11:12 -08:00
iommu Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~keithp/linux 2011-12-16 11:27:56 -08:00
isdn isdn: avoid copying too long drvid 2011-11-29 18:39:37 -05:00
leds
lguest
macintosh
mca
md md/bitmap: It is OK to clear bits during recovery. 2011-12-23 09:57:48 +11:00
media [media] s5p-fimc: Add support for alpha component configuration 2011-12-30 14:06:14 -02:00
memstick
message
mfd mfd: Include linux/io.h to jz4740-adc 2011-12-20 18:53:26 +01:00
misc Merge branch 'char-misc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc 2011-11-21 20:36:05 -08:00
mmc mmc: vub300: fix type of firmware_rom_wait_states module parameter 2011-12-19 15:56:09 -08:00
mtd mtd: plat_ram: call mtd_device_register only if partition data exists 2011-12-19 11:13:52 +00:00
net Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem 2011-12-21 13:18:22 -05:00
nfc
nubus
of of/irq: Get rid of NO_IRQ usage 2011-12-07 09:06:37 -08:00
oprofile oprofile: Fix uninitialized memory access when writing to writing to oprofilefs 2011-12-19 17:18:43 +01:00
parisc
parport
pci pci: Fix hotplug of Express Module with pci bridges 2011-12-18 14:10:16 -08:00
pcmcia
pinctrl
platform toshiba_acpi: Fix machines that don't support HCI_SYSTEM_EVENT 2011-12-05 13:07:28 -05:00
pnp
power x86/mrst: Battery fixes 2011-12-05 17:06:37 +01:00
pps
ps3
ptp ptp: Fix clock_getres() implementation 2011-12-06 11:38:32 +01:00
rapidio rapidio/tsi721: modify PCIe capability settings 2011-12-09 07:50:29 -08:00
regulator regulator: twl: fix twl4030 support for smps regulators 2011-11-28 18:58:31 +00:00
rtc Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-12-20 11:42:38 -08:00
s390 [SCSI] zfcp: return early from slave_destroy if slave_alloc returned early 2011-12-14 15:40:43 +04:00
sbus sbus: convert drivers/sbus/char/* to use module_platform_driver() 2011-12-04 10:46:58 -08:00
scsi [SCSI] fcoe: fix fcoe in a DCB environment by adding DCB notifiers to set skb priority 2011-12-15 11:02:07 +04:00
sfi
sh
sn
spi spi/gpio: fix section mismatch warning 2011-12-07 22:17:39 +01:00
ssb Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem 2011-12-09 14:07:12 -05:00
staging Merge tag 'v3.2-rc7' into staging/for_v3.3 2011-12-30 13:59:37 -02:00
target iscsi-target: Fix hex2bin warn_unused compile message 2011-12-06 06:00:59 +00:00
tc
telephony
thermal
tty Merge branch 'tty-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 2011-11-21 20:36:46 -08:00
uio
usb Merge branch 'for-greg' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus 2011-12-21 14:42:49 -08:00
uwb
vhost
video viafb: correct sync polarity for OLPC DCON 2011-11-22 00:56:17 +00:00
virt
virtio virtio-pci: make reset operation safer 2011-11-24 13:04:48 +10:30
vlynq
w1
watchdog
xen Revert "xen/pv-on-hvm kexec: add xs_reset_watches to shutdown watches from old kernel" 2011-12-19 09:30:35 -05:00
zorro
Kconfig
Makefile