And here's the ALUT44 patch for mplayer.

-- 
Ville Syrj�l�
[EMAIL PROTECTED]
http://www.sci.fi/~syrjala/
--- main/libvo/vo_dfbmga.c      2003-02-19 18:01:46.000000000 +0200
+++ main/libvo/vo_dfbmga.c      2003-03-19 18:39:50.000000000 +0200
@@ -143,7 +143,11 @@
      case DSPF_I420:
          return "I420";
      case DSPF_LUT8:
-         return "LUT8";
+         return "LUT8"; 
+#if DIRECTFBVERSION > 916
+     case DSPF_ALUT44:
+         return "ALUT44";
+#endif
      default:
          return "Unknown pixel format";
      }
@@ -523,7 +527,11 @@
           spic->SetOpacity( spic, 0 );
 
           dlc.flags       = DLCONF_PIXELFORMAT | DLCONF_BUFFERMODE;
+#if DIRECTFBVERSION > 916
+          dlc.pixelformat = DSPF_ALUT44;
+#else
           dlc.pixelformat = DSPF_LUT8;
+#endif
           dlc.buffermode  = DLBM_BACKVIDEO;
 #if DIRECTFBVERSION > 916
           dlc.flags      |= DLCONF_OPTIONS;
@@ -548,9 +556,9 @@
           }
           palette->Release( palette );
 
-          subframe->Clear( subframe, 0, 0, 0, 0xff );
+          subframe->Clear( subframe, 0, 0, 0, 0 );
           subframe->Flip( subframe, NULL, 0 );
-          subframe->Clear( subframe, 0, 0, 0, 0xff );
+          subframe->Clear( subframe, 0, 0, 0, 0 );
      } else if (use_crtc2) {
           /* Draw OSD to CRTC2 surface */
           subframe = c2frame;
@@ -610,12 +618,12 @@
 }
 
 static void
-vo_draw_alpha_lut8( int w, int h,
-                    unsigned char* src,
-                    unsigned char *srca,
-                    int srcstride,
-                    unsigned char* dst,
-                    int dststride )
+vo_draw_alpha_alut44( int w, int h,
+                      unsigned char* src,
+                      unsigned char *srca,
+                      int srcstride,
+                      unsigned char* dst,
+                      int dststride )
 {
      int x;
 
@@ -656,10 +664,14 @@
           return;
 
      switch (subframe_format) {
+#if DIRECTFBVERSION > 916
+     case DSPF_ALUT44:
+#else
      case DSPF_LUT8:
-          vo_draw_alpha_lut8( w, h, src, srca, stride,
-                              ((uint8_t *) dst) + pitch * y0 + subframe_pixel_size * 
x0,
-                              pitch );
+#endif
+          vo_draw_alpha_alut44( w, h, src, srca, stride,
+                                ((uint8_t *) dst) + pitch * y0 + subframe_pixel_size 
* x0,
+                                pitch );
           break;
      case DSPF_RGB32:
      case DSPF_ARGB:
@@ -778,7 +790,7 @@
      
      if (osd_dirty & osd_current) {
           if (use_spic) {
-               subframe->Clear( subframe, 0, 0, 0, 0xff );
+               subframe->Clear( subframe, 0, 0, 0, 0 );
           } else if (use_crtc2) {
                /* Clear black bars around the picture */
                subframe->SetColor( subframe, 0, 0, 0, 0xff );

Reply via email to