RE: [RFC 0/5] Introduce drm sharpening property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is generic as sharpness effect is applied post blending. Depending on the color gamut, pixel format and other inputs the image gets blended and once we get blended output it can be sharpened based on strength value provided by the user.

On intel platform it is implemented through pipe scaler. Pipe scaler can be used as either scaler or sharpness filter.  As mentioned earlier the client can provide any strength value  between 0-255 or any other scale based on discussions.  Perhaps userspace can have provide options like low-med-high sharpness or in percentage form or steps which is mapped to 0-255.

I will add the documentation regarding property.

> -----Original Message-----
> From: dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Pekka
> Paalanen
> Sent: Friday, February 16, 2024 2:06 PM
> To: Garg, Nemesa <nemesa.garg@xxxxxxxxx>
> Cc: Simon Ser <contact@xxxxxxxxxxx>; intel-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-
> devel@xxxxxxxxxxxxxxxxxxxxx; G M, Adarsh <adarsh.g.m@xxxxxxxxx>
> Subject: Re: [RFC 0/5] Introduce drm sharpening property
> 
> On Fri, 16 Feb 2024 04:28:41 +0000
> "Garg, Nemesa" <nemesa.garg@xxxxxxxxx> wrote:
> 
> > It is not intel specific and the goal is to have a generic API for
> > configuring Sharpness, accessible to various vendors. Intel currently
> > offers sharpness support through the Display Engine, while other
> > vendors seem to support Sharpness through the GPU using GL shaders
> > (Vulcan/Open GL based).
> 
> Do you mean that all vendors use the exact same mathematical algorithm (with
> only differences in operation precision at most)?
> 
> If yes, good.
> 
> If not, then we need to know where exactly in the virtual KMS color pipeline the
> operation happens, whether this can be generic or not.
> 
> Does this also work the same regardless of pixel formats, dynamic range, color
> gamut, transfer functions etc. on both plane input and connector output
> configurations?
> 
> > In terms of sharpness intensity adjustment, the plan is to provide
> > users with the ability to customize and regulate sharpness levels. We
> > suggest setting a minimum and maximum strength range from 1 to 255,
> > where a value of 0 signifies that the sharpness feature is disabled,
> > indicated by a u8 data type. For now we have mapped the strength value
> > 0.0 to 14.9375 to 0-239 but as the datatype is u8 user can give value
> > upto 255 which is gets clamped to 239.
> 
> Naturally you will need to document all that, so that all drivers and vendors do the
> exact same thing.
> 
> I did not see any actual documentation in the patch series yet, e.g. a reference to
> a specific algorithm.
> 
> As Ville pointed out, there was also no specification at which point of the virtual
> color pipeline this operation will apply. Before/after
> DEGAMMA/CTM/GAMMA/scaling in plane/blending/CRTC?
> 
> Is the property being added to the list in
> https://dri.freedesktop.org/docs/drm/gpu/drm-kms.html#standard-crtc-
> properties
> or where-ever it belongs?
> 
> 
> Thanks,
> pq
> 
> > We are also open to have alternative scales, such as 1-100 or 1-10, as
> > long as a general consensus is reached within the community comprising
> > OEMs and vendors.
> >
> > > -----Original Message-----
> > > From: Simon Ser <contact@xxxxxxxxxxx>
> > > Sent: Thursday, February 15, 2024 2:03 PM
> > > To: Garg, Nemesa <nemesa.garg@xxxxxxxxx>
> > > Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx
> > > Subject: Re: [RFC 0/5] Introduce drm sharpening property
> > >
> > > How much of this is Intel-specific? Are there any hardware vendors
> > > with a similar feature? How much is the "sharpness" knob tied to
> > > Intel hardware?





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux