mirror_ubuntu-kernels/Documentation
Dafna Hirschfeld b38c73ca1c media: v4l2: add support for colorspace conversion API (CSC) for video capture
For video capture it is the driver that reports the colorspace,
transfer function, Y'CbCr/HSV encoding and quantization range
used by the video, and there is no way to request something
different, even though many HDTV receivers have some sort of
colorspace conversion capabilities.

For output video this feature already exists since the application
specifies this information for the video format it will send out, and
the transmitter will enable any available CSC if a format conversion has
to be performed in order to match the capabilities of the sink.

For video capture we propose adding new v4l2_pix_format flag:
V4L2_PIX_FMT_FLAG_SET_CSC. The flag is set by the application,
the driver will interpret the colorspace, xfer_func, ycbcr_enc/hsv_enc
and quantization fields as the requested colorspace information and will
attempt to do the conversion it supports.

Drivers set the flags
V4L2_FMT_FLAG_CSC_COLORSPACE,
V4L2_FMT_FLAG_CSC_XFER_FUNC,
V4L2_FMT_FLAG_CSC_YCBCR_ENC/V4L2_FMT_FLAG_CSC_HSV_ENC,
V4L2_FMT_FLAG_CSC_QUANTIZATION,
in the flags field of the struct v4l2_fmtdesc during enumeration to
indicate that they support colorspace conversion for the respective field.

Drivers do not have to actually look at the flags. If the flags are not
set, then the fields 'colorspace', 'xfer_func', 'ycbcr_enc/hsv_enc',
and 'quantization' are set to the default values by the core, i.e. just
pass on the received format without conversion.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Dafna Hirschfeld <dafna.hirschfeld@collabora.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-09-26 10:20:57 +02:00
..
ABI powerpc/perf/hv-24x7: Move cpumask file to top folder of hv-24x7 driver 2020-08-21 23:35:27 +10:00
accounting
admin-guide media: usbvision: remove deprecated driver 2020-09-10 14:06:27 +02:00
arm ARM development for 5.9-rc1: 2020-08-06 10:17:00 -07:00
arm64 IOMMU Updates for Linux v5.9 2020-08-11 14:13:24 -07:00
block for-5.9/drivers-20200803 2020-08-05 10:51:40 -07:00
bpf doc: Add link to bpf helpers man page 2020-08-13 22:48:06 +02:00
cdrom A handful of obvious fixes that wandered in during the merge window. 2020-08-13 13:57:45 -07:00
core-api A handful of obvious fixes that wandered in during the merge window. 2020-08-13 13:57:45 -07:00
cpu-freq
crypto It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
dev-tools A handful of obvious fixes that wandered in during the merge window. 2020-08-13 13:57:45 -07:00
devicetree media: dt-bindings: media: document mediatek,mt8183-vcodec-enc 2020-09-26 10:06:29 +02:00
doc-guide
driver-api media: vidtv.rst: update it to better describe the frequencies 2020-09-17 12:00:58 +02:00
fault-injection nvme: rename and document nvme_end_request 2020-08-21 17:14:28 -06:00
fb drm next for 5.9-rc1 2020-08-05 19:50:06 -07:00
features A handful of obvious fixes that wandered in during the merge window. 2020-08-13 13:57:45 -07:00
filesystems affs: fix basic permission bits to actually work 2020-08-31 12:20:31 +02:00
firmware_class
firmware-guide ACPI: Replace HTTP links with HTTPS ones 2020-07-27 14:47:08 +02:00
fpga Char/Misc driver patches for 5.9-rc1 2020-08-05 11:43:47 -07:00
gpu - Core Frameworks 2020-08-11 13:48:02 -07:00
hid
hwmon Documentation: fix typo for abituguru documentation 2020-08-24 17:19:07 -06:00
i2c Merge branch 'i2c/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2020-08-13 18:41:00 -07:00
ia64 docs: ia64: correct typo 2020-07-31 11:09:09 -06:00
ide
iio
infiniband
input Input: uinput - fix typo in function name documentation 2020-07-28 18:24:11 -07:00
isdn
kbuild kbuild: Documentation: clean up makefiles.rst 2020-09-03 12:21:22 +09:00
kernel-hacking
leds LEDs changes for 5.9-rc1. 2020-08-05 19:24:27 -07:00
litmus-tests
livepatch
locking Documentation/locking/locktypes: fix local_locks documentation 2020-08-24 17:18:51 -06:00
m68k
maintainer Documentation: add riscv entry in list of existing profiles 2020-08-24 17:19:07 -06:00
mhi
mips It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
misc-devices
netlabel
networking doc: net: dsa: Fix typo in config code sample 2020-09-03 10:38:22 -07:00
nios2
nvdimm
openrisc
parisc
PCI pci-v5.9-changes 2020-08-07 18:48:15 -07:00
pcmcia
power Merge branches 'pm-sleep', 'pm-domains', 'powercap' and 'pm-tools' 2020-08-03 13:12:44 +02:00
powerpc Documentation/powerpc: fix malformed table in syscall64-abi 2020-08-27 17:40:55 +10:00
process docs: Fix function name trailing double-()s 2020-08-24 17:19:07 -06:00
RCU docs: Fix function name trailing double-()s 2020-08-24 17:19:07 -06:00
riscv
s390 It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
scheduler sched/doc: Factorize bits between sched-energy.rst & sched-capacity.rst 2020-08-01 09:19:43 +02:00
scsi
security
sh
sound ALSA: hda: use consistent HDAudio spelling in comments/docs 2020-09-02 19:31:32 +02:00
sparc
sphinx
sphinx-static
spi
staging remoteproc updates for v5.9 2020-08-11 11:17:45 -07:00
target
timers docs: timers: drop documentation about LB_BIAS 2020-07-23 14:32:44 -06:00
trace A handful of obvious fixes that wandered in during the merge window. 2020-08-13 13:57:45 -07:00
translations docs: Fix function name trailing double-()s 2020-08-24 17:19:07 -06:00
usb USB: Replace HTTP links with HTTPS ones 2020-07-21 13:41:57 +02:00
userspace-api media: v4l2: add support for colorspace conversion API (CSC) for video capture 2020-09-26 10:20:57 +02:00
virt powerpc updates for 5.9 2020-08-07 10:33:50 -07:00
vm mm/vmstat: add events for THP migration without split 2020-08-12 10:57:57 -07:00
w1
watchdog watchdog: add support for adjusting last known HW keepalive time 2020-08-05 18:43:02 +02:00
x86 It's been a busy cycle for documentation - hopefully the busiest for a 2020-08-04 22:47:54 -07:00
xtensa
.gitignore
asm-annotations.rst
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py
COPYING-logo
docutils.conf
dontdiff Documentation: dontdiff: Add zstd compressed files 2020-07-31 11:51:10 +02:00
index.rst docs: index.rst: Add watch_queue 2020-07-23 14:13:23 -06:00
Kconfig
logo.gif
Makefile
memory-barriers.txt powerpc updates for 5.9 2020-08-07 10:33:50 -07:00
SubmittingPatches
watch_queue.rst