Currently, RECOIL only supports very basic Pixel Aspect Ratios: 2:1 and 1:2. This fixes the aspect ratio of the image for some simpler cases, like the PC-88.
But some other platforms require more fine-grained Pixel Aspect Ratio support. I attached here some examples of how the image are rendered by GV.EXE/Susie.EXE etc to look like the real hardware, and how RECOIL renders them.
Recently, I found out that there's a much simpler way to handle the Pixel Aspect Ratio that could be implemented on RECOIL.
Nowadays, recoilwin follows the following pipeline:
1) Decodes the image and applies the basic 1:2 or 2:1 correction.
2) Zooms the image according to the specified integer Zoom factor (1x, 2x, 3x or 4x)
All that's needed would be a third step. The previous two stay exactly the same:
3) Convert to 24bit and adjust the aspect ratio with some interpolation that produces few blur/artifacts, like GIMP's LoHalo
- For the MSX1/2/2+, this would be just to always extend the X axis by 1.138
- For the X68000 the Pixel Aspect Ratio depends on the video mode and would have to be obtained from the native file.
This ticket is overlapping with [#28]. See there for the progress made.
Related
Tickets: #28
As far as I'm concerned this is issue is basically solved now with the new API. Recoil just need to provide the info for all resolutions. IMHO calculating the horisontal and vertical pixels per meter for some TV of any size is sufficient since it's the ratio between the values that matters the most.