[v9 00/13] Add HDR Metadata Parsing and handling in DRM layer
Jonas Karlman
jonas at kwiboo.se
Sun May 12 20:12:16 UTC 2019
On 2019-05-08 20:38, Uma Shankar wrote:
> This patch series enables HDR support in drm. It basically defines
> HDR metadata structures, property to pass content (after blending)
> metadata from user space compositors to driver.
>
> Dynamic Range and Mastering infoframe creation and sending.
>
> ToDo:
> 1. We need to get the color framework in place for all planes
> which support HDR content in hardware. This is already in progres
> and patches are out for review in mailing list.
> 2. UserSpace/Compositors: Blending policies and metadata blob
> creation and passing to driver. Work is already in progress
> by Intel's middleware teams on wayland and the patches for
> the same are in review.
>
> A POC has already been developed by Ville based on wayland. Please refer
> below link to see the component interactions and usage:
> https://lists.freedesktop.org/archives/wayland-devel/2017-December/036403.html
>
> v2: Updated Ville's POC changes to the patch series.Incorporated cleanups
> and fixes from Ville. Rebase on latest drm-tip.
>
> v3: Fixed a warning causing builds to break on CI. No major change.
>
> v4: Addressed Shashank's review comments.
>
> v5: Rebase on top of Ville's infoframe refactoring changes. Fixed non modeset
> case for HDR metadata update. Dropped a redundant patch.
>
> v6: Addressed Shashank's review comments and added RB's received.
>
> v7: Squashed 2 patches, dropped 1 change and addressed Brian Starkey's and
> Shashank's review comments.
>
> v8: Addressed Jonas Karlman review comments. Added Shashank's RB to the series,
> fixed a WARN_ON on BYT/CHT.
>
> v9: Addressed Ville and Jonas Karlman's review comments. Added the infoframe
> state readout and metadata reference count.
>
> Note: This is already tested with Kodi and a confirmation from team kodi has been
> received. Branch details for the same as below:
> https://github.com/xbmc/xbmc/tree/feature_drmprime-vaapi
I have now re-tested this v9 series (non i915 parts) on Rockchip RK3328/RK3399 using Kodi HDR PR [1] and dw-hdmi patch [2].
Kodi sets the HDR output metadata property with metadata retrieved from FFmpeg, my LG OLED B7 correctly activates/deactivates HDR/HLG mode depending on video file played.
[1] https://github.com/xbmc/xbmc/pull/16103
[2] https://github.com/Kwiboo/linux-rockchip/commit/a9ccea6d3d51001f6b4ab9a1fb600a38e517b9ce
There is still a few minor nits, comment param name do not match function/field and ugly logging,
please see [3] for fixups, please feel free to squash/fixup.
[3] https://github.com/Kwiboo/linux-rockchip/compare/a9ccea6d3d51001f6b4ab9a1fb600a38e517b9ce...rockchip-5.1-libreelec-hdr-v5.1
For non-i915 drm patches:
Tested-by: Jonas Karlman <jonas at kwiboo.se>
Regards,
Jonas
>
> Jonas Karlman (1):
> drm: Add reference counting on HDR metadata blob
>
> Uma Shankar (10):
> drm: Add HDR source metadata property
> drm: Parse HDR metadata info from EDID
> drm: Enable HDR infoframe support
> drm/i915: Attach HDR metadata property to connector
> drm/i915: Write HDR infoframe and send to panel
> drm/i915:Enabled Modeset when HDR Infoframe changes
> drm/i915: Set Infoframe for non modeset case for HDR
> drm/i915: Added DRM Infoframe handling for BYT/CHT
> video/hdmi: Add Unpack function for DRM infoframe
> drm/i915: Add state readout for DRM infoframe
>
> Ville Syrjälä (2):
> drm: Add HLG EOTF
> drm/i915: Enable infoframes on GLK+ for HDR
>
> drivers/gpu/drm/drm_atomic.c | 2 +
> drivers/gpu/drm/drm_atomic_state_helper.c | 6 +
> drivers/gpu/drm/drm_atomic_uapi.c | 13 ++
> drivers/gpu/drm/drm_connector.c | 6 +
> drivers/gpu/drm/drm_edid.c | 101 +++++++++++++
> drivers/gpu/drm/i915/i915_reg.h | 4 +
> drivers/gpu/drm/i915/intel_atomic.c | 14 +-
> drivers/gpu/drm/i915/intel_ddi.c | 17 +++
> drivers/gpu/drm/i915/intel_display.c | 1 +
> drivers/gpu/drm/i915/intel_drv.h | 1 +
> drivers/gpu/drm/i915/intel_hdmi.c | 100 ++++++++++++-
> drivers/video/hdmi.c | 240 ++++++++++++++++++++++++++++++
> include/drm/drm_connector.h | 11 ++
> include/drm/drm_edid.h | 5 +
> include/drm/drm_mode_config.h | 6 +
> include/linux/hdmi.h | 55 +++++++
> include/uapi/drm/drm_mode.h | 23 +++
> 17 files changed, 598 insertions(+), 7 deletions(-)
>
More information about the dri-devel
mailing list