Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • W weston
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Sebastian Wick
  • weston
  • Merge requests
  • !1

WIP: Color management and HDR

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Vitaly Prosyak requested to merge vitalyp/weston:color-management-rebase-work into color-management-rebase Nov 08, 2020
  • Overview 0
  • Commits 4
  • Pipelines 1
  • Changes 14

This MR is a continuation of @pq, @swick, @NaveenKumar MR14.

There is also rebase work of this to Weston master. It is not fully functional yet.

What is included on top of @pq, @swick, @NaveenKumar CM work:

  • Luminance compression pipeline based on spec ITU-R BT.2390.See page 23 Calculating the EETF, RGB case. It is implemented using a plugin to LCMS.

    It is the first use case from the following road map.

  • The tone mapping is done into ICtCp color space. Please see Dolby White paper.

    The knee roll-off is calculated using a Hermite spline to create a mapping that will reduce the luminance range to the capability of the target display.

image

  • client application simple-hdr-video-gbm

How the flow works:

  1. The method into '/shared/color_utils.c' 'color_space_conversion_utils' accept two profiles : source and destination. Blending is currently temporally omitted for ease of explanation. Also, EDR value is not used.

  2. The assumption is that source and destination profiles have 'lumi' tag.

  3. Method 'CreateRGB_PrefixPQ' creates a virtual profile on the fly. PQ name appears because it was prototyped first for PQ EOTF, we expect to rename this. The function denormalizes to [0-1.0] and linearizes the input signal based on the OETF type. The next step is conversion to XYZ color space known as PCS (profile connected space).

  4. Method 'Create_csc_tm_profile' builds a virtual profile on the fly to do tone mapping based on BT2390 EETF as it mentioned above. The input signal is in XYZ color space linear, the output signal is in XYZ color space linear, but tone-mapped.

  5. Function 'CreateRGB_SuffixPQ' creates a destination profile. It uses PQ or 2.2, but it would be changed to 'vcgt' tag .
    The input signal is XYZ linear tone mapped, the output signal is target color space, nonlinear. The signal is normalized back to the destination luminance. Blending is currently omitted here.

  6. The 3 profiles transform is 'smelted' into resulting 3DLUT.

Edited Nov 08, 2020 by Vitaly Prosyak
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: color-management-rebase-work