From: Ville Syrjälä ville.syrjala@linux.intel.com
Here's a refresh of Jyri's COLOR_ENCODING and COLOR_RANGE properties, and the i915 implementation I did on top. I tossed in a few core updates as well: plane state dump, and the BT.2020 constant luminance variant.
Apparently nouveau is already exposing a "iturbt_709" bool property which allows one to choose between BT.601 and BT.709 encodings, but given that we want at least BT.2020 in addition I don't think that property is good enough. Trying to implement it, and somehow extend it beyond BT.601 vs. BT.709 seems like wasted effort. Hence I think we should just ignore it and move on.
My userspace implementation in the form of intel ddx XV_COLORSPACE attribute: https://patchwork.freedesktop.org/patch/204696/
Cc: Harry Wentland harry.wentland@amd.com Cc: Daniel Vetter daniel@ffwll.ch Cc: Daniel Stone daniel@fooishbar.org Cc: Russell King - ARM Linux linux@armlinux.org.uk Cc: Ilia Mirkin imirkin@alum.mit.edu Cc: Hans Verkuil hverkuil@xs4all.nl Cc: Uma Shankar uma.shankar@intel.com Cc: Shashank Sharma shashank.sharma@intel.com
Jyri Sarha (1): drm: Add optional COLOR_ENCODING and COLOR_RANGE properties to drm_plane
Ville Syrjälä (7): drm: Add BT.2020 constant luminance enum value for the COLOR_ENCODING property drm/atomic: Include color encoding/range in plane state dump drm/i915: Correctly handle limited range YCbCr data on VLV/CHV drm/i915: Fix plane YCbCr->RGB conversion for GLK drm/i915: Add support for the YCbCr COLOR_ENCODING property drm/i915: Change the COLOR_ENCODING prop default value to BT.709 drm/i915: Add support for the YCbCr COLOR_RANGE property
drivers/gpu/drm/drm_atomic.c | 12 ++++ drivers/gpu/drm/drm_color_mgmt.c | 108 ++++++++++++++++++++++++++++ drivers/gpu/drm/drm_crtc_internal.h | 2 + drivers/gpu/drm/i915/i915_reg.h | 24 ++++++- drivers/gpu/drm/i915/intel_display.c | 25 +++++++ drivers/gpu/drm/i915/intel_drv.h | 2 + drivers/gpu/drm/i915/intel_sprite.c | 134 ++++++++++++++++++++++++++++------- include/drm/drm_color_mgmt.h | 20 ++++++ include/drm/drm_plane.h | 8 +++ 9 files changed, 309 insertions(+), 26 deletions(-)