From: Hans Verkuil <hans.verkuil@xxxxxxxxx> Until now the colorspace define also implied which transfer function should be used (sometimes known - incorrectly - as the gamma). After doing more research it is clear that this should be split off as a separate value. I always left the door open for this since I suspected I would have to do it at some point. The reasons for this are: 1) Most compressed (if not all) formats provide this as a separate setting as well, and also EDIDs supply it as a separate setting. 2) OpenGL uses linear RGB (i.e. no transfer function was applied at all to the R, G and B components), and that cannot currently be represented as long as it is implicitly specified by the colorspace. 3) While in theory HDMI video that uses e.g. sRGB should use the sRGB transfer function as well, in practice a different transfer function such as Rec.709 might be used (I've seen this happen). You need to be able to represent that, and the only way to do that is by making it a separate setting. This patch series adds support for this. Regards, Hans Hans Verkuil (9): videodev2.h: add support for transfer functions DocBook/media: document new xfer_func fields. adv7511: add xfer_func support am437x-vpfe: add support for xfer_func vivid: add xfer_func support. vivid-tpg: precalculate colorspace/xfer_func combinations cobalt: support transfer function cobalt: simplify colorspace code vivid.txt: update the vivid documentation Documentation/DocBook/media/v4l/pixfmt.xml | 113 ++++- Documentation/DocBook/media/v4l/subdev-formats.xml | 12 +- Documentation/video4linux/vivid.txt | 30 +- drivers/media/i2c/adv7511.c | 5 + drivers/media/pci/cobalt/cobalt-driver.h | 1 + drivers/media/pci/cobalt/cobalt-v4l2.c | 17 +- drivers/media/platform/am437x/am437x-vpfe.c | 3 +- drivers/media/platform/vivid/vivid-core.h | 1 + drivers/media/platform/vivid/vivid-ctrls.c | 58 ++- drivers/media/platform/vivid/vivid-tpg-colors.c | 478 ++++++++++++++++----- drivers/media/platform/vivid/vivid-tpg-colors.h | 4 +- drivers/media/platform/vivid/vivid-tpg.c | 13 +- drivers/media/platform/vivid/vivid-tpg.h | 19 + drivers/media/platform/vivid/vivid-vid-cap.c | 9 + drivers/media/platform/vivid/vivid-vid-common.c | 2 + drivers/media/platform/vivid/vivid-vid-out.c | 4 + drivers/media/v4l2-core/v4l2-ioctl.c | 9 +- include/media/v4l2-mediabus.h | 2 + include/uapi/linux/v4l2-mediabus.h | 4 +- include/uapi/linux/videodev2.h | 41 +- 20 files changed, 640 insertions(+), 185 deletions(-) -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html