[Scummvm-devel] Scaler updates

Oystein Eftevaag oystein at geheb.com
Wed Aug 9 09:31:04 CEST 2006


I'm not a core developer or anything, but just a few thoughts :).

I don't see any problem with introducing 4x scalers,
but I'd really like to see a more permanent solution in addition to
it (e.g. how long until we have to introduce 5x scalers, then 6x 
scalers, etc).

One option is an OpenGL arbitrary resolution scaler, but that has
other issues, and is really a parallell solution to our current scalers.
The other option that was discussed in the recent forum thread was being
able to chain scalers, which I quite like. I.e. you could run HQ2X
together with normal 2X, giving 4X scaling with some smoothing.

This could be done in a somewhat userfriendly way by letting
the user pick a desired vertical resolution (1024x, 1280x, etc) and
a base scaler (HQ3x, AdvMame2x, etc), and then automatically figuring
out what chain to use to achieve the requested resolution.

Chaining 2x and 3x scalers together can achieve pretty much any desired
resolution range, so it's a good longterm fix. The only reason to add
more scalers would then be to take advantage of more
horsepower (HQ4x) or new algorithms, not to support higher
resolutions.

--
Oystein Eftevaag


Michael Bandsmer wrote:
> I'm looking for the opinion of the core developers on whether I can do
> a bit of scaler revamping.  See
> <http://sourceforge.net/tracker/?func=detail&atid=418822&aid=1536248&group_id=37116>
> and lordhoto's suggestions there.
>
> The main reason I want to do this is to add support for very basic 4x
> scaling, to support full-screen operation for those of us with cheap
> LCD monitors.  These cheap LCD monitors are designed to run in their
> native resolutions, otherwise they (a) distort the pixel aspect ratio
> and (b) do ugly inter-pixel blurring -- hence my desire for ScummVM to
> do upscaling to 1280xN, which will support my LCD's native resolution
> while filling the whole screen-width.
>
> I submitted a first attempt at a patch for AdvMame4x and Normal4x (see
> above), but as lordhoto pointed out, this patch perpetuates a
> long-standing hack in our scalers, namely, that some scalers look
> beyond the borders of the requested rectangle in order to figure out
> how to draw the requested rectangle.  I believe this is done so that
> there aren't graphical glitches at the borders of updated rects.  In
> our current design, we accommodate this behavior by allocating an extra
> border around all surfaces to be scaled, to prevent out-of-bounds
> memory accesses.
>
> So I have 2 questions:
>
> (1) Would the inclusion of these simple 4x scalers be acceptable to the
> rest of the ScummVM development team?
>
> and
>
> (2) It was suggested (see above link) that our long-standing scaler
> hack be revisited and fixed somehow, as a prerequisite for the
> incorporation of these 4x scalers.  Do you agree with this?  Is the
> concept of a "MAX_SCALER_REACH" sufficient in order to address this
> (see my patch)?
>
> Note: lordhoto's other suggested prerequisite, i.e. a (4/3)x scaler,
> shouldn't be a problem---I'm happy to do this if we decide to go this
> route.
>
> Anyway, I'm looking forward to working on this, if a consensus can be
> reached that these 4x scalers are okay for general inclusion.
>
> Mike Bandsmer
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Scummvm-devel mailing list
> Scummvm-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/scummvm-devel
>   





More information about the Scummvm-devel mailing list