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
