Project

General

Profile

Actions

Emulator Issues #8940

open

Raster Image Quality Options

Added by eckso about 9 years ago. Updated about 9 years ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Feature request
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Currently we are using a predefinied scaling kernel for upscaling/downscaling when the output frame doesn't match screen resolution (when fullscreen is on).

Coming from the restoration field I know how important is to make the right choice on scaling content, using plain bicubic filters is very different from using others like lanczos. Otherwise a number of problems can arise like aliasing, blurriness or ringing.

My suggestion is to use something along the lines of the state-of-the-art madVR video renderer. You can choose among some "cheap" bicubic kernels like bicubic (0.33,0.33), catmull-rom (0,0.5) or Mitchell-Netravali (0.378, 0.311), or the much better spline and lanczos with 3 or 4 taps each. There's also nnedi scaling but it's a bit out of the scope for this case (purpose and speed wise). What can be additionally implemented though is antiringing (lanczos rings a bit too much) and linear light scaling, the latter can be tricky if you want good looking linear light, for that is recommended to scale in CIE lab space* (read here: http://www.imagemagick.org/Usage/resize/#resize_lab). This scaling kernel should be employed for any kind of resizing (ideally the raster image should only be resized once accounting for both image-to-screen scaling and pixel or display aspect ratio scaling)

*A note on color spaces, I think the raster image should also adhere to a color space depending on output size so correct color management can be used on Dolphin.

Actions

Also available in: Atom PDF