[Savage40] interpolation issue

Alex Deucher agd5f at yahoo.com
Mon Apr 4 09:07:38 PDT 2005


--- Mark Spieth <mark at dclabs.com.au> wrote:
> hi 
> first of all thanks for the hard work.
> I have dri on a proddr working fine (pci 8d04)
> There is one problem that I have noticed.
> When using savage Xv (dri-trunk 2005-02-08 debian) with mythtv where
> the vert lines are < total vert lines it seems to interpolate.
> however it does it badly.
> it seems to invert the interpolation lines between the 2 lines in
> question.
> I dont have a copy of the data sheet so not sure what regs and bits
> can change this.
> it seems to use the new parts from what I have determined which
> doiesnt have interpolation control.
> Ive been experimenting for a while now but its too much like hunting
> in the dark.
> 
> example 2 lines
> 
> _____0_____
> 
> _000000000_
> 
> example interpolation seq
> _____0_____
> __0000000__
> ___00000___
> ____000____
> _000000000_
> 
> when viewing this its very annoying. at first I thought it was an
> interlace problem but all my tests indicate not.
> only happens in accel mode. If I turn dri off, its fine (but slow
> as).
> Is it possible to get a copy of the data sheet from someone or can
> someone suggest some regs and bitmaps to 
> I can try to fix this.
> cheers
> mark

vertical interpolation is problematic on savages with the old streams
engine.  depending on which version of the driver you are using it may
not be enabled at all.  the default is line doubling, more recent
version of the savage driver in xorg cvs have actual interpolation
enabled, but it seems to be a bit bandwidth intensive and doesn't
always work properly at least in my experience.  take a look at
SavageDispalyVideoOld() in savage_video.c.  one of the bits in one of
the vertical scaling register handles vertical interpolation:

    /*
     * MM81E8:Secondary Stream Source Line Count
     *   bit_0~10: # of lines in the source image (before scaling)
     *   bit_15 = 1: Enable vertical interpolation
     *            0: Line duplicaion
     */

http://cvs.freedesktop.org/xorg/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_video.c?rev=1.10&view=markup

in xorg cvs there is an xv attribute I added to enable or disable the
verical interpolation.  you'll probably need xvattr or something
similar to mess with it.  You may also want to disable the use of the
BCI for Xv as that can cause problems sometimes as well (xorg config
option).

Alex




		
__________________________________ 
Do you Yahoo!? 
Yahoo! Personals - Better first dates. More second dates. 
http://personals.yahoo.com



More information about the Savage40 mailing list