Hi Rob, Alex, Ben, All :)

I am Shashank Sharma, from Linux display team Intel, Bangalore.
We are planning to add a color management extension in the existing I915 
driver, for Intel HWs.
Plan was to provide a color correction and enhancement interface for any Linux 
based userspace, based on various HW capabilities.

We are now thinking that if we can generalize this implementation, in such a 
way that other drivers can also utilize this, this idea can act as an extension 
to the DRM framework itself.
Based on that thought, We have prepared a design for the same, and a rough 
implementation based on this design.

Would you all be kind enough to have a look at this design, and give us some 
feedback, so that we can implement this in a way best suitable to most of the 
drivers ?
We have gone through few rounds of design discussions internally (design 
contributors, reviewers in CC), and we all are moreover agree on the design 
(few comments still in progress).

The highlights of the design:

1.       The color correction capabilities of a HW are being registered as a 
DRM property of a CRTC / Plane (depending on a HW)

2.       Properties will be of blob type.

3.       New data structures will be added in DRM layer, to encoder and decode 
color correction and enhancement data.

4.       The color correction DRM properties would look like :

a.       Palette correction / programming based color properties (like gamma 
correction). This can support various coefficients counts and correction 
values, based on the underneath HW.

b.      Color transformation matrix based color correction (CSC, wide and 
narrow gamut mapping)

c.       Plane level corrections like gamma correction, hue, saturation, 
contrast and brightness.

d.      One blob type property to showcase the color correction capabilities to 
the userspace, superset of all other color correction properties.

5.       The driver's init function can create the superset color property, and 
show its color capabilities to the userspace.

6.       Userspace can query the current color correction Or apply a new color 
correction using a set/get property interface.

Please find the detailed design, in this shared google document:
https://docs.google.com/document/d/1jyfNSAStKHEpmIUZd_1Gd68cPuyiyr8wmJXThSDb_2w/
Please feel free to add more people in the design discussion, once we have some 
basic agreement on the design, we will share the patches in dri-devel level.

Regards
Shashank



-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20150622/e70b07d8/attachment.html>

Reply via email to