Peace Monk wrote:
I did run freevo successfully via DirectFB (G400).  I messed around with the freevo 
config files, and I think I screwed it up.  I however, put back the original files and 
even reinstalled freevo, and am still getting errors.  The details are as follows:

I have Mplayer successfully runnong on DirectFB, so dFB works.

pygame-1.6, freevo-1.5-rc4, DirectFB 0.9.21, Kernel 2.6.7

When I run, freevo, I get the following. I did not find much in google. My TV is standard NTSC.

...

SDL_DirectFB: Unsupported pixelformat (0x00200806)!
Pygame Parachute Traceback:

That format is DSPF_YUY2, which Matrox CRTC2 is by default. In the SDL dfb output driver (in DFBToSDLPixelFormat()) it can't deal with YUY2. The reason it is trying YUY2 is because that's the format of CRTC2.


Why did it ever work? Who knows... it's voodoo magic and drove me nuts for a while. It may be possible that using or not using the SDL_DIRECTFB_MGA_* environment variables..

env | grep SDL
SDL_VIDEODRIVER=directfb
SDL_DIRECTFB_MGA_CRTC2=1


DirectFB applications have the power to change the pixel format of a layer (provided that it's supported in lower level code and hardware). Normally if an app realised it couldn't display in a specific pixel format it would change it. Also there's the pixelformat option in directfbrc file but it turns out that it only changes the format of FBDev Primary Layer, something that the author is planning on changing (to whatever primary-layer is). You can also change the format of a layer while there's a running dfb app using the dfblayer program, which doesn't fit well with Freevo.

How can you fix this? Well I was doing some directfb programming and messing with some other apps when this error was driving me insane. I decided to change the default format of CRTC2 in the DirectFB code:

Index: gfxdrivers/matrox/matrox_crtc2.c
===================================================================
RCS file: /cvs/directfb/DirectFB/gfxdrivers/matrox/matrox_crtc2.c,v
retrieving revision 1.28
diff -u -r1.28 matrox_crtc2.c
--- gfxdrivers/matrox/matrox_crtc2.c    29 Apr 2004 19:08:36 -0000      1.28
+++ gfxdrivers/matrox/matrox_crtc2.c    24 Aug 2004 22:03:18 -0000
@@ -152,7 +152,8 @@
                            DLCONF_OPTIONS;
      config->width       = 720;
      config->height      = ntsc ? 480 : 576;
-     config->pixelformat = DSPF_YUY2;
+     // config->pixelformat = DSPF_YUY2;
+     config->pixelformat = DSPF_RGB32;
      config->buffermode  = DLBM_FRONTONLY;
      config->options     = DLOP_NONE;


I left the old format commented out for posterity. :)


Now that Freevo is using mevas (in CVS) for its graphics and display it will be easier to do DirectFB and other displays such as dxr3, dvb (tv-out on full featured cards), and ivtv (pvr-350 tv-out). In fact, Jason already wrote mevas code to support ivtv, is is jus a matter of a few simple hooks inside Freevo.


So, starting this week (in code planning stage now) I am writing native DirectFB support for mevas, and therefore, Freevo. I want viewing Freevo over DirectFB to feel right, including no more "squigly lines shit" when starting a video. :)

-Rob



-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
Freevo-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-users

Reply via email to