On Freitag, 7. Oktober 2005 21:45, Ville Syrjälä wrote:
> On Fri, Oct 07, 2005 at 09:32:59PM +0200, Stefan Lucke wrote:
> > Hi,
> > 
> > when using stretchblit for downscaling 16:9 to 4:3 interlaced TV, I 
> > noticed some bad filtering effects. 
> > 
> > When I understood that right, downscale filters are described in 
> > G440 external june15 page 3-217. Directfb's matrox gfx driver sets 
> > this in matrox3d.c matroxTextureTriangles(), to MIN_ANISO.
> 
> Actually I don't think ANISO does anything beyond BILIN without 
> mipmapping. Also on G400/G450 aniso requires multitexturing to be enabled 
> and is still prone to lockups. At least that was my experience when 
> playing around with the Mesa mga driver. G200 doesn't support aniso at 
> all. G550 seems to be the only one to support it properly.
> 
> > Are other 
> > values more suitable for doing that kind of filtering ? Or should 
> > displaying downscaled interlaced video be done in another way ?
> > 
> > Separte fields of a frame, 
> > - downscale field 1, show field 1, 
> > - downscale field 2, show field 2,
> 
> Yes, fields should be scaled independently. I've though about doing that 
> but never needed it enough :)

Thanks for your reply but that's not the answer I wished to get. A easy
workaround for resolving that is getting a 16:9 TV ;-) , so no need to 
downscale.

So I think I know how to separate a frame into separate field buffers.
If a given frame has 576 lines I need 2 surfaces of 288 lines. Drawing
has to be done with stretchblit from YUV2 (field1) surface to an RGBA
surface, which has been allocated with DSCAPS_SEPARATED, upper half. 
Same has to be done for field2 (RGBA lower half). 
Or is this possible with one stretchblit from YUY2 DSCAPS_SEPARATED
allocated surface to one RGBA suface with the same capability ?

At least a simple test for setting the CRTC2 layer configuration with
DSCAPS_SEPARATED set, failed. Setting that flag to the source YUV2
surface had no visible effect on the stretchblit operation.

source surface:
field0
  line0 YUV2
  line2 YUV2
  ..
  line574 YUV2
field1
  line1 YUV2
  line3 YUV2
..
line575 YUV2

target surface (RGBA vertically downscaled)
field0
  line0 RGBA (undefined/black)
  ..
  line36 RGBA (video)
  ..
field1
  line1 RGBA (undefined/black)
 ..

Is DSCAPS_SEPARATED supported always or has that to be checked ?
Above test shows that it must be checked (as it is not supported). Working
with field separated surfaces would reuire some additional settings of
CRTC as for interlaced output 2 consecutive lines of one field are at
width offset (formerly width * 2 offset).

Sorry for my bad english if that is hard to understand.

-- 
Stefan Lucke


_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to