[Intel-gfx] [RFC 0/2] Enable Nearest-neighbor for Integer mode scaling

Sharma, Shashank shashank.sharma at intel.com
Wed Sep 4 15:17:10 UTC 2019


On 9/4/2019 5:56 PM, Ville Syrjälä wrote:
> On Wed, Sep 04, 2019 at 08:32:09AM +0530, Sharma, Shashank wrote:
>> Hello Ville,
>>
>> On 9/3/2019 10:50 PM, Ville Syrjälä wrote:
>>> On Tue, Sep 03, 2019 at 10:22:25PM +0530, Shashank Sharma wrote:
>>>> Blurry outputs during upscaling the buffer, is a generic problem of gfx
>>>> industry. One of the major reason behind this blurriness is the
>>>> interpolation of pixel values used by most of the upscaling hardwares.
>>>>
>>>> Nearest-neighbor is a scaling mode, which works by filling in the missing
>>>> color values in the upscaled image with that of the coordinate-mapped
>>>> nearest source pixel value.
>>>>
>>>> Nearest-neighbor can produce (almost) non-blurry scaling outputs when
>>>> the scaling ratio is complete integer. For example:
>>>> - input buffer resolution: 1280x720(HD)
>>>> - output buffer resolution: 3840x2160(UHD/4K)
>>>> - scaling ratio (h) = 3840/1280 = 3
>>>>     scaling ratio (v) = 2160/720 = 3
>>>> In such scenarios, we should try to pick Nearest-neighbor as scaling
>>>> method when possible.
>>>>
>>>> Many gaming communities have been asking for integer-mode scaling
>>>> support, some links and background:
>>>> https://software.intel.com/en-us/articles/integer-scaling-support-on-intel-graphics
>>>> http://tanalin.com/en/articles/lossless-scaling/
>>>> https://community.amd.com/thread/209107
>>>> https://www.nvidia.com/en-us/geforce/forums/game-ready-drivers/13/1002/feature-request-nonblurry-upscaling-at-integer-rat/
>>>>
>>>> This patch series enables NN scaling on Intel display (ICL), when the upscaling
>>>> ratio is integer.
>>> I think we'd probably want a property for this sort of stuff. igt
>>> could perhaps also use it to enable crc based scaling tests.
>> I was initially planning to attach this to scaling mode property,
>> probably create a new option in there called "Integer mode scaling" or
>> we can use the "maintain aspect ratio" sub-option too. Do you think it
>> would make sense ? Or should we create a new property altogether ?
> I was thinking a new prop. It would also expose the possibility of
> adding even more filter/window functions. Maybe someone wants a
> linear filter for instance.
Sounds good.
>>> Another problem is that we currently don't expose the panel fitter
>>> for external displays so this would be limited to eDP/DSI only.
>>> I have a branch that implements borders (for underscan) for DP/HDMI
>>> which is at least moving the code a little bit into a direction where
>>> we could consider exposing the panel fitter for external displays.
>> This would be very interesting, do you have any plans to publish this soon ?
> I can send it out. Been hanging on to it because there's other pending
> stuff on the list as well, but a few more patches probably won't hurt :)

Looking forward to it, then :)

- Shashank



More information about the Intel-gfx mailing list