[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] sdl zooming
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [PATCH] sdl zooming |
Date: |
Wed, 24 Jun 2009 15:05:03 +0100 |
User-agent: |
Thunderbird 2.0.0.14 (X11/20080505) |
Anthony Liguori wrote:
> Hi Stefano,
>
> First, really neat patch.
Thank you, this time I spent a considerable amount of time in cleaning
the patch up and testing it so that it would be easier to merge.
> I was looking at this recently myself. I
> cannot tell quickly from looking at the code--perhaps not enough
> caffeine yet this morning. Is this nearest neighbor with some sort of
> smoothing mechanism on top?
The smooth==0 is a nearest neighbor algorithm, while the smooth==1 is a
bilinear interpolation.
>
> In my experiences with scaling VM displays, bilinear interpolation seems
> to fit the use case here well as it does best from 1.0-2.0x which is
> more or less what you'll commonly see.
>
> Bilinear interpolation can be implemented rather effectively on most
> processors and is usually hardware supported too. That suggests that
> using a library is the right approach to avoid maintaining
> platform-specific code.
>
> Cairo seems to be a good choice. It integrates well with SDL and is
> portable to all of the platforms we care about. It's a very simple API
> too for scaling. We use it in gtk-vnc and it has proven to be very good
> for this task.
>
> What do you think?
I think cairo is a good choice for a new qemu gtk-cairo frontend, but I
don't think that mixing cairo and sdl is a good idea.
Among other things they can have pixel format issues, and it seems to me
that cairo is only able to use 32bpp SDL_Surface.
If you really want a library than SDL_gfx should be used instead, but I
think is overkill.